c_src: regenerate with soft nullable handling
[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 struct WBT_ **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 struct WBT_ **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 struct WBT_ **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 struct WBT_ **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[4];
44 struct WBT_ **closurevariable = NULL;
45 trace.prev = tracehead; tracehead = &trace;
46 trace.file = LOCATE_parser;
47 /* Register variable[0]: Local variable */
48 variable[0] = self;
49 /* Register variable[1]: Local variable */
50 variable[1] = param0;
51 /* Register variable[2]: Local variable */
52 variable[2] = param1;
53 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_State].i]) return;
54 /* Register variable[3]: Method return value and escape marker */
55 ATTR_parser___State____state(variable[0]) /*State::_state*/ = variable[1] /*state*/;
56 ATTR_parser___State____nodes(variable[0]) /*State::_nodes*/ = variable[2] /*nodes*/;
57 return_label0: while(false);
58 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_State].i] = 1;
59 tracehead = trace.prev;
60 return;
61 }
62 void parser___Parser___init(val_t self, val_t param0, int* init_table) {
63 struct trace_t trace = {NULL, NULL, 34, LOCATE_parser___Parser___init};
64 val_t variable[4];
65 struct WBT_ **closurevariable = NULL;
66 trace.prev = tracehead; tracehead = &trace;
67 trace.file = LOCATE_parser;
68 /* Register variable[0]: Local variable */
69 variable[0] = self;
70 /* Register variable[1]: Local variable */
71 variable[1] = param0;
72 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Parser].i]) return;
73 /* Register variable[2]: Method return value and escape marker */
74 ATTR_parser___Parser____lexer(variable[0]) /*Parser::_lexer*/ = variable[1] /*lexer*/;
75 /* Register variable[3]: Result */
76 variable[3] = NEW_Array_array___Array___init() /*new Array[State]*/;
77 ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/ = variable[3];
78 /* Register variable[3]: Result */
79 variable[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
80 ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/ = variable[3];
81 CALL_parser_tables___ParserTable___build_goto_table(variable[0])(variable[0]) /*ParserTable::build_goto_table*/;
82 CALL_parser_tables___ParserTable___build_action_table(variable[0])(variable[0]) /*ParserTable::build_action_table*/;
83 CALL_parser___Parser___build_reduce_table(variable[0])(variable[0]) /*Parser::build_reduce_table*/;
84 return_label1: while(false);
85 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Parser].i] = 1;
86 tracehead = trace.prev;
87 return;
88 }
89 val_t parser___Parser___go_to(val_t self, val_t param0) {
90 struct trace_t trace = {NULL, NULL, 45, LOCATE_parser___Parser___go_to};
91 val_t variable[14];
92 struct WBT_ **closurevariable = NULL;
93 trace.prev = tracehead; tracehead = &trace;
94 trace.file = LOCATE_parser;
95 /* Register variable[0]: Local variable */
96 variable[0] = self;
97 /* Register variable[1]: Local variable */
98 variable[1] = param0;
99 /* Register variable[2]: Method return value and escape marker */
100 /* Register variable[3]: Local variable */
101 /* Register variable[4]: Result */
102 variable[4] = CALL_parser___Parser___state(variable[0])(variable[0]) /*Parser::state*/;
103 variable[3] = variable[4];
104 /* Register variable[4]: Local variable */
105 /* Register variable[5]: Result */
106 variable[5] = ATTR_parser_tables___ParserTable____goto_table(variable[0]) /*ParserTable::_goto_table*/;
107 /* Register variable[6]: Local variable */
108 variable[6] = variable[5];
109 /* Register variable[7]: Local variable */
110 variable[7] = variable[1] /*index*/;
111 /* Register variable[8]: Method return value and escape marker */
112 /* Register variable[9]: Result */
113 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
114 /* Ensure var variable[9]: Left 'and' operand*/
115 if (UNTAG_Bool(variable[9])) { /* and */
116 /* Register variable[9]: Result */
117 variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
118 /* Register variable[9]: Result */
119 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
120 }
121 /* Register variable[9]: Result */
122 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
123 /* Register variable[9]: Result */
124 variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
125 /* Register variable[9]: Result */
126 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
127 variable[8] = variable[9];
128 goto return_label3;
129 return_label3: while(false);
130 /* Register variable[5]: Result */
131 variable[5] = variable[8];
132 variable[4] = variable[5];
133 /* Register variable[5]: Local variable */
134 variable[5] = TAG_Int(1);
135 /* Register variable[6]: Local variable */
136 /* Register variable[7]: Result */
137 variable[7] = CALL_abstract_collection___Collection___length( variable[4] /*table*/)( variable[4] /*table*/) /*AbstractArrayRead::length*/;
138 /* Register variable[7]: Result */
139 variable[7] = TAG_Int(UNTAG_Int(variable[7])/UNTAG_Int( TAG_Int(2)));
140 /* Register variable[7]: Result */
141 variable[7] = TAG_Int(UNTAG_Int(variable[7])-UNTAG_Int( TAG_Int(1)));
142 variable[6] = variable[7];
143 while (true) { /*while*/
144 /* Register variable[7]: Result */
145 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*low*/)<=UNTAG_Int( variable[6] /*high*/));
146 if (!UNTAG_Bool(variable[7])) break; /* while*/
147 /* Register variable[7]: Local variable */
148 /* Register variable[8]: Result */
149 variable[8] = TAG_Int(UNTAG_Int( variable[5] /*low*/)+UNTAG_Int( variable[6] /*high*/));
150 /* Register variable[8]: Result */
151 variable[8] = TAG_Int(UNTAG_Int(variable[8])/UNTAG_Int( TAG_Int(2)));
152 variable[7] = variable[8];
153 /* Register variable[8]: Local variable */
154 /* Register variable[9]: Result */
155 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)*UNTAG_Int( TAG_Int(2)));
156 variable[8] = variable[9];
157 /* Register variable[9]: Local variable */
158 variable[9] = variable[4] /*table*/;
159 /* Register variable[10]: Local variable */
160 variable[10] = variable[8] /*subindex*/;
161 /* Register variable[11]: Method return value and escape marker */
162 /* Register variable[12]: Result */
163 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
164 /* Ensure var variable[12]: Left 'and' operand*/
165 if (UNTAG_Bool(variable[12])) { /* and */
166 /* Register variable[12]: Result */
167 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
168 /* Register variable[12]: Result */
169 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
170 }
171 /* Register variable[12]: Result */
172 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
173 /* Register variable[12]: Result */
174 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
175 /* Register variable[12]: Result */
176 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
177 variable[11] = variable[12];
178 goto return_label5;
179 return_label5: while(false);
180 /* Register variable[9]: Result */
181 variable[9] = variable[11];
182 /* Register variable[9]: Result */
183 variable[9] = TAG_Bool(UNTAG_Int( variable[3] /*state*/)<UNTAG_Int(variable[9]));
184 if (UNTAG_Bool(variable[9])) { /*if*/
185 /* Register variable[9]: Result */
186 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)-UNTAG_Int( TAG_Int(1)));
187 variable[6] = variable[9] /*high=*/;
188 } else { /*if*/
189 /* Register variable[9]: Local variable */
190 variable[9] = variable[4] /*table*/;
191 /* Register variable[10]: Local variable */
192 variable[10] = variable[8] /*subindex*/;
193 /* Register variable[11]: Method return value and escape marker */
194 /* Register variable[12]: Result */
195 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
196 /* Ensure var variable[12]: Left 'and' operand*/
197 if (UNTAG_Bool(variable[12])) { /* and */
198 /* Register variable[12]: Result */
199 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
200 /* Register variable[12]: Result */
201 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
202 }
203 /* Register variable[12]: Result */
204 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
205 /* Register variable[12]: Result */
206 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
207 /* Register variable[12]: Result */
208 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
209 variable[11] = variable[12];
210 goto return_label6;
211 return_label6: while(false);
212 /* Register variable[9]: Result */
213 variable[9] = variable[11];
214 /* Register variable[9]: Result */
215 variable[9] = TAG_Bool(UNTAG_Int( variable[3] /*state*/)>UNTAG_Int(variable[9]));
216 if (UNTAG_Bool(variable[9])) { /*if*/
217 /* Register variable[9]: Result */
218 variable[9] = TAG_Int(UNTAG_Int( variable[7] /*middle*/)+UNTAG_Int( TAG_Int(1)));
219 variable[5] = variable[9] /*low=*/;
220 } else { /*if*/
221 /* Register variable[9]: Result */
222 variable[9] = TAG_Int(UNTAG_Int( variable[8] /*subindex*/)+UNTAG_Int( TAG_Int(1)));
223 /* Register variable[10]: Local variable */
224 variable[10] = variable[4] /*table*/;
225 /* Register variable[11]: Local variable */
226 variable[11] = variable[9];
227 /* Register variable[12]: Method return value and escape marker */
228 /* Register variable[13]: Result */
229 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
230 /* Ensure var variable[13]: Left 'and' operand*/
231 if (UNTAG_Bool(variable[13])) { /* and */
232 /* Register variable[13]: Result */
233 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
234 /* Register variable[13]: Result */
235 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
236 }
237 /* Register variable[13]: Result */
238 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
239 /* Register variable[13]: Result */
240 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
241 /* Register variable[13]: Result */
242 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
243 variable[12] = variable[13];
244 goto return_label7;
245 return_label7: while(false);
246 /* Register variable[9]: Result */
247 variable[9] = variable[12];
248 variable[2] = variable[9];
249 goto return_label2;
250 }
251 }
252 continue_4: while(0);
253 }
254 break_4: while(0);
255 /* Register variable[7]: Local variable */
256 variable[7] = variable[4] /*table*/;
257 /* Register variable[8]: Local variable */
258 variable[8] = TAG_Int(1);
259 /* Register variable[9]: Method return value and escape marker */
260 /* Register variable[10]: Result */
261 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
262 /* Ensure var variable[10]: Left 'and' operand*/
263 if (UNTAG_Bool(variable[10])) { /* and */
264 /* Register variable[10]: Result */
265 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
266 /* Register variable[10]: Result */
267 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
268 }
269 /* Register variable[10]: Result */
270 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
271 /* Register variable[10]: Result */
272 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
273 /* Register variable[10]: Result */
274 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
275 variable[9] = variable[10];
276 goto return_label8;
277 return_label8: while(false);
278 /* Register variable[7]: Result */
279 variable[7] = variable[9];
280 variable[2] = variable[7];
281 goto return_label2;
282 return_label2: while(false);
283 tracehead = trace.prev;
284 return variable[2];
285 }
286 void parser___Parser___push(val_t self, val_t param0, val_t param1) {
287 struct trace_t trace = {NULL, NULL, 69, LOCATE_parser___Parser___push};
288 val_t variable[11];
289 struct WBT_ **closurevariable = NULL;
290 trace.prev = tracehead; tracehead = &trace;
291 trace.file = LOCATE_parser;
292 /* Register variable[0]: Local variable */
293 variable[0] = self;
294 /* Register variable[1]: Local variable */
295 variable[1] = param0;
296 /* Register variable[2]: Local variable */
297 variable[2] = param1;
298 /* Register variable[3]: Method return value and escape marker */
299 /* Register variable[4]: Local variable */
300 /* Register variable[5]: Result */
301 variable[5] = ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/;
302 /* Register variable[5]: Result */
303 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1)));
304 variable[4] = variable[5];
305 ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/ = variable[4] /*pos*/;
306 /* Register variable[5]: Result */
307 variable[5] = ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/;
308 /* Register variable[5]: Result */
309 variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*AbstractArrayRead::length*/;
310 /* Register variable[5]: Result */
311 variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*pos*/)<UNTAG_Int(variable[5]));
312 if (UNTAG_Bool(variable[5])) { /*if*/
313 /* Register variable[5]: Local variable */
314 /* Register variable[6]: Result */
315 variable[6] = ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/;
316 /* Register variable[7]: Local variable */
317 variable[7] = variable[6];
318 /* Register variable[8]: Local variable */
319 variable[8] = variable[4] /*pos*/;
320 /* Register variable[9]: Method return value and escape marker */
321 /* Register variable[10]: Result */
322 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
323 /* Ensure var variable[10]: Left 'and' operand*/
324 if (UNTAG_Bool(variable[10])) { /* and */
325 /* Register variable[10]: Result */
326 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
327 /* Register variable[10]: Result */
328 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
329 }
330 /* Register variable[10]: Result */
331 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
332 /* Register variable[10]: Result */
333 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
334 /* Register variable[10]: Result */
335 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
336 variable[9] = variable[10];
337 goto return_label10;
338 return_label10: while(false);
339 /* Register variable[6]: Result */
340 variable[6] = variable[9];
341 variable[5] = variable[6];
342 CALL_parser___State___state__eq( variable[5] /*state*/)( variable[5] /*state*/, variable[1] /*numstate*/) /*State::state=*/;
343 CALL_parser___State___nodes__eq( variable[5] /*state*/)( variable[5] /*state*/, variable[2] /*list_node*/) /*State::nodes=*/;
344 } else { /*if*/
345 /* Register variable[5]: Result */
346 variable[5] = ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/;
347 /* Register variable[6]: Result */
348 variable[6] = NEW_State_parser___State___init( variable[1] /*numstate*/, variable[2] /*list_node*/) /*new State*/;
349 CALL_abstract_collection___IndexedCollection___push(variable[5])(variable[5], variable[6]) /*AbstractArray::push*/;
350 }
351 return_label9: while(false);
352 tracehead = trace.prev;
353 return;
354 }
355 val_t parser___Parser___state(val_t self) {
356 struct trace_t trace = {NULL, NULL, 83, LOCATE_parser___Parser___state};
357 val_t variable[8];
358 struct WBT_ **closurevariable = NULL;
359 trace.prev = tracehead; tracehead = &trace;
360 trace.file = LOCATE_parser;
361 /* Register variable[0]: Local variable */
362 variable[0] = self;
363 /* Register variable[1]: Method return value and escape marker */
364 /* Register variable[2]: Result */
365 variable[2] = ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/;
366 /* Register variable[3]: Result */
367 variable[3] = ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/;
368 /* Register variable[4]: Local variable */
369 variable[4] = variable[2];
370 /* Register variable[5]: Local variable */
371 variable[5] = variable[3];
372 /* Register variable[6]: Method return value and escape marker */
373 /* Register variable[7]: Result */
374 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
375 /* Ensure var variable[7]: Left 'and' operand*/
376 if (UNTAG_Bool(variable[7])) { /* and */
377 /* Register variable[7]: Result */
378 variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
379 /* Register variable[7]: Result */
380 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));
381 }
382 /* Register variable[7]: Result */
383 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
384 /* Register variable[7]: Result */
385 variable[7] = ATTR_array___Array____items(variable[4]) /*Array::_items*/;
386 /* Register variable[7]: Result */
387 variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
388 variable[6] = variable[7];
389 goto return_label12;
390 return_label12: while(false);
391 /* Register variable[2]: Result */
392 variable[2] = variable[6];
393 /* Register variable[2]: Result */
394 variable[2] = CALL_parser___State___state(variable[2])(variable[2]) /*State::state*/;
395 variable[1] = variable[2];
396 goto return_label11;
397 return_label11: while(false);
398 tracehead = trace.prev;
399 return variable[1];
400 }
401 val_t parser___Parser___pop(val_t self) {
402 struct trace_t trace = {NULL, NULL, 89, LOCATE_parser___Parser___pop};
403 val_t variable[9];
404 struct WBT_ **closurevariable = NULL;
405 trace.prev = tracehead; tracehead = &trace;
406 trace.file = LOCATE_parser;
407 /* Register variable[0]: Local variable */
408 variable[0] = self;
409 /* Register variable[1]: Method return value and escape marker */
410 /* Register variable[2]: Local variable */
411 /* Register variable[3]: Result */
412 variable[3] = ATTR_parser___Parser____stack(variable[0]) /*Parser::_stack*/;
413 /* Register variable[4]: Result */
414 variable[4] = ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/;
415 /* Register variable[5]: Local variable */
416 variable[5] = variable[3];
417 /* Register variable[6]: Local variable */
418 variable[6] = variable[4];
419 /* Register variable[7]: Method return value and escape marker */
420 /* Register variable[8]: Result */
421 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
422 /* Ensure var variable[8]: Left 'and' operand*/
423 if (UNTAG_Bool(variable[8])) { /* and */
424 /* Register variable[8]: Result */
425 variable[8] = ATTR_array___AbstractArrayRead____length(variable[5]) /*AbstractArrayRead::_length*/;
426 /* Register variable[8]: Result */
427 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[8]));
428 }
429 /* Register variable[8]: Result */
430 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
431 /* Register variable[8]: Result */
432 variable[8] = ATTR_array___Array____items(variable[5]) /*Array::_items*/;
433 /* Register variable[8]: Result */
434 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
435 variable[7] = variable[8];
436 goto return_label14;
437 return_label14: while(false);
438 /* Register variable[3]: Result */
439 variable[3] = variable[7];
440 /* Register variable[3]: Result */
441 variable[3] = CALL_parser___State___nodes(variable[3])(variable[3]) /*State::nodes*/;
442 variable[2] = variable[3];
443 /* Register variable[3]: Result */
444 variable[3] = ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/;
445 /* Register variable[3]: Result */
446 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(1)));
447 ATTR_parser___Parser____stack_pos(variable[0]) /*Parser::_stack_pos*/ = variable[3];
448 variable[1] = variable[2] /*res*/;
449 goto return_label13;
450 return_label13: while(false);
451 tracehead = trace.prev;
452 return variable[1];
453 }
454 val_t parser___Parser___parse(val_t self) {
455 struct trace_t trace = {NULL, NULL, 97, LOCATE_parser___Parser___parse};
456 val_t variable[21];
457 struct WBT_ **closurevariable = NULL;
458 trace.prev = tracehead; tracehead = &trace;
459 trace.file = LOCATE_parser;
460 /* Register variable[0]: Local variable */
461 variable[0] = self;
462 /* Register variable[1]: Method return value and escape marker */
463 CALL_parser___Parser___push(variable[0])(variable[0], TAG_Int(0), NIT_NULL /*null*/) /*Parser::push*/;
464 /* Register variable[2]: Local variable */
465 variable[2] = NIT_NULL /*null*/;
466 /* Register variable[3]: Local variable */
467 /* Register variable[4]: Result */
468 variable[4] = ATTR_parser___Parser____lexer(variable[0]) /*Parser::_lexer*/;
469 variable[3] = variable[4];
470 while (true) { /*while*/
471 if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/
472 /* Register variable[4]: Local variable */
473 /* Register variable[5]: Result */
474 variable[5] = CALL_lexer___Lexer___peek( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::peek*/;
475 variable[4] = variable[5];
476 /* Register variable[5]: Local variable */
477 /* Register variable[6]: Result */
478 variable[6] = CALL_lexer___Token___pos( variable[4] /*token*/)( variable[4] /*token*/) /*Token::pos*/;
479 variable[5] = variable[6];
480 /* Register variable[6]: Local variable */
481 /* Register variable[7]: Result */
482 variable[7] = CALL_lexer___Token___line( variable[4] /*token*/)( variable[4] /*token*/) /*Token::line*/;
483 variable[6] = variable[7];
484 /* Register variable[7]: Result */
485 variable[7] = TAG_Bool(( variable[4] /*token*/==NIT_NULL) || VAL_ISA( variable[4] /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
486 if (UNTAG_Bool(variable[7])) { /*if*/
487 /* Register variable[7]: Result */
488 variable[7] = TAG_Bool(( variable[4] /*token*/==NIT_NULL) || VAL_ISA( variable[4] /*token*/, COLOR_PError, ID_PError)) /*cast PError*/;
489 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);}
490 /* Register variable[7]: Result */
491 variable[7] = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/, variable[4] /*token*/) /*new Start*/;
492 variable[1] = variable[7];
493 goto return_label15;
494 }
495 /* Register variable[7]: Local variable */
496 /* Register variable[8]: Result */
497 variable[8] = CALL_lexer___Token___parser_index( variable[4] /*token*/)( variable[4] /*token*/) /*Token::parser_index*/;
498 variable[7] = variable[8];
499 /* Register variable[8]: Local variable */
500 /* Register variable[9]: Result */
501 variable[9] = ATTR_parser_tables___ParserTable____action_table(variable[0]) /*ParserTable::_action_table*/;
502 /* Register variable[10]: Result */
503 variable[10] = CALL_parser___Parser___state(variable[0])(variable[0]) /*Parser::state*/;
504 /* Register variable[11]: Local variable */
505 variable[11] = variable[9];
506 /* Register variable[12]: Local variable */
507 variable[12] = variable[10];
508 /* Register variable[13]: Method return value and escape marker */
509 /* Register variable[14]: Result */
510 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
511 /* Ensure var variable[14]: Left 'and' operand*/
512 if (UNTAG_Bool(variable[14])) { /* and */
513 /* Register variable[14]: Result */
514 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
515 /* Register variable[14]: Result */
516 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
517 }
518 /* Register variable[14]: Result */
519 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
520 /* Register variable[14]: Result */
521 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
522 /* Register variable[14]: Result */
523 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
524 variable[13] = variable[14];
525 goto return_label17;
526 return_label17: while(false);
527 /* Register variable[9]: Result */
528 variable[9] = variable[13];
529 variable[8] = variable[9];
530 /* Register variable[9]: Local variable */
531 /* Register variable[10]: Local variable */
532 variable[10] = variable[8] /*table*/;
533 /* Register variable[11]: Local variable */
534 variable[11] = TAG_Int(1);
535 /* Register variable[12]: Method return value and escape marker */
536 /* Register variable[13]: Result */
537 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
538 /* Ensure var variable[13]: Left 'and' operand*/
539 if (UNTAG_Bool(variable[13])) { /* and */
540 /* Register variable[13]: Result */
541 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
542 /* Register variable[13]: Result */
543 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
544 }
545 /* Register variable[13]: Result */
546 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
547 /* Register variable[13]: Result */
548 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
549 /* Register variable[13]: Result */
550 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
551 variable[12] = variable[13];
552 goto return_label18;
553 return_label18: while(false);
554 /* Register variable[10]: Result */
555 variable[10] = variable[12];
556 variable[9] = variable[10];
557 /* Register variable[10]: Local variable */
558 /* Register variable[11]: Local variable */
559 variable[11] = variable[8] /*table*/;
560 /* Register variable[12]: Local variable */
561 variable[12] = TAG_Int(2);
562 /* Register variable[13]: Method return value and escape marker */
563 /* Register variable[14]: Result */
564 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
565 /* Ensure var variable[14]: Left 'and' operand*/
566 if (UNTAG_Bool(variable[14])) { /* and */
567 /* Register variable[14]: Result */
568 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
569 /* Register variable[14]: Result */
570 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
571 }
572 /* Register variable[14]: Result */
573 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
574 /* Register variable[14]: Result */
575 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
576 /* Register variable[14]: Result */
577 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
578 variable[13] = variable[14];
579 goto return_label19;
580 return_label19: while(false);
581 /* Register variable[11]: Result */
582 variable[11] = variable[13];
583 variable[10] = variable[11];
584 /* Register variable[11]: Local variable */
585 variable[11] = TAG_Int(1);
586 /* Register variable[12]: Local variable */
587 /* Register variable[13]: Result */
588 variable[13] = CALL_abstract_collection___Collection___length( variable[8] /*table*/)( variable[8] /*table*/) /*AbstractArrayRead::length*/;
589 /* Register variable[13]: Result */
590 variable[13] = TAG_Int(UNTAG_Int(variable[13])/UNTAG_Int( TAG_Int(3)));
591 /* Register variable[13]: Result */
592 variable[13] = TAG_Int(UNTAG_Int(variable[13])-UNTAG_Int( TAG_Int(1)));
593 variable[12] = variable[13];
594 while (true) { /*while*/
595 /* Register variable[13]: Result */
596 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*low*/)<=UNTAG_Int( variable[12] /*high*/));
597 if (!UNTAG_Bool(variable[13])) break; /* while*/
598 /* Register variable[13]: Local variable */
599 /* Register variable[14]: Result */
600 variable[14] = TAG_Int(UNTAG_Int( variable[11] /*low*/)+UNTAG_Int( variable[12] /*high*/));
601 /* Register variable[14]: Result */
602 variable[14] = TAG_Int(UNTAG_Int(variable[14])/UNTAG_Int( TAG_Int(2)));
603 variable[13] = variable[14];
604 /* Register variable[14]: Local variable */
605 /* Register variable[15]: Result */
606 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)*UNTAG_Int( TAG_Int(3)));
607 variable[14] = variable[15];
608 /* Register variable[15]: Local variable */
609 variable[15] = variable[8] /*table*/;
610 /* Register variable[16]: Local variable */
611 variable[16] = variable[14] /*subindex*/;
612 /* Register variable[17]: Method return value and escape marker */
613 /* Register variable[18]: Result */
614 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
615 /* Ensure var variable[18]: Left 'and' operand*/
616 if (UNTAG_Bool(variable[18])) { /* and */
617 /* Register variable[18]: Result */
618 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
619 /* Register variable[18]: Result */
620 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
621 }
622 /* Register variable[18]: Result */
623 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
624 /* Register variable[18]: Result */
625 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
626 /* Register variable[18]: Result */
627 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
628 variable[17] = variable[18];
629 goto return_label21;
630 return_label21: while(false);
631 /* Register variable[15]: Result */
632 variable[15] = variable[17];
633 /* Register variable[15]: Result */
634 variable[15] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[15]));
635 if (UNTAG_Bool(variable[15])) { /*if*/
636 /* Register variable[15]: Result */
637 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)-UNTAG_Int( TAG_Int(1)));
638 variable[12] = variable[15] /*high=*/;
639 } else { /*if*/
640 /* Register variable[15]: Local variable */
641 variable[15] = variable[8] /*table*/;
642 /* Register variable[16]: Local variable */
643 variable[16] = variable[14] /*subindex*/;
644 /* Register variable[17]: Method return value and escape marker */
645 /* Register variable[18]: Result */
646 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
647 /* Ensure var variable[18]: Left 'and' operand*/
648 if (UNTAG_Bool(variable[18])) { /* and */
649 /* Register variable[18]: Result */
650 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
651 /* Register variable[18]: Result */
652 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
653 }
654 /* Register variable[18]: Result */
655 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
656 /* Register variable[18]: Result */
657 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
658 /* Register variable[18]: Result */
659 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
660 variable[17] = variable[18];
661 goto return_label22;
662 return_label22: while(false);
663 /* Register variable[15]: Result */
664 variable[15] = variable[17];
665 /* Register variable[15]: Result */
666 variable[15] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>UNTAG_Int(variable[15]));
667 if (UNTAG_Bool(variable[15])) { /*if*/
668 /* Register variable[15]: Result */
669 variable[15] = TAG_Int(UNTAG_Int( variable[13] /*middle*/)+UNTAG_Int( TAG_Int(1)));
670 variable[11] = variable[15] /*low=*/;
671 } else { /*if*/
672 /* Register variable[15]: Result */
673 variable[15] = TAG_Int(UNTAG_Int( variable[14] /*subindex*/)+UNTAG_Int( TAG_Int(1)));
674 /* Register variable[16]: Local variable */
675 variable[16] = variable[8] /*table*/;
676 /* Register variable[17]: Local variable */
677 variable[17] = variable[15];
678 /* Register variable[18]: Method return value and escape marker */
679 /* Register variable[19]: Result */
680 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)>=UNTAG_Int( TAG_Int(0)));
681 /* Ensure var variable[19]: Left 'and' operand*/
682 if (UNTAG_Bool(variable[19])) { /* and */
683 /* Register variable[19]: Result */
684 variable[19] = ATTR_array___AbstractArrayRead____length(variable[16]) /*AbstractArrayRead::_length*/;
685 /* Register variable[19]: Result */
686 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)<UNTAG_Int(variable[19]));
687 }
688 /* Register variable[19]: Result */
689 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
690 /* Register variable[19]: Result */
691 variable[19] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
692 /* Register variable[19]: Result */
693 variable[19] = UNBOX_NativeArray(variable[19])[UNTAG_Int( variable[17] /*index*/)];
694 variable[18] = variable[19];
695 goto return_label23;
696 return_label23: while(false);
697 /* Register variable[15]: Result */
698 variable[15] = variable[18];
699 variable[9] = variable[15] /*action_type=*/;
700 /* Register variable[15]: Result */
701 variable[15] = TAG_Int(UNTAG_Int( variable[14] /*subindex*/)+UNTAG_Int( TAG_Int(2)));
702 /* Register variable[16]: Local variable */
703 variable[16] = variable[8] /*table*/;
704 /* Register variable[17]: Local variable */
705 variable[17] = variable[15];
706 /* Register variable[18]: Method return value and escape marker */
707 /* Register variable[19]: Result */
708 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)>=UNTAG_Int( TAG_Int(0)));
709 /* Ensure var variable[19]: Left 'and' operand*/
710 if (UNTAG_Bool(variable[19])) { /* and */
711 /* Register variable[19]: Result */
712 variable[19] = ATTR_array___AbstractArrayRead____length(variable[16]) /*AbstractArrayRead::_length*/;
713 /* Register variable[19]: Result */
714 variable[19] = TAG_Bool(UNTAG_Int( variable[17] /*index*/)<UNTAG_Int(variable[19]));
715 }
716 /* Register variable[19]: Result */
717 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
718 /* Register variable[19]: Result */
719 variable[19] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
720 /* Register variable[19]: Result */
721 variable[19] = UNBOX_NativeArray(variable[19])[UNTAG_Int( variable[17] /*index*/)];
722 variable[18] = variable[19];
723 goto return_label24;
724 return_label24: while(false);
725 /* Register variable[15]: Result */
726 variable[15] = variable[18];
727 variable[10] = variable[15] /*action_value=*/;
728 /* Register variable[15]: Result */
729 variable[15] = TAG_Int(UNTAG_Int( variable[11] /*low*/)-UNTAG_Int( TAG_Int(1)));
730 variable[12] = variable[15] /*high=*/;
731 }
732 }
733 continue_20: while(0);
734 }
735 break_20: while(0);
736 /* Register variable[13]: Result */
737 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(0)));
738 if (UNTAG_Bool(variable[13])) { /*if*/
739 /* Register variable[13]: Result */
740 variable[13] = CALL_lexer___Lexer___next( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::next*/;
741 CALL_parser___Parser___push(variable[0])(variable[0], variable[10] /*action_value*/, variable[13]) /*Parser::push*/;
742 } else { /*if*/
743 /* Register variable[13]: Result */
744 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(1)));
745 if (UNTAG_Bool(variable[13])) { /*if*/
746 /* Register variable[13]: Result */
747 variable[13] = ATTR_parser___Parser____reduce_table(variable[0]) /*Parser::_reduce_table*/;
748 /* Register variable[14]: Local variable */
749 variable[14] = variable[13];
750 /* Register variable[15]: Local variable */
751 variable[15] = variable[10] /*action_value*/;
752 /* Register variable[16]: Method return value and escape marker */
753 /* Register variable[17]: Result */
754 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
755 /* Ensure var variable[17]: Left 'and' operand*/
756 if (UNTAG_Bool(variable[17])) { /* and */
757 /* Register variable[17]: Result */
758 variable[17] = ATTR_array___AbstractArrayRead____length(variable[14]) /*AbstractArrayRead::_length*/;
759 /* Register variable[17]: Result */
760 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[17]));
761 }
762 /* Register variable[17]: Result */
763 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
764 /* Register variable[17]: Result */
765 variable[17] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
766 /* Register variable[17]: Result */
767 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
768 variable[16] = variable[17];
769 goto return_label25;
770 return_label25: while(false);
771 /* Register variable[13]: Result */
772 variable[13] = variable[16];
773 CALL_parser___ReduceAction___action(variable[13])(variable[13], variable[0]) /*ReduceAction::action*/;
774 } else { /*if*/
775 /* Register variable[13]: Result */
776 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(2)));
777 if (UNTAG_Bool(variable[13])) { /*if*/
778 /* Register variable[13]: Local variable */
779 /* Register variable[14]: Result */
780 variable[14] = CALL_lexer___Lexer___next( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::next*/;
781 variable[13] = variable[14];
782 /* Register variable[14]: Result */
783 variable[14] = TAG_Bool(( variable[13] /*node2*/==NIT_NULL) || VAL_ISA( variable[13] /*node2*/, COLOR_EOF, ID_EOF)) /*cast EOF*/;
784 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);}
785 /* Register variable[14]: Local variable */
786 /* Register variable[15]: Result */
787 variable[15] = CALL_parser___Parser___pop(variable[0])(variable[0]) /*Parser::pop*/;
788 variable[14] = variable[15];
789 /* Register variable[15]: Result */
790 variable[15] = TAG_Bool(( variable[14] /*node1*/==NIT_NULL) || VAL_ISA( variable[14] /*node1*/, COLOR_PModule, ID_PModule)) /*cast PModule*/;
791 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);}
792 /* Register variable[15]: Local variable */
793 /* Register variable[16]: Result */
794 variable[16] = NEW_Start_parser_prod___Start___init( variable[14] /*node1*/, variable[13] /*node2*/) /*new Start*/;
795 variable[15] = variable[16];
796 /* Register variable[16]: Result */
797 variable[16] = NEW_SearchTokensVisitor_parser___SearchTokensVisitor___init() /*new SearchTokensVisitor*/;
798 CALL_parser_prod___Visitor___visit(variable[16])(variable[16], variable[15] /*node*/) /*SearchTokensVisitor::visit*/;
799 variable[1] = variable[15] /*node*/;
800 goto return_label15;
801 } else { /*if*/
802 /* Register variable[13]: Result */
803 variable[13] = TAG_Bool(( variable[9] /*action_type*/)==( TAG_Int(3)));
804 if (UNTAG_Bool(variable[13])) { /*if*/
805 /* Register variable[13]: Local variable */
806 /* Register variable[14]: Result */
807 variable[14] = CALL_lexer___Lexer___filename( variable[3] /*lexer*/)( variable[3] /*lexer*/) /*Lexer::filename*/;
808 /* Register variable[15]: Result */
809 variable[15] = CALL_parser_tables___ParserTable___error_messages(variable[0])(variable[0]) /*ParserTable::error_messages*/;
810 /* Register variable[16]: Result */
811 variable[16] = CALL_parser_tables___ParserTable___errors(variable[0])(variable[0]) /*ParserTable::errors*/;
812 /* Register variable[17]: Local variable */
813 variable[17] = variable[16];
814 /* Register variable[18]: Local variable */
815 variable[18] = variable[10] /*action_value*/;
816 /* Register variable[19]: Method return value and escape marker */
817 /* Register variable[20]: Result */
818 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
819 /* Ensure var variable[20]: Left 'and' operand*/
820 if (UNTAG_Bool(variable[20])) { /* and */
821 /* Register variable[20]: Result */
822 variable[20] = ATTR_array___AbstractArrayRead____length(variable[17]) /*AbstractArrayRead::_length*/;
823 /* Register variable[20]: Result */
824 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[20]));
825 }
826 /* Register variable[20]: Result */
827 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
828 /* Register variable[20]: Result */
829 variable[20] = ATTR_array___Array____items(variable[17]) /*Array::_items*/;
830 /* Register variable[20]: Result */
831 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
832 variable[19] = variable[20];
833 goto return_label26;
834 return_label26: while(false);
835 /* Register variable[16]: Result */
836 variable[16] = variable[19];
837 /* Register variable[17]: Local variable */
838 variable[17] = variable[15];
839 /* Register variable[18]: Local variable */
840 variable[18] = variable[16];
841 /* Register variable[19]: Method return value and escape marker */
842 /* Register variable[20]: Result */
843 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
844 /* Ensure var variable[20]: Left 'and' operand*/
845 if (UNTAG_Bool(variable[20])) { /* and */
846 /* Register variable[20]: Result */
847 variable[20] = ATTR_array___AbstractArrayRead____length(variable[17]) /*AbstractArrayRead::_length*/;
848 /* Register variable[20]: Result */
849 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[20]));
850 }
851 /* Register variable[20]: Result */
852 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_parser, 234); nit_exit(1);}
853 /* Register variable[20]: Result */
854 variable[20] = ATTR_array___Array____items(variable[17]) /*Array::_items*/;
855 /* Register variable[20]: Result */
856 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
857 variable[19] = variable[20];
858 goto return_label27;
859 return_label27: while(false);
860 /* Register variable[15]: Result */
861 variable[15] = variable[19];
862 /* Register variable[14]: Result */
863 variable[14] = NEW_PError_lexer___PError___init_error(variable[14], variable[6] /*last_line*/, variable[5] /*last_pos*/, variable[15]) /*new PError*/;
864 variable[13] = variable[14];
865 /* Register variable[14]: Local variable */
866 /* Register variable[15]: Result */
867 variable[15] = NEW_Start_parser_prod___Start___init( NIT_NULL /*null*/, variable[13] /*node2*/) /*new Start*/;
868 variable[14] = variable[15];
869 variable[1] = variable[14] /*node*/;
870 goto return_label15;
871 }
872 }
873 }
874 }
875 continue_16: while(0);
876 }
877 break_16: while(0);
878 variable[1] = NIT_NULL /*null*/;
879 goto return_label15;
880 return_label15: while(false);
881 tracehead = trace.prev;
882 return variable[1];
883 }
884 void parser___Parser___build_reduce_table(val_t self) {
885 struct trace_t trace = {NULL, NULL, 159, LOCATE_parser___Parser___build_reduce_table};
886 val_t variable[741];
887 struct WBT_ **closurevariable = NULL;
888 trace.prev = tracehead; tracehead = &trace;
889 trace.file = LOCATE_parser;
890 /* Register variable[0]: Local variable */
891 variable[0] = self;
892 /* Register variable[1]: Method return value and escape marker */
893 variable[2] = NEW_Array_array___Array___with_capacity(TAG_Int(738)) /*new Array[ReduceAction]*/ /* Ensure var: Literal array*/;
894 /* Register variable[3]: Result */
895 variable[3] = NEW_ReduceAction0_parser___ReduceAction0___init() /*new ReduceAction0*/;
896 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[3]) /*AbstractArray::add*/;
897 /* Register variable[4]: Result */
898 variable[4] = NEW_ReduceAction1_parser___ReduceAction1___init() /*new ReduceAction1*/;
899 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[4]) /*AbstractArray::add*/;
900 /* Register variable[5]: Result */
901 variable[5] = NEW_ReduceAction2_parser___ReduceAction2___init() /*new ReduceAction2*/;
902 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[5]) /*AbstractArray::add*/;
903 /* Register variable[6]: Result */
904 variable[6] = NEW_ReduceAction3_parser___ReduceAction3___init() /*new ReduceAction3*/;
905 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[6]) /*AbstractArray::add*/;
906 /* Register variable[7]: Result */
907 variable[7] = NEW_ReduceAction4_parser___ReduceAction4___init() /*new ReduceAction4*/;
908 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[7]) /*AbstractArray::add*/;
909 /* Register variable[8]: Result */
910 variable[8] = NEW_ReduceAction5_parser___ReduceAction5___init() /*new ReduceAction5*/;
911 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[8]) /*AbstractArray::add*/;
912 /* Register variable[9]: Result */
913 variable[9] = NEW_ReduceAction6_parser___ReduceAction6___init() /*new ReduceAction6*/;
914 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[9]) /*AbstractArray::add*/;
915 /* Register variable[10]: Result */
916 variable[10] = NEW_ReduceAction7_parser___ReduceAction7___init() /*new ReduceAction7*/;
917 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[10]) /*AbstractArray::add*/;
918 /* Register variable[11]: Result */
919 variable[11] = NEW_ReduceAction8_parser___ReduceAction8___init() /*new ReduceAction8*/;
920 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[11]) /*AbstractArray::add*/;
921 /* Register variable[12]: Result */
922 variable[12] = NEW_ReduceAction9_parser___ReduceAction9___init() /*new ReduceAction9*/;
923 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[12]) /*AbstractArray::add*/;
924 /* Register variable[13]: Result */
925 variable[13] = NEW_ReduceAction10_parser___ReduceAction10___init() /*new ReduceAction10*/;
926 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[13]) /*AbstractArray::add*/;
927 /* Register variable[14]: Result */
928 variable[14] = NEW_ReduceAction11_parser___ReduceAction11___init() /*new ReduceAction11*/;
929 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[14]) /*AbstractArray::add*/;
930 /* Register variable[15]: Result */
931 variable[15] = NEW_ReduceAction12_parser___ReduceAction12___init() /*new ReduceAction12*/;
932 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[15]) /*AbstractArray::add*/;
933 /* Register variable[16]: Result */
934 variable[16] = NEW_ReduceAction13_parser___ReduceAction13___init() /*new ReduceAction13*/;
935 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[16]) /*AbstractArray::add*/;
936 /* Register variable[17]: Result */
937 variable[17] = NEW_ReduceAction14_parser___ReduceAction14___init() /*new ReduceAction14*/;
938 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[17]) /*AbstractArray::add*/;
939 /* Register variable[18]: Result */
940 variable[18] = NEW_ReduceAction15_parser___ReduceAction15___init() /*new ReduceAction15*/;
941 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[18]) /*AbstractArray::add*/;
942 /* Register variable[19]: Result */
943 variable[19] = NEW_ReduceAction16_parser___ReduceAction16___init() /*new ReduceAction16*/;
944 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[19]) /*AbstractArray::add*/;
945 /* Register variable[20]: Result */
946 variable[20] = NEW_ReduceAction17_parser___ReduceAction17___init() /*new ReduceAction17*/;
947 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[20]) /*AbstractArray::add*/;
948 /* Register variable[21]: Result */
949 variable[21] = NEW_ReduceAction18_parser___ReduceAction18___init() /*new ReduceAction18*/;
950 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[21]) /*AbstractArray::add*/;
951 /* Register variable[22]: Result */
952 variable[22] = NEW_ReduceAction19_parser___ReduceAction19___init() /*new ReduceAction19*/;
953 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[22]) /*AbstractArray::add*/;
954 /* Register variable[23]: Result */
955 variable[23] = NEW_ReduceAction20_parser___ReduceAction20___init() /*new ReduceAction20*/;
956 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[23]) /*AbstractArray::add*/;
957 /* Register variable[24]: Result */
958 variable[24] = NEW_ReduceAction21_parser___ReduceAction21___init() /*new ReduceAction21*/;
959 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[24]) /*AbstractArray::add*/;
960 /* Register variable[25]: Result */
961 variable[25] = NEW_ReduceAction22_parser___ReduceAction22___init() /*new ReduceAction22*/;
962 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[25]) /*AbstractArray::add*/;
963 /* Register variable[26]: Result */
964 variable[26] = NEW_ReduceAction23_parser___ReduceAction23___init() /*new ReduceAction23*/;
965 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[26]) /*AbstractArray::add*/;
966 /* Register variable[27]: Result */
967 variable[27] = NEW_ReduceAction24_parser___ReduceAction24___init() /*new ReduceAction24*/;
968 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[27]) /*AbstractArray::add*/;
969 /* Register variable[28]: Result */
970 variable[28] = NEW_ReduceAction25_parser___ReduceAction25___init() /*new ReduceAction25*/;
971 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[28]) /*AbstractArray::add*/;
972 /* Register variable[29]: Result */
973 variable[29] = NEW_ReduceAction26_parser___ReduceAction26___init() /*new ReduceAction26*/;
974 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[29]) /*AbstractArray::add*/;
975 /* Register variable[30]: Result */
976 variable[30] = NEW_ReduceAction27_parser___ReduceAction27___init() /*new ReduceAction27*/;
977 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[30]) /*AbstractArray::add*/;
978 /* Register variable[31]: Result */
979 variable[31] = NEW_ReduceAction28_parser___ReduceAction28___init() /*new ReduceAction28*/;
980 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[31]) /*AbstractArray::add*/;
981 /* Register variable[32]: Result */
982 variable[32] = NEW_ReduceAction29_parser___ReduceAction29___init() /*new ReduceAction29*/;
983 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[32]) /*AbstractArray::add*/;
984 /* Register variable[33]: Result */
985 variable[33] = NEW_ReduceAction30_parser___ReduceAction30___init() /*new ReduceAction30*/;
986 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[33]) /*AbstractArray::add*/;
987 /* Register variable[34]: Result */
988 variable[34] = NEW_ReduceAction31_parser___ReduceAction31___init() /*new ReduceAction31*/;
989 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[34]) /*AbstractArray::add*/;
990 /* Register variable[35]: Result */
991 variable[35] = NEW_ReduceAction32_parser___ReduceAction32___init() /*new ReduceAction32*/;
992 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[35]) /*AbstractArray::add*/;
993 /* Register variable[36]: Result */
994 variable[36] = NEW_ReduceAction33_parser___ReduceAction33___init() /*new ReduceAction33*/;
995 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[36]) /*AbstractArray::add*/;
996 /* Register variable[37]: Result */
997 variable[37] = NEW_ReduceAction34_parser___ReduceAction34___init() /*new ReduceAction34*/;
998 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[37]) /*AbstractArray::add*/;
999 /* Register variable[38]: Result */
1000 variable[38] = NEW_ReduceAction35_parser___ReduceAction35___init() /*new ReduceAction35*/;
1001 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[38]) /*AbstractArray::add*/;
1002 /* Register variable[39]: Result */
1003 variable[39] = NEW_ReduceAction36_parser___ReduceAction36___init() /*new ReduceAction36*/;
1004 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[39]) /*AbstractArray::add*/;
1005 /* Register variable[40]: Result */
1006 variable[40] = NEW_ReduceAction37_parser___ReduceAction37___init() /*new ReduceAction37*/;
1007 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[40]) /*AbstractArray::add*/;
1008 /* Register variable[41]: Result */
1009 variable[41] = NEW_ReduceAction38_parser___ReduceAction38___init() /*new ReduceAction38*/;
1010 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[41]) /*AbstractArray::add*/;
1011 /* Register variable[42]: Result */
1012 variable[42] = NEW_ReduceAction39_parser___ReduceAction39___init() /*new ReduceAction39*/;
1013 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[42]) /*AbstractArray::add*/;
1014 /* Register variable[43]: Result */
1015 variable[43] = NEW_ReduceAction40_parser___ReduceAction40___init() /*new ReduceAction40*/;
1016 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[43]) /*AbstractArray::add*/;
1017 /* Register variable[44]: Result */
1018 variable[44] = NEW_ReduceAction41_parser___ReduceAction41___init() /*new ReduceAction41*/;
1019 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[44]) /*AbstractArray::add*/;
1020 /* Register variable[45]: Result */
1021 variable[45] = NEW_ReduceAction42_parser___ReduceAction42___init() /*new ReduceAction42*/;
1022 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[45]) /*AbstractArray::add*/;
1023 /* Register variable[46]: Result */
1024 variable[46] = NEW_ReduceAction43_parser___ReduceAction43___init() /*new ReduceAction43*/;
1025 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[46]) /*AbstractArray::add*/;
1026 /* Register variable[47]: Result */
1027 variable[47] = NEW_ReduceAction44_parser___ReduceAction44___init() /*new ReduceAction44*/;
1028 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[47]) /*AbstractArray::add*/;
1029 /* Register variable[48]: Result */
1030 variable[48] = NEW_ReduceAction45_parser___ReduceAction45___init() /*new ReduceAction45*/;
1031 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[48]) /*AbstractArray::add*/;
1032 /* Register variable[49]: Result */
1033 variable[49] = NEW_ReduceAction46_parser___ReduceAction46___init() /*new ReduceAction46*/;
1034 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[49]) /*AbstractArray::add*/;
1035 /* Register variable[50]: Result */
1036 variable[50] = NEW_ReduceAction47_parser___ReduceAction47___init() /*new ReduceAction47*/;
1037 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[50]) /*AbstractArray::add*/;
1038 /* Register variable[51]: Result */
1039 variable[51] = NEW_ReduceAction48_parser___ReduceAction48___init() /*new ReduceAction48*/;
1040 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[51]) /*AbstractArray::add*/;
1041 /* Register variable[52]: Result */
1042 variable[52] = NEW_ReduceAction49_parser___ReduceAction49___init() /*new ReduceAction49*/;
1043 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[52]) /*AbstractArray::add*/;
1044 /* Register variable[53]: Result */
1045 variable[53] = NEW_ReduceAction50_parser___ReduceAction50___init() /*new ReduceAction50*/;
1046 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[53]) /*AbstractArray::add*/;
1047 /* Register variable[54]: Result */
1048 variable[54] = NEW_ReduceAction51_parser___ReduceAction51___init() /*new ReduceAction51*/;
1049 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[54]) /*AbstractArray::add*/;
1050 /* Register variable[55]: Result */
1051 variable[55] = NEW_ReduceAction52_parser___ReduceAction52___init() /*new ReduceAction52*/;
1052 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[55]) /*AbstractArray::add*/;
1053 /* Register variable[56]: Result */
1054 variable[56] = NEW_ReduceAction53_parser___ReduceAction53___init() /*new ReduceAction53*/;
1055 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[56]) /*AbstractArray::add*/;
1056 /* Register variable[57]: Result */
1057 variable[57] = NEW_ReduceAction54_parser___ReduceAction54___init() /*new ReduceAction54*/;
1058 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[57]) /*AbstractArray::add*/;
1059 /* Register variable[58]: Result */
1060 variable[58] = NEW_ReduceAction55_parser___ReduceAction55___init() /*new ReduceAction55*/;
1061 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[58]) /*AbstractArray::add*/;
1062 /* Register variable[59]: Result */
1063 variable[59] = NEW_ReduceAction56_parser___ReduceAction56___init() /*new ReduceAction56*/;
1064 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[59]) /*AbstractArray::add*/;
1065 /* Register variable[60]: Result */
1066 variable[60] = NEW_ReduceAction57_parser___ReduceAction57___init() /*new ReduceAction57*/;
1067 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[60]) /*AbstractArray::add*/;
1068 /* Register variable[61]: Result */
1069 variable[61] = NEW_ReduceAction58_parser___ReduceAction58___init() /*new ReduceAction58*/;
1070 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[61]) /*AbstractArray::add*/;
1071 /* Register variable[62]: Result */
1072 variable[62] = NEW_ReduceAction59_parser___ReduceAction59___init() /*new ReduceAction59*/;
1073 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[62]) /*AbstractArray::add*/;
1074 /* Register variable[63]: Result */
1075 variable[63] = NEW_ReduceAction60_parser___ReduceAction60___init() /*new ReduceAction60*/;
1076 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[63]) /*AbstractArray::add*/;
1077 /* Register variable[64]: Result */
1078 variable[64] = NEW_ReduceAction61_parser___ReduceAction61___init() /*new ReduceAction61*/;
1079 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[64]) /*AbstractArray::add*/;
1080 /* Register variable[65]: Result */
1081 variable[65] = NEW_ReduceAction62_parser___ReduceAction62___init() /*new ReduceAction62*/;
1082 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[65]) /*AbstractArray::add*/;
1083 /* Register variable[66]: Result */
1084 variable[66] = NEW_ReduceAction63_parser___ReduceAction63___init() /*new ReduceAction63*/;
1085 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[66]) /*AbstractArray::add*/;
1086 /* Register variable[67]: Result */
1087 variable[67] = NEW_ReduceAction64_parser___ReduceAction64___init() /*new ReduceAction64*/;
1088 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[67]) /*AbstractArray::add*/;
1089 /* Register variable[68]: Result */
1090 variable[68] = NEW_ReduceAction65_parser___ReduceAction65___init() /*new ReduceAction65*/;
1091 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[68]) /*AbstractArray::add*/;
1092 /* Register variable[69]: Result */
1093 variable[69] = NEW_ReduceAction66_parser___ReduceAction66___init() /*new ReduceAction66*/;
1094 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[69]) /*AbstractArray::add*/;
1095 /* Register variable[70]: Result */
1096 variable[70] = NEW_ReduceAction67_parser___ReduceAction67___init() /*new ReduceAction67*/;
1097 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[70]) /*AbstractArray::add*/;
1098 /* Register variable[71]: Result */
1099 variable[71] = NEW_ReduceAction68_parser___ReduceAction68___init() /*new ReduceAction68*/;
1100 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[71]) /*AbstractArray::add*/;
1101 /* Register variable[72]: Result */
1102 variable[72] = NEW_ReduceAction69_parser___ReduceAction69___init() /*new ReduceAction69*/;
1103 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[72]) /*AbstractArray::add*/;
1104 /* Register variable[73]: Result */
1105 variable[73] = NEW_ReduceAction70_parser___ReduceAction70___init() /*new ReduceAction70*/;
1106 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[73]) /*AbstractArray::add*/;
1107 /* Register variable[74]: Result */
1108 variable[74] = NEW_ReduceAction71_parser___ReduceAction71___init() /*new ReduceAction71*/;
1109 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[74]) /*AbstractArray::add*/;
1110 /* Register variable[75]: Result */
1111 variable[75] = NEW_ReduceAction72_parser___ReduceAction72___init() /*new ReduceAction72*/;
1112 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[75]) /*AbstractArray::add*/;
1113 /* Register variable[76]: Result */
1114 variable[76] = NEW_ReduceAction73_parser___ReduceAction73___init() /*new ReduceAction73*/;
1115 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[76]) /*AbstractArray::add*/;
1116 /* Register variable[77]: Result */
1117 variable[77] = NEW_ReduceAction74_parser___ReduceAction74___init() /*new ReduceAction74*/;
1118 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[77]) /*AbstractArray::add*/;
1119 /* Register variable[78]: Result */
1120 variable[78] = NEW_ReduceAction75_parser___ReduceAction75___init() /*new ReduceAction75*/;
1121 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[78]) /*AbstractArray::add*/;
1122 /* Register variable[79]: Result */
1123 variable[79] = NEW_ReduceAction76_parser___ReduceAction76___init() /*new ReduceAction76*/;
1124 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[79]) /*AbstractArray::add*/;
1125 /* Register variable[80]: Result */
1126 variable[80] = NEW_ReduceAction77_parser___ReduceAction77___init() /*new ReduceAction77*/;
1127 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[80]) /*AbstractArray::add*/;
1128 /* Register variable[81]: Result */
1129 variable[81] = NEW_ReduceAction78_parser___ReduceAction78___init() /*new ReduceAction78*/;
1130 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[81]) /*AbstractArray::add*/;
1131 /* Register variable[82]: Result */
1132 variable[82] = NEW_ReduceAction79_parser___ReduceAction79___init() /*new ReduceAction79*/;
1133 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[82]) /*AbstractArray::add*/;
1134 /* Register variable[83]: Result */
1135 variable[83] = NEW_ReduceAction80_parser___ReduceAction80___init() /*new ReduceAction80*/;
1136 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[83]) /*AbstractArray::add*/;
1137 /* Register variable[84]: Result */
1138 variable[84] = NEW_ReduceAction81_parser___ReduceAction81___init() /*new ReduceAction81*/;
1139 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[84]) /*AbstractArray::add*/;
1140 /* Register variable[85]: Result */
1141 variable[85] = NEW_ReduceAction82_parser___ReduceAction82___init() /*new ReduceAction82*/;
1142 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[85]) /*AbstractArray::add*/;
1143 /* Register variable[86]: Result */
1144 variable[86] = NEW_ReduceAction83_parser___ReduceAction83___init() /*new ReduceAction83*/;
1145 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[86]) /*AbstractArray::add*/;
1146 /* Register variable[87]: Result */
1147 variable[87] = NEW_ReduceAction84_parser___ReduceAction84___init() /*new ReduceAction84*/;
1148 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[87]) /*AbstractArray::add*/;
1149 /* Register variable[88]: Result */
1150 variable[88] = NEW_ReduceAction85_parser___ReduceAction85___init() /*new ReduceAction85*/;
1151 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[88]) /*AbstractArray::add*/;
1152 /* Register variable[89]: Result */
1153 variable[89] = NEW_ReduceAction86_parser___ReduceAction86___init() /*new ReduceAction86*/;
1154 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[89]) /*AbstractArray::add*/;
1155 /* Register variable[90]: Result */
1156 variable[90] = NEW_ReduceAction87_parser___ReduceAction87___init() /*new ReduceAction87*/;
1157 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[90]) /*AbstractArray::add*/;
1158 /* Register variable[91]: Result */
1159 variable[91] = NEW_ReduceAction88_parser___ReduceAction88___init() /*new ReduceAction88*/;
1160 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[91]) /*AbstractArray::add*/;
1161 /* Register variable[92]: Result */
1162 variable[92] = NEW_ReduceAction89_parser___ReduceAction89___init() /*new ReduceAction89*/;
1163 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[92]) /*AbstractArray::add*/;
1164 /* Register variable[93]: Result */
1165 variable[93] = NEW_ReduceAction90_parser___ReduceAction90___init() /*new ReduceAction90*/;
1166 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[93]) /*AbstractArray::add*/;
1167 /* Register variable[94]: Result */
1168 variable[94] = NEW_ReduceAction91_parser___ReduceAction91___init() /*new ReduceAction91*/;
1169 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[94]) /*AbstractArray::add*/;
1170 /* Register variable[95]: Result */
1171 variable[95] = NEW_ReduceAction92_parser___ReduceAction92___init() /*new ReduceAction92*/;
1172 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[95]) /*AbstractArray::add*/;
1173 /* Register variable[96]: Result */
1174 variable[96] = NEW_ReduceAction93_parser___ReduceAction93___init() /*new ReduceAction93*/;
1175 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[96]) /*AbstractArray::add*/;
1176 /* Register variable[97]: Result */
1177 variable[97] = NEW_ReduceAction94_parser___ReduceAction94___init() /*new ReduceAction94*/;
1178 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[97]) /*AbstractArray::add*/;
1179 /* Register variable[98]: Result */
1180 variable[98] = NEW_ReduceAction95_parser___ReduceAction95___init() /*new ReduceAction95*/;
1181 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[98]) /*AbstractArray::add*/;
1182 /* Register variable[99]: Result */
1183 variable[99] = NEW_ReduceAction96_parser___ReduceAction96___init() /*new ReduceAction96*/;
1184 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[99]) /*AbstractArray::add*/;
1185 /* Register variable[100]: Result */
1186 variable[100] = NEW_ReduceAction97_parser___ReduceAction97___init() /*new ReduceAction97*/;
1187 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[100]) /*AbstractArray::add*/;
1188 /* Register variable[101]: Result */
1189 variable[101] = NEW_ReduceAction98_parser___ReduceAction98___init() /*new ReduceAction98*/;
1190 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[101]) /*AbstractArray::add*/;
1191 /* Register variable[102]: Result */
1192 variable[102] = NEW_ReduceAction99_parser___ReduceAction99___init() /*new ReduceAction99*/;
1193 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[102]) /*AbstractArray::add*/;
1194 /* Register variable[103]: Result */
1195 variable[103] = NEW_ReduceAction100_parser___ReduceAction100___init() /*new ReduceAction100*/;
1196 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[103]) /*AbstractArray::add*/;
1197 /* Register variable[104]: Result */
1198 variable[104] = NEW_ReduceAction101_parser___ReduceAction101___init() /*new ReduceAction101*/;
1199 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[104]) /*AbstractArray::add*/;
1200 /* Register variable[105]: Result */
1201 variable[105] = NEW_ReduceAction102_parser___ReduceAction102___init() /*new ReduceAction102*/;
1202 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[105]) /*AbstractArray::add*/;
1203 /* Register variable[106]: Result */
1204 variable[106] = NEW_ReduceAction103_parser___ReduceAction103___init() /*new ReduceAction103*/;
1205 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[106]) /*AbstractArray::add*/;
1206 /* Register variable[107]: Result */
1207 variable[107] = NEW_ReduceAction104_parser___ReduceAction104___init() /*new ReduceAction104*/;
1208 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[107]) /*AbstractArray::add*/;
1209 /* Register variable[108]: Result */
1210 variable[108] = NEW_ReduceAction105_parser___ReduceAction105___init() /*new ReduceAction105*/;
1211 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[108]) /*AbstractArray::add*/;
1212 /* Register variable[109]: Result */
1213 variable[109] = NEW_ReduceAction106_parser___ReduceAction106___init() /*new ReduceAction106*/;
1214 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[109]) /*AbstractArray::add*/;
1215 /* Register variable[110]: Result */
1216 variable[110] = NEW_ReduceAction107_parser___ReduceAction107___init() /*new ReduceAction107*/;
1217 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[110]) /*AbstractArray::add*/;
1218 /* Register variable[111]: Result */
1219 variable[111] = NEW_ReduceAction108_parser___ReduceAction108___init() /*new ReduceAction108*/;
1220 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[111]) /*AbstractArray::add*/;
1221 /* Register variable[112]: Result */
1222 variable[112] = NEW_ReduceAction109_parser___ReduceAction109___init() /*new ReduceAction109*/;
1223 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[112]) /*AbstractArray::add*/;
1224 /* Register variable[113]: Result */
1225 variable[113] = NEW_ReduceAction110_parser___ReduceAction110___init() /*new ReduceAction110*/;
1226 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[113]) /*AbstractArray::add*/;
1227 /* Register variable[114]: Result */
1228 variable[114] = NEW_ReduceAction111_parser___ReduceAction111___init() /*new ReduceAction111*/;
1229 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[114]) /*AbstractArray::add*/;
1230 /* Register variable[115]: Result */
1231 variable[115] = NEW_ReduceAction112_parser___ReduceAction112___init() /*new ReduceAction112*/;
1232 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[115]) /*AbstractArray::add*/;
1233 /* Register variable[116]: Result */
1234 variable[116] = NEW_ReduceAction113_parser___ReduceAction113___init() /*new ReduceAction113*/;
1235 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[116]) /*AbstractArray::add*/;
1236 /* Register variable[117]: Result */
1237 variable[117] = NEW_ReduceAction114_parser___ReduceAction114___init() /*new ReduceAction114*/;
1238 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[117]) /*AbstractArray::add*/;
1239 /* Register variable[118]: Result */
1240 variable[118] = NEW_ReduceAction115_parser___ReduceAction115___init() /*new ReduceAction115*/;
1241 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[118]) /*AbstractArray::add*/;
1242 /* Register variable[119]: Result */
1243 variable[119] = NEW_ReduceAction116_parser___ReduceAction116___init() /*new ReduceAction116*/;
1244 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[119]) /*AbstractArray::add*/;
1245 /* Register variable[120]: Result */
1246 variable[120] = NEW_ReduceAction117_parser___ReduceAction117___init() /*new ReduceAction117*/;
1247 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[120]) /*AbstractArray::add*/;
1248 /* Register variable[121]: Result */
1249 variable[121] = NEW_ReduceAction118_parser___ReduceAction118___init() /*new ReduceAction118*/;
1250 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[121]) /*AbstractArray::add*/;
1251 /* Register variable[122]: Result */
1252 variable[122] = NEW_ReduceAction119_parser___ReduceAction119___init() /*new ReduceAction119*/;
1253 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[122]) /*AbstractArray::add*/;
1254 /* Register variable[123]: Result */
1255 variable[123] = NEW_ReduceAction120_parser___ReduceAction120___init() /*new ReduceAction120*/;
1256 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[123]) /*AbstractArray::add*/;
1257 /* Register variable[124]: Result */
1258 variable[124] = NEW_ReduceAction121_parser___ReduceAction121___init() /*new ReduceAction121*/;
1259 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[124]) /*AbstractArray::add*/;
1260 /* Register variable[125]: Result */
1261 variable[125] = NEW_ReduceAction122_parser___ReduceAction122___init() /*new ReduceAction122*/;
1262 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[125]) /*AbstractArray::add*/;
1263 /* Register variable[126]: Result */
1264 variable[126] = NEW_ReduceAction123_parser___ReduceAction123___init() /*new ReduceAction123*/;
1265 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[126]) /*AbstractArray::add*/;
1266 /* Register variable[127]: Result */
1267 variable[127] = NEW_ReduceAction124_parser___ReduceAction124___init() /*new ReduceAction124*/;
1268 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[127]) /*AbstractArray::add*/;
1269 /* Register variable[128]: Result */
1270 variable[128] = NEW_ReduceAction125_parser___ReduceAction125___init() /*new ReduceAction125*/;
1271 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[128]) /*AbstractArray::add*/;
1272 /* Register variable[129]: Result */
1273 variable[129] = NEW_ReduceAction126_parser___ReduceAction126___init() /*new ReduceAction126*/;
1274 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[129]) /*AbstractArray::add*/;
1275 /* Register variable[130]: Result */
1276 variable[130] = NEW_ReduceAction127_parser___ReduceAction127___init() /*new ReduceAction127*/;
1277 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[130]) /*AbstractArray::add*/;
1278 /* Register variable[131]: Result */
1279 variable[131] = NEW_ReduceAction128_parser___ReduceAction128___init() /*new ReduceAction128*/;
1280 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[131]) /*AbstractArray::add*/;
1281 /* Register variable[132]: Result */
1282 variable[132] = NEW_ReduceAction129_parser___ReduceAction129___init() /*new ReduceAction129*/;
1283 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[132]) /*AbstractArray::add*/;
1284 /* Register variable[133]: Result */
1285 variable[133] = NEW_ReduceAction130_parser___ReduceAction130___init() /*new ReduceAction130*/;
1286 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[133]) /*AbstractArray::add*/;
1287 /* Register variable[134]: Result */
1288 variable[134] = NEW_ReduceAction131_parser___ReduceAction131___init() /*new ReduceAction131*/;
1289 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[134]) /*AbstractArray::add*/;
1290 /* Register variable[135]: Result */
1291 variable[135] = NEW_ReduceAction132_parser___ReduceAction132___init() /*new ReduceAction132*/;
1292 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[135]) /*AbstractArray::add*/;
1293 /* Register variable[136]: Result */
1294 variable[136] = NEW_ReduceAction133_parser___ReduceAction133___init() /*new ReduceAction133*/;
1295 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[136]) /*AbstractArray::add*/;
1296 /* Register variable[137]: Result */
1297 variable[137] = NEW_ReduceAction134_parser___ReduceAction134___init() /*new ReduceAction134*/;
1298 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[137]) /*AbstractArray::add*/;
1299 /* Register variable[138]: Result */
1300 variable[138] = NEW_ReduceAction135_parser___ReduceAction135___init() /*new ReduceAction135*/;
1301 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[138]) /*AbstractArray::add*/;
1302 /* Register variable[139]: Result */
1303 variable[139] = NEW_ReduceAction136_parser___ReduceAction136___init() /*new ReduceAction136*/;
1304 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[139]) /*AbstractArray::add*/;
1305 /* Register variable[140]: Result */
1306 variable[140] = NEW_ReduceAction137_parser___ReduceAction137___init() /*new ReduceAction137*/;
1307 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[140]) /*AbstractArray::add*/;
1308 /* Register variable[141]: Result */
1309 variable[141] = NEW_ReduceAction138_parser___ReduceAction138___init() /*new ReduceAction138*/;
1310 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[141]) /*AbstractArray::add*/;
1311 /* Register variable[142]: Result */
1312 variable[142] = NEW_ReduceAction139_parser___ReduceAction139___init() /*new ReduceAction139*/;
1313 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[142]) /*AbstractArray::add*/;
1314 /* Register variable[143]: Result */
1315 variable[143] = NEW_ReduceAction140_parser___ReduceAction140___init() /*new ReduceAction140*/;
1316 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[143]) /*AbstractArray::add*/;
1317 /* Register variable[144]: Result */
1318 variable[144] = NEW_ReduceAction141_parser___ReduceAction141___init() /*new ReduceAction141*/;
1319 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[144]) /*AbstractArray::add*/;
1320 /* Register variable[145]: Result */
1321 variable[145] = NEW_ReduceAction142_parser___ReduceAction142___init() /*new ReduceAction142*/;
1322 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[145]) /*AbstractArray::add*/;
1323 /* Register variable[146]: Result */
1324 variable[146] = NEW_ReduceAction143_parser___ReduceAction143___init() /*new ReduceAction143*/;
1325 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[146]) /*AbstractArray::add*/;
1326 /* Register variable[147]: Result */
1327 variable[147] = NEW_ReduceAction144_parser___ReduceAction144___init() /*new ReduceAction144*/;
1328 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[147]) /*AbstractArray::add*/;
1329 /* Register variable[148]: Result */
1330 variable[148] = NEW_ReduceAction145_parser___ReduceAction145___init() /*new ReduceAction145*/;
1331 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[148]) /*AbstractArray::add*/;
1332 /* Register variable[149]: Result */
1333 variable[149] = NEW_ReduceAction146_parser___ReduceAction146___init() /*new ReduceAction146*/;
1334 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[149]) /*AbstractArray::add*/;
1335 /* Register variable[150]: Result */
1336 variable[150] = NEW_ReduceAction147_parser___ReduceAction147___init() /*new ReduceAction147*/;
1337 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[150]) /*AbstractArray::add*/;
1338 /* Register variable[151]: Result */
1339 variable[151] = NEW_ReduceAction148_parser___ReduceAction148___init() /*new ReduceAction148*/;
1340 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[151]) /*AbstractArray::add*/;
1341 /* Register variable[152]: Result */
1342 variable[152] = NEW_ReduceAction149_parser___ReduceAction149___init() /*new ReduceAction149*/;
1343 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[152]) /*AbstractArray::add*/;
1344 /* Register variable[153]: Result */
1345 variable[153] = NEW_ReduceAction150_parser___ReduceAction150___init() /*new ReduceAction150*/;
1346 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[153]) /*AbstractArray::add*/;
1347 /* Register variable[154]: Result */
1348 variable[154] = NEW_ReduceAction151_parser___ReduceAction151___init() /*new ReduceAction151*/;
1349 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[154]) /*AbstractArray::add*/;
1350 /* Register variable[155]: Result */
1351 variable[155] = NEW_ReduceAction152_parser___ReduceAction152___init() /*new ReduceAction152*/;
1352 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[155]) /*AbstractArray::add*/;
1353 /* Register variable[156]: Result */
1354 variable[156] = NEW_ReduceAction153_parser___ReduceAction153___init() /*new ReduceAction153*/;
1355 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[156]) /*AbstractArray::add*/;
1356 /* Register variable[157]: Result */
1357 variable[157] = NEW_ReduceAction154_parser___ReduceAction154___init() /*new ReduceAction154*/;
1358 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[157]) /*AbstractArray::add*/;
1359 /* Register variable[158]: Result */
1360 variable[158] = NEW_ReduceAction155_parser___ReduceAction155___init() /*new ReduceAction155*/;
1361 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[158]) /*AbstractArray::add*/;
1362 /* Register variable[159]: Result */
1363 variable[159] = NEW_ReduceAction156_parser___ReduceAction156___init() /*new ReduceAction156*/;
1364 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[159]) /*AbstractArray::add*/;
1365 /* Register variable[160]: Result */
1366 variable[160] = NEW_ReduceAction157_parser___ReduceAction157___init() /*new ReduceAction157*/;
1367 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[160]) /*AbstractArray::add*/;
1368 /* Register variable[161]: Result */
1369 variable[161] = NEW_ReduceAction158_parser___ReduceAction158___init() /*new ReduceAction158*/;
1370 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[161]) /*AbstractArray::add*/;
1371 /* Register variable[162]: Result */
1372 variable[162] = NEW_ReduceAction159_parser___ReduceAction159___init() /*new ReduceAction159*/;
1373 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[162]) /*AbstractArray::add*/;
1374 /* Register variable[163]: Result */
1375 variable[163] = NEW_ReduceAction160_parser___ReduceAction160___init() /*new ReduceAction160*/;
1376 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[163]) /*AbstractArray::add*/;
1377 /* Register variable[164]: Result */
1378 variable[164] = NEW_ReduceAction161_parser___ReduceAction161___init() /*new ReduceAction161*/;
1379 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[164]) /*AbstractArray::add*/;
1380 /* Register variable[165]: Result */
1381 variable[165] = NEW_ReduceAction162_parser___ReduceAction162___init() /*new ReduceAction162*/;
1382 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[165]) /*AbstractArray::add*/;
1383 /* Register variable[166]: Result */
1384 variable[166] = NEW_ReduceAction163_parser___ReduceAction163___init() /*new ReduceAction163*/;
1385 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[166]) /*AbstractArray::add*/;
1386 /* Register variable[167]: Result */
1387 variable[167] = NEW_ReduceAction164_parser___ReduceAction164___init() /*new ReduceAction164*/;
1388 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[167]) /*AbstractArray::add*/;
1389 /* Register variable[168]: Result */
1390 variable[168] = NEW_ReduceAction165_parser___ReduceAction165___init() /*new ReduceAction165*/;
1391 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[168]) /*AbstractArray::add*/;
1392 /* Register variable[169]: Result */
1393 variable[169] = NEW_ReduceAction166_parser___ReduceAction166___init() /*new ReduceAction166*/;
1394 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[169]) /*AbstractArray::add*/;
1395 /* Register variable[170]: Result */
1396 variable[170] = NEW_ReduceAction167_parser___ReduceAction167___init() /*new ReduceAction167*/;
1397 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[170]) /*AbstractArray::add*/;
1398 /* Register variable[171]: Result */
1399 variable[171] = NEW_ReduceAction168_parser___ReduceAction168___init() /*new ReduceAction168*/;
1400 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[171]) /*AbstractArray::add*/;
1401 /* Register variable[172]: Result */
1402 variable[172] = NEW_ReduceAction169_parser___ReduceAction169___init() /*new ReduceAction169*/;
1403 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[172]) /*AbstractArray::add*/;
1404 /* Register variable[173]: Result */
1405 variable[173] = NEW_ReduceAction170_parser___ReduceAction170___init() /*new ReduceAction170*/;
1406 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[173]) /*AbstractArray::add*/;
1407 /* Register variable[174]: Result */
1408 variable[174] = NEW_ReduceAction171_parser___ReduceAction171___init() /*new ReduceAction171*/;
1409 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[174]) /*AbstractArray::add*/;
1410 /* Register variable[175]: Result */
1411 variable[175] = NEW_ReduceAction172_parser___ReduceAction172___init() /*new ReduceAction172*/;
1412 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[175]) /*AbstractArray::add*/;
1413 /* Register variable[176]: Result */
1414 variable[176] = NEW_ReduceAction173_parser___ReduceAction173___init() /*new ReduceAction173*/;
1415 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[176]) /*AbstractArray::add*/;
1416 /* Register variable[177]: Result */
1417 variable[177] = NEW_ReduceAction174_parser___ReduceAction174___init() /*new ReduceAction174*/;
1418 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[177]) /*AbstractArray::add*/;
1419 /* Register variable[178]: Result */
1420 variable[178] = NEW_ReduceAction175_parser___ReduceAction175___init() /*new ReduceAction175*/;
1421 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[178]) /*AbstractArray::add*/;
1422 /* Register variable[179]: Result */
1423 variable[179] = NEW_ReduceAction176_parser___ReduceAction176___init() /*new ReduceAction176*/;
1424 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[179]) /*AbstractArray::add*/;
1425 /* Register variable[180]: Result */
1426 variable[180] = NEW_ReduceAction177_parser___ReduceAction177___init() /*new ReduceAction177*/;
1427 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[180]) /*AbstractArray::add*/;
1428 /* Register variable[181]: Result */
1429 variable[181] = NEW_ReduceAction178_parser___ReduceAction178___init() /*new ReduceAction178*/;
1430 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[181]) /*AbstractArray::add*/;
1431 /* Register variable[182]: Result */
1432 variable[182] = NEW_ReduceAction179_parser___ReduceAction179___init() /*new ReduceAction179*/;
1433 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[182]) /*AbstractArray::add*/;
1434 /* Register variable[183]: Result */
1435 variable[183] = NEW_ReduceAction180_parser___ReduceAction180___init() /*new ReduceAction180*/;
1436 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[183]) /*AbstractArray::add*/;
1437 /* Register variable[184]: Result */
1438 variable[184] = NEW_ReduceAction181_parser___ReduceAction181___init() /*new ReduceAction181*/;
1439 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[184]) /*AbstractArray::add*/;
1440 /* Register variable[185]: Result */
1441 variable[185] = NEW_ReduceAction182_parser___ReduceAction182___init() /*new ReduceAction182*/;
1442 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[185]) /*AbstractArray::add*/;
1443 /* Register variable[186]: Result */
1444 variable[186] = NEW_ReduceAction183_parser___ReduceAction183___init() /*new ReduceAction183*/;
1445 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[186]) /*AbstractArray::add*/;
1446 /* Register variable[187]: Result */
1447 variable[187] = NEW_ReduceAction184_parser___ReduceAction184___init() /*new ReduceAction184*/;
1448 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[187]) /*AbstractArray::add*/;
1449 /* Register variable[188]: Result */
1450 variable[188] = NEW_ReduceAction185_parser___ReduceAction185___init() /*new ReduceAction185*/;
1451 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[188]) /*AbstractArray::add*/;
1452 /* Register variable[189]: Result */
1453 variable[189] = NEW_ReduceAction186_parser___ReduceAction186___init() /*new ReduceAction186*/;
1454 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[189]) /*AbstractArray::add*/;
1455 /* Register variable[190]: Result */
1456 variable[190] = NEW_ReduceAction187_parser___ReduceAction187___init() /*new ReduceAction187*/;
1457 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[190]) /*AbstractArray::add*/;
1458 /* Register variable[191]: Result */
1459 variable[191] = NEW_ReduceAction188_parser___ReduceAction188___init() /*new ReduceAction188*/;
1460 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[191]) /*AbstractArray::add*/;
1461 /* Register variable[192]: Result */
1462 variable[192] = NEW_ReduceAction189_parser___ReduceAction189___init() /*new ReduceAction189*/;
1463 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[192]) /*AbstractArray::add*/;
1464 /* Register variable[193]: Result */
1465 variable[193] = NEW_ReduceAction190_parser___ReduceAction190___init() /*new ReduceAction190*/;
1466 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[193]) /*AbstractArray::add*/;
1467 /* Register variable[194]: Result */
1468 variable[194] = NEW_ReduceAction191_parser___ReduceAction191___init() /*new ReduceAction191*/;
1469 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[194]) /*AbstractArray::add*/;
1470 /* Register variable[195]: Result */
1471 variable[195] = NEW_ReduceAction192_parser___ReduceAction192___init() /*new ReduceAction192*/;
1472 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[195]) /*AbstractArray::add*/;
1473 /* Register variable[196]: Result */
1474 variable[196] = NEW_ReduceAction193_parser___ReduceAction193___init() /*new ReduceAction193*/;
1475 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[196]) /*AbstractArray::add*/;
1476 /* Register variable[197]: Result */
1477 variable[197] = NEW_ReduceAction194_parser___ReduceAction194___init() /*new ReduceAction194*/;
1478 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[197]) /*AbstractArray::add*/;
1479 /* Register variable[198]: Result */
1480 variable[198] = NEW_ReduceAction195_parser___ReduceAction195___init() /*new ReduceAction195*/;
1481 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[198]) /*AbstractArray::add*/;
1482 /* Register variable[199]: Result */
1483 variable[199] = NEW_ReduceAction196_parser___ReduceAction196___init() /*new ReduceAction196*/;
1484 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[199]) /*AbstractArray::add*/;
1485 /* Register variable[200]: Result */
1486 variable[200] = NEW_ReduceAction197_parser___ReduceAction197___init() /*new ReduceAction197*/;
1487 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[200]) /*AbstractArray::add*/;
1488 /* Register variable[201]: Result */
1489 variable[201] = NEW_ReduceAction198_parser___ReduceAction198___init() /*new ReduceAction198*/;
1490 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[201]) /*AbstractArray::add*/;
1491 /* Register variable[202]: Result */
1492 variable[202] = NEW_ReduceAction199_parser___ReduceAction199___init() /*new ReduceAction199*/;
1493 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[202]) /*AbstractArray::add*/;
1494 /* Register variable[203]: Result */
1495 variable[203] = NEW_ReduceAction200_parser___ReduceAction200___init() /*new ReduceAction200*/;
1496 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[203]) /*AbstractArray::add*/;
1497 /* Register variable[204]: Result */
1498 variable[204] = NEW_ReduceAction201_parser___ReduceAction201___init() /*new ReduceAction201*/;
1499 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[204]) /*AbstractArray::add*/;
1500 /* Register variable[205]: Result */
1501 variable[205] = NEW_ReduceAction202_parser___ReduceAction202___init() /*new ReduceAction202*/;
1502 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[205]) /*AbstractArray::add*/;
1503 /* Register variable[206]: Result */
1504 variable[206] = NEW_ReduceAction203_parser___ReduceAction203___init() /*new ReduceAction203*/;
1505 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[206]) /*AbstractArray::add*/;
1506 /* Register variable[207]: Result */
1507 variable[207] = NEW_ReduceAction204_parser___ReduceAction204___init() /*new ReduceAction204*/;
1508 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[207]) /*AbstractArray::add*/;
1509 /* Register variable[208]: Result */
1510 variable[208] = NEW_ReduceAction205_parser___ReduceAction205___init() /*new ReduceAction205*/;
1511 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[208]) /*AbstractArray::add*/;
1512 /* Register variable[209]: Result */
1513 variable[209] = NEW_ReduceAction206_parser___ReduceAction206___init() /*new ReduceAction206*/;
1514 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[209]) /*AbstractArray::add*/;
1515 /* Register variable[210]: Result */
1516 variable[210] = NEW_ReduceAction207_parser___ReduceAction207___init() /*new ReduceAction207*/;
1517 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[210]) /*AbstractArray::add*/;
1518 /* Register variable[211]: Result */
1519 variable[211] = NEW_ReduceAction208_parser___ReduceAction208___init() /*new ReduceAction208*/;
1520 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[211]) /*AbstractArray::add*/;
1521 /* Register variable[212]: Result */
1522 variable[212] = NEW_ReduceAction209_parser___ReduceAction209___init() /*new ReduceAction209*/;
1523 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[212]) /*AbstractArray::add*/;
1524 /* Register variable[213]: Result */
1525 variable[213] = NEW_ReduceAction210_parser___ReduceAction210___init() /*new ReduceAction210*/;
1526 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[213]) /*AbstractArray::add*/;
1527 /* Register variable[214]: Result */
1528 variable[214] = NEW_ReduceAction211_parser___ReduceAction211___init() /*new ReduceAction211*/;
1529 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[214]) /*AbstractArray::add*/;
1530 /* Register variable[215]: Result */
1531 variable[215] = NEW_ReduceAction212_parser___ReduceAction212___init() /*new ReduceAction212*/;
1532 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[215]) /*AbstractArray::add*/;
1533 /* Register variable[216]: Result */
1534 variable[216] = NEW_ReduceAction213_parser___ReduceAction213___init() /*new ReduceAction213*/;
1535 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[216]) /*AbstractArray::add*/;
1536 /* Register variable[217]: Result */
1537 variable[217] = NEW_ReduceAction214_parser___ReduceAction214___init() /*new ReduceAction214*/;
1538 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[217]) /*AbstractArray::add*/;
1539 /* Register variable[218]: Result */
1540 variable[218] = NEW_ReduceAction215_parser___ReduceAction215___init() /*new ReduceAction215*/;
1541 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[218]) /*AbstractArray::add*/;
1542 /* Register variable[219]: Result */
1543 variable[219] = NEW_ReduceAction216_parser___ReduceAction216___init() /*new ReduceAction216*/;
1544 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[219]) /*AbstractArray::add*/;
1545 /* Register variable[220]: Result */
1546 variable[220] = NEW_ReduceAction217_parser___ReduceAction217___init() /*new ReduceAction217*/;
1547 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[220]) /*AbstractArray::add*/;
1548 /* Register variable[221]: Result */
1549 variable[221] = NEW_ReduceAction218_parser___ReduceAction218___init() /*new ReduceAction218*/;
1550 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[221]) /*AbstractArray::add*/;
1551 /* Register variable[222]: Result */
1552 variable[222] = NEW_ReduceAction219_parser___ReduceAction219___init() /*new ReduceAction219*/;
1553 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[222]) /*AbstractArray::add*/;
1554 /* Register variable[223]: Result */
1555 variable[223] = NEW_ReduceAction220_parser___ReduceAction220___init() /*new ReduceAction220*/;
1556 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[223]) /*AbstractArray::add*/;
1557 /* Register variable[224]: Result */
1558 variable[224] = NEW_ReduceAction221_parser___ReduceAction221___init() /*new ReduceAction221*/;
1559 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[224]) /*AbstractArray::add*/;
1560 /* Register variable[225]: Result */
1561 variable[225] = NEW_ReduceAction222_parser___ReduceAction222___init() /*new ReduceAction222*/;
1562 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[225]) /*AbstractArray::add*/;
1563 /* Register variable[226]: Result */
1564 variable[226] = NEW_ReduceAction223_parser___ReduceAction223___init() /*new ReduceAction223*/;
1565 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[226]) /*AbstractArray::add*/;
1566 /* Register variable[227]: Result */
1567 variable[227] = NEW_ReduceAction224_parser___ReduceAction224___init() /*new ReduceAction224*/;
1568 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[227]) /*AbstractArray::add*/;
1569 /* Register variable[228]: Result */
1570 variable[228] = NEW_ReduceAction225_parser___ReduceAction225___init() /*new ReduceAction225*/;
1571 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[228]) /*AbstractArray::add*/;
1572 /* Register variable[229]: Result */
1573 variable[229] = NEW_ReduceAction226_parser___ReduceAction226___init() /*new ReduceAction226*/;
1574 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[229]) /*AbstractArray::add*/;
1575 /* Register variable[230]: Result */
1576 variable[230] = NEW_ReduceAction227_parser___ReduceAction227___init() /*new ReduceAction227*/;
1577 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[230]) /*AbstractArray::add*/;
1578 /* Register variable[231]: Result */
1579 variable[231] = NEW_ReduceAction228_parser___ReduceAction228___init() /*new ReduceAction228*/;
1580 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[231]) /*AbstractArray::add*/;
1581 /* Register variable[232]: Result */
1582 variable[232] = NEW_ReduceAction229_parser___ReduceAction229___init() /*new ReduceAction229*/;
1583 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[232]) /*AbstractArray::add*/;
1584 /* Register variable[233]: Result */
1585 variable[233] = NEW_ReduceAction230_parser___ReduceAction230___init() /*new ReduceAction230*/;
1586 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[233]) /*AbstractArray::add*/;
1587 /* Register variable[234]: Result */
1588 variable[234] = NEW_ReduceAction231_parser___ReduceAction231___init() /*new ReduceAction231*/;
1589 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[234]) /*AbstractArray::add*/;
1590 /* Register variable[235]: Result */
1591 variable[235] = NEW_ReduceAction232_parser___ReduceAction232___init() /*new ReduceAction232*/;
1592 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[235]) /*AbstractArray::add*/;
1593 /* Register variable[236]: Result */
1594 variable[236] = NEW_ReduceAction233_parser___ReduceAction233___init() /*new ReduceAction233*/;
1595 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[236]) /*AbstractArray::add*/;
1596 /* Register variable[237]: Result */
1597 variable[237] = NEW_ReduceAction234_parser___ReduceAction234___init() /*new ReduceAction234*/;
1598 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[237]) /*AbstractArray::add*/;
1599 /* Register variable[238]: Result */
1600 variable[238] = NEW_ReduceAction235_parser___ReduceAction235___init() /*new ReduceAction235*/;
1601 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[238]) /*AbstractArray::add*/;
1602 /* Register variable[239]: Result */
1603 variable[239] = NEW_ReduceAction236_parser___ReduceAction236___init() /*new ReduceAction236*/;
1604 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[239]) /*AbstractArray::add*/;
1605 /* Register variable[240]: Result */
1606 variable[240] = NEW_ReduceAction237_parser___ReduceAction237___init() /*new ReduceAction237*/;
1607 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[240]) /*AbstractArray::add*/;
1608 /* Register variable[241]: Result */
1609 variable[241] = NEW_ReduceAction238_parser___ReduceAction238___init() /*new ReduceAction238*/;
1610 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[241]) /*AbstractArray::add*/;
1611 /* Register variable[242]: Result */
1612 variable[242] = NEW_ReduceAction239_parser___ReduceAction239___init() /*new ReduceAction239*/;
1613 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[242]) /*AbstractArray::add*/;
1614 /* Register variable[243]: Result */
1615 variable[243] = NEW_ReduceAction240_parser___ReduceAction240___init() /*new ReduceAction240*/;
1616 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[243]) /*AbstractArray::add*/;
1617 /* Register variable[244]: Result */
1618 variable[244] = NEW_ReduceAction241_parser___ReduceAction241___init() /*new ReduceAction241*/;
1619 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[244]) /*AbstractArray::add*/;
1620 /* Register variable[245]: Result */
1621 variable[245] = NEW_ReduceAction242_parser___ReduceAction242___init() /*new ReduceAction242*/;
1622 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[245]) /*AbstractArray::add*/;
1623 /* Register variable[246]: Result */
1624 variable[246] = NEW_ReduceAction243_parser___ReduceAction243___init() /*new ReduceAction243*/;
1625 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[246]) /*AbstractArray::add*/;
1626 /* Register variable[247]: Result */
1627 variable[247] = NEW_ReduceAction244_parser___ReduceAction244___init() /*new ReduceAction244*/;
1628 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[247]) /*AbstractArray::add*/;
1629 /* Register variable[248]: Result */
1630 variable[248] = NEW_ReduceAction245_parser___ReduceAction245___init() /*new ReduceAction245*/;
1631 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[248]) /*AbstractArray::add*/;
1632 /* Register variable[249]: Result */
1633 variable[249] = NEW_ReduceAction246_parser___ReduceAction246___init() /*new ReduceAction246*/;
1634 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[249]) /*AbstractArray::add*/;
1635 /* Register variable[250]: Result */
1636 variable[250] = NEW_ReduceAction247_parser___ReduceAction247___init() /*new ReduceAction247*/;
1637 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[250]) /*AbstractArray::add*/;
1638 /* Register variable[251]: Result */
1639 variable[251] = NEW_ReduceAction248_parser___ReduceAction248___init() /*new ReduceAction248*/;
1640 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[251]) /*AbstractArray::add*/;
1641 /* Register variable[252]: Result */
1642 variable[252] = NEW_ReduceAction249_parser___ReduceAction249___init() /*new ReduceAction249*/;
1643 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[252]) /*AbstractArray::add*/;
1644 /* Register variable[253]: Result */
1645 variable[253] = NEW_ReduceAction250_parser___ReduceAction250___init() /*new ReduceAction250*/;
1646 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[253]) /*AbstractArray::add*/;
1647 /* Register variable[254]: Result */
1648 variable[254] = NEW_ReduceAction251_parser___ReduceAction251___init() /*new ReduceAction251*/;
1649 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[254]) /*AbstractArray::add*/;
1650 /* Register variable[255]: Result */
1651 variable[255] = NEW_ReduceAction252_parser___ReduceAction252___init() /*new ReduceAction252*/;
1652 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[255]) /*AbstractArray::add*/;
1653 /* Register variable[256]: Result */
1654 variable[256] = NEW_ReduceAction253_parser___ReduceAction253___init() /*new ReduceAction253*/;
1655 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[256]) /*AbstractArray::add*/;
1656 /* Register variable[257]: Result */
1657 variable[257] = NEW_ReduceAction254_parser___ReduceAction254___init() /*new ReduceAction254*/;
1658 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[257]) /*AbstractArray::add*/;
1659 /* Register variable[258]: Result */
1660 variable[258] = NEW_ReduceAction255_parser___ReduceAction255___init() /*new ReduceAction255*/;
1661 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[258]) /*AbstractArray::add*/;
1662 /* Register variable[259]: Result */
1663 variable[259] = NEW_ReduceAction256_parser___ReduceAction256___init() /*new ReduceAction256*/;
1664 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[259]) /*AbstractArray::add*/;
1665 /* Register variable[260]: Result */
1666 variable[260] = NEW_ReduceAction257_parser___ReduceAction257___init() /*new ReduceAction257*/;
1667 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[260]) /*AbstractArray::add*/;
1668 /* Register variable[261]: Result */
1669 variable[261] = NEW_ReduceAction258_parser___ReduceAction258___init() /*new ReduceAction258*/;
1670 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[261]) /*AbstractArray::add*/;
1671 /* Register variable[262]: Result */
1672 variable[262] = NEW_ReduceAction259_parser___ReduceAction259___init() /*new ReduceAction259*/;
1673 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[262]) /*AbstractArray::add*/;
1674 /* Register variable[263]: Result */
1675 variable[263] = NEW_ReduceAction260_parser___ReduceAction260___init() /*new ReduceAction260*/;
1676 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[263]) /*AbstractArray::add*/;
1677 /* Register variable[264]: Result */
1678 variable[264] = NEW_ReduceAction261_parser___ReduceAction261___init() /*new ReduceAction261*/;
1679 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[264]) /*AbstractArray::add*/;
1680 /* Register variable[265]: Result */
1681 variable[265] = NEW_ReduceAction262_parser___ReduceAction262___init() /*new ReduceAction262*/;
1682 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[265]) /*AbstractArray::add*/;
1683 /* Register variable[266]: Result */
1684 variable[266] = NEW_ReduceAction263_parser___ReduceAction263___init() /*new ReduceAction263*/;
1685 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[266]) /*AbstractArray::add*/;
1686 /* Register variable[267]: Result */
1687 variable[267] = NEW_ReduceAction264_parser___ReduceAction264___init() /*new ReduceAction264*/;
1688 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[267]) /*AbstractArray::add*/;
1689 /* Register variable[268]: Result */
1690 variable[268] = NEW_ReduceAction265_parser___ReduceAction265___init() /*new ReduceAction265*/;
1691 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[268]) /*AbstractArray::add*/;
1692 /* Register variable[269]: Result */
1693 variable[269] = NEW_ReduceAction266_parser___ReduceAction266___init() /*new ReduceAction266*/;
1694 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[269]) /*AbstractArray::add*/;
1695 /* Register variable[270]: Result */
1696 variable[270] = NEW_ReduceAction267_parser___ReduceAction267___init() /*new ReduceAction267*/;
1697 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[270]) /*AbstractArray::add*/;
1698 /* Register variable[271]: Result */
1699 variable[271] = NEW_ReduceAction268_parser___ReduceAction268___init() /*new ReduceAction268*/;
1700 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[271]) /*AbstractArray::add*/;
1701 /* Register variable[272]: Result */
1702 variable[272] = NEW_ReduceAction269_parser___ReduceAction269___init() /*new ReduceAction269*/;
1703 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[272]) /*AbstractArray::add*/;
1704 /* Register variable[273]: Result */
1705 variable[273] = NEW_ReduceAction270_parser___ReduceAction270___init() /*new ReduceAction270*/;
1706 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[273]) /*AbstractArray::add*/;
1707 /* Register variable[274]: Result */
1708 variable[274] = NEW_ReduceAction271_parser___ReduceAction271___init() /*new ReduceAction271*/;
1709 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[274]) /*AbstractArray::add*/;
1710 /* Register variable[275]: Result */
1711 variable[275] = NEW_ReduceAction272_parser___ReduceAction272___init() /*new ReduceAction272*/;
1712 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[275]) /*AbstractArray::add*/;
1713 /* Register variable[276]: Result */
1714 variable[276] = NEW_ReduceAction273_parser___ReduceAction273___init() /*new ReduceAction273*/;
1715 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[276]) /*AbstractArray::add*/;
1716 /* Register variable[277]: Result */
1717 variable[277] = NEW_ReduceAction274_parser___ReduceAction274___init() /*new ReduceAction274*/;
1718 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[277]) /*AbstractArray::add*/;
1719 /* Register variable[278]: Result */
1720 variable[278] = NEW_ReduceAction275_parser___ReduceAction275___init() /*new ReduceAction275*/;
1721 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[278]) /*AbstractArray::add*/;
1722 /* Register variable[279]: Result */
1723 variable[279] = NEW_ReduceAction276_parser___ReduceAction276___init() /*new ReduceAction276*/;
1724 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[279]) /*AbstractArray::add*/;
1725 /* Register variable[280]: Result */
1726 variable[280] = NEW_ReduceAction277_parser___ReduceAction277___init() /*new ReduceAction277*/;
1727 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[280]) /*AbstractArray::add*/;
1728 /* Register variable[281]: Result */
1729 variable[281] = NEW_ReduceAction278_parser___ReduceAction278___init() /*new ReduceAction278*/;
1730 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[281]) /*AbstractArray::add*/;
1731 /* Register variable[282]: Result */
1732 variable[282] = NEW_ReduceAction279_parser___ReduceAction279___init() /*new ReduceAction279*/;
1733 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[282]) /*AbstractArray::add*/;
1734 /* Register variable[283]: Result */
1735 variable[283] = NEW_ReduceAction280_parser___ReduceAction280___init() /*new ReduceAction280*/;
1736 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[283]) /*AbstractArray::add*/;
1737 /* Register variable[284]: Result */
1738 variable[284] = NEW_ReduceAction281_parser___ReduceAction281___init() /*new ReduceAction281*/;
1739 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[284]) /*AbstractArray::add*/;
1740 /* Register variable[285]: Result */
1741 variable[285] = NEW_ReduceAction282_parser___ReduceAction282___init() /*new ReduceAction282*/;
1742 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[285]) /*AbstractArray::add*/;
1743 /* Register variable[286]: Result */
1744 variable[286] = NEW_ReduceAction283_parser___ReduceAction283___init() /*new ReduceAction283*/;
1745 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[286]) /*AbstractArray::add*/;
1746 /* Register variable[287]: Result */
1747 variable[287] = NEW_ReduceAction284_parser___ReduceAction284___init() /*new ReduceAction284*/;
1748 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[287]) /*AbstractArray::add*/;
1749 /* Register variable[288]: Result */
1750 variable[288] = NEW_ReduceAction285_parser___ReduceAction285___init() /*new ReduceAction285*/;
1751 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[288]) /*AbstractArray::add*/;
1752 /* Register variable[289]: Result */
1753 variable[289] = NEW_ReduceAction286_parser___ReduceAction286___init() /*new ReduceAction286*/;
1754 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[289]) /*AbstractArray::add*/;
1755 /* Register variable[290]: Result */
1756 variable[290] = NEW_ReduceAction287_parser___ReduceAction287___init() /*new ReduceAction287*/;
1757 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[290]) /*AbstractArray::add*/;
1758 /* Register variable[291]: Result */
1759 variable[291] = NEW_ReduceAction288_parser___ReduceAction288___init() /*new ReduceAction288*/;
1760 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[291]) /*AbstractArray::add*/;
1761 /* Register variable[292]: Result */
1762 variable[292] = NEW_ReduceAction289_parser___ReduceAction289___init() /*new ReduceAction289*/;
1763 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[292]) /*AbstractArray::add*/;
1764 /* Register variable[293]: Result */
1765 variable[293] = NEW_ReduceAction290_parser___ReduceAction290___init() /*new ReduceAction290*/;
1766 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[293]) /*AbstractArray::add*/;
1767 /* Register variable[294]: Result */
1768 variable[294] = NEW_ReduceAction291_parser___ReduceAction291___init() /*new ReduceAction291*/;
1769 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[294]) /*AbstractArray::add*/;
1770 /* Register variable[295]: Result */
1771 variable[295] = NEW_ReduceAction292_parser___ReduceAction292___init() /*new ReduceAction292*/;
1772 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[295]) /*AbstractArray::add*/;
1773 /* Register variable[296]: Result */
1774 variable[296] = NEW_ReduceAction293_parser___ReduceAction293___init() /*new ReduceAction293*/;
1775 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[296]) /*AbstractArray::add*/;
1776 /* Register variable[297]: Result */
1777 variable[297] = NEW_ReduceAction294_parser___ReduceAction294___init() /*new ReduceAction294*/;
1778 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[297]) /*AbstractArray::add*/;
1779 /* Register variable[298]: Result */
1780 variable[298] = NEW_ReduceAction295_parser___ReduceAction295___init() /*new ReduceAction295*/;
1781 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[298]) /*AbstractArray::add*/;
1782 /* Register variable[299]: Result */
1783 variable[299] = NEW_ReduceAction296_parser___ReduceAction296___init() /*new ReduceAction296*/;
1784 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[299]) /*AbstractArray::add*/;
1785 /* Register variable[300]: Result */
1786 variable[300] = NEW_ReduceAction297_parser___ReduceAction297___init() /*new ReduceAction297*/;
1787 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[300]) /*AbstractArray::add*/;
1788 /* Register variable[301]: Result */
1789 variable[301] = NEW_ReduceAction298_parser___ReduceAction298___init() /*new ReduceAction298*/;
1790 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[301]) /*AbstractArray::add*/;
1791 /* Register variable[302]: Result */
1792 variable[302] = NEW_ReduceAction299_parser___ReduceAction299___init() /*new ReduceAction299*/;
1793 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[302]) /*AbstractArray::add*/;
1794 /* Register variable[303]: Result */
1795 variable[303] = NEW_ReduceAction300_parser___ReduceAction300___init() /*new ReduceAction300*/;
1796 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[303]) /*AbstractArray::add*/;
1797 /* Register variable[304]: Result */
1798 variable[304] = NEW_ReduceAction301_parser___ReduceAction301___init() /*new ReduceAction301*/;
1799 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[304]) /*AbstractArray::add*/;
1800 /* Register variable[305]: Result */
1801 variable[305] = NEW_ReduceAction302_parser___ReduceAction302___init() /*new ReduceAction302*/;
1802 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[305]) /*AbstractArray::add*/;
1803 /* Register variable[306]: Result */
1804 variable[306] = NEW_ReduceAction303_parser___ReduceAction303___init() /*new ReduceAction303*/;
1805 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[306]) /*AbstractArray::add*/;
1806 /* Register variable[307]: Result */
1807 variable[307] = NEW_ReduceAction304_parser___ReduceAction304___init() /*new ReduceAction304*/;
1808 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[307]) /*AbstractArray::add*/;
1809 /* Register variable[308]: Result */
1810 variable[308] = NEW_ReduceAction305_parser___ReduceAction305___init() /*new ReduceAction305*/;
1811 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[308]) /*AbstractArray::add*/;
1812 /* Register variable[309]: Result */
1813 variable[309] = NEW_ReduceAction306_parser___ReduceAction306___init() /*new ReduceAction306*/;
1814 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[309]) /*AbstractArray::add*/;
1815 /* Register variable[310]: Result */
1816 variable[310] = NEW_ReduceAction307_parser___ReduceAction307___init() /*new ReduceAction307*/;
1817 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[310]) /*AbstractArray::add*/;
1818 /* Register variable[311]: Result */
1819 variable[311] = NEW_ReduceAction308_parser___ReduceAction308___init() /*new ReduceAction308*/;
1820 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[311]) /*AbstractArray::add*/;
1821 /* Register variable[312]: Result */
1822 variable[312] = NEW_ReduceAction309_parser___ReduceAction309___init() /*new ReduceAction309*/;
1823 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[312]) /*AbstractArray::add*/;
1824 /* Register variable[313]: Result */
1825 variable[313] = NEW_ReduceAction310_parser___ReduceAction310___init() /*new ReduceAction310*/;
1826 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[313]) /*AbstractArray::add*/;
1827 /* Register variable[314]: Result */
1828 variable[314] = NEW_ReduceAction311_parser___ReduceAction311___init() /*new ReduceAction311*/;
1829 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[314]) /*AbstractArray::add*/;
1830 /* Register variable[315]: Result */
1831 variable[315] = NEW_ReduceAction312_parser___ReduceAction312___init() /*new ReduceAction312*/;
1832 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[315]) /*AbstractArray::add*/;
1833 /* Register variable[316]: Result */
1834 variable[316] = NEW_ReduceAction313_parser___ReduceAction313___init() /*new ReduceAction313*/;
1835 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[316]) /*AbstractArray::add*/;
1836 /* Register variable[317]: Result */
1837 variable[317] = NEW_ReduceAction314_parser___ReduceAction314___init() /*new ReduceAction314*/;
1838 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[317]) /*AbstractArray::add*/;
1839 /* Register variable[318]: Result */
1840 variable[318] = NEW_ReduceAction315_parser___ReduceAction315___init() /*new ReduceAction315*/;
1841 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[318]) /*AbstractArray::add*/;
1842 /* Register variable[319]: Result */
1843 variable[319] = NEW_ReduceAction316_parser___ReduceAction316___init() /*new ReduceAction316*/;
1844 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[319]) /*AbstractArray::add*/;
1845 /* Register variable[320]: Result */
1846 variable[320] = NEW_ReduceAction317_parser___ReduceAction317___init() /*new ReduceAction317*/;
1847 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[320]) /*AbstractArray::add*/;
1848 /* Register variable[321]: Result */
1849 variable[321] = NEW_ReduceAction318_parser___ReduceAction318___init() /*new ReduceAction318*/;
1850 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[321]) /*AbstractArray::add*/;
1851 /* Register variable[322]: Result */
1852 variable[322] = NEW_ReduceAction319_parser___ReduceAction319___init() /*new ReduceAction319*/;
1853 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[322]) /*AbstractArray::add*/;
1854 /* Register variable[323]: Result */
1855 variable[323] = NEW_ReduceAction320_parser___ReduceAction320___init() /*new ReduceAction320*/;
1856 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[323]) /*AbstractArray::add*/;
1857 /* Register variable[324]: Result */
1858 variable[324] = NEW_ReduceAction321_parser___ReduceAction321___init() /*new ReduceAction321*/;
1859 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[324]) /*AbstractArray::add*/;
1860 /* Register variable[325]: Result */
1861 variable[325] = NEW_ReduceAction322_parser___ReduceAction322___init() /*new ReduceAction322*/;
1862 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[325]) /*AbstractArray::add*/;
1863 /* Register variable[326]: Result */
1864 variable[326] = NEW_ReduceAction323_parser___ReduceAction323___init() /*new ReduceAction323*/;
1865 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[326]) /*AbstractArray::add*/;
1866 /* Register variable[327]: Result */
1867 variable[327] = NEW_ReduceAction324_parser___ReduceAction324___init() /*new ReduceAction324*/;
1868 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[327]) /*AbstractArray::add*/;
1869 /* Register variable[328]: Result */
1870 variable[328] = NEW_ReduceAction325_parser___ReduceAction325___init() /*new ReduceAction325*/;
1871 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[328]) /*AbstractArray::add*/;
1872 /* Register variable[329]: Result */
1873 variable[329] = NEW_ReduceAction326_parser___ReduceAction326___init() /*new ReduceAction326*/;
1874 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[329]) /*AbstractArray::add*/;
1875 /* Register variable[330]: Result */
1876 variable[330] = NEW_ReduceAction327_parser___ReduceAction327___init() /*new ReduceAction327*/;
1877 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[330]) /*AbstractArray::add*/;
1878 /* Register variable[331]: Result */
1879 variable[331] = NEW_ReduceAction328_parser___ReduceAction328___init() /*new ReduceAction328*/;
1880 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[331]) /*AbstractArray::add*/;
1881 /* Register variable[332]: Result */
1882 variable[332] = NEW_ReduceAction329_parser___ReduceAction329___init() /*new ReduceAction329*/;
1883 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[332]) /*AbstractArray::add*/;
1884 /* Register variable[333]: Result */
1885 variable[333] = NEW_ReduceAction330_parser___ReduceAction330___init() /*new ReduceAction330*/;
1886 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[333]) /*AbstractArray::add*/;
1887 /* Register variable[334]: Result */
1888 variable[334] = NEW_ReduceAction331_parser___ReduceAction331___init() /*new ReduceAction331*/;
1889 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[334]) /*AbstractArray::add*/;
1890 /* Register variable[335]: Result */
1891 variable[335] = NEW_ReduceAction332_parser___ReduceAction332___init() /*new ReduceAction332*/;
1892 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[335]) /*AbstractArray::add*/;
1893 /* Register variable[336]: Result */
1894 variable[336] = NEW_ReduceAction333_parser___ReduceAction333___init() /*new ReduceAction333*/;
1895 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[336]) /*AbstractArray::add*/;
1896 /* Register variable[337]: Result */
1897 variable[337] = NEW_ReduceAction334_parser___ReduceAction334___init() /*new ReduceAction334*/;
1898 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[337]) /*AbstractArray::add*/;
1899 /* Register variable[338]: Result */
1900 variable[338] = NEW_ReduceAction335_parser___ReduceAction335___init() /*new ReduceAction335*/;
1901 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[338]) /*AbstractArray::add*/;
1902 /* Register variable[339]: Result */
1903 variable[339] = NEW_ReduceAction336_parser___ReduceAction336___init() /*new ReduceAction336*/;
1904 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[339]) /*AbstractArray::add*/;
1905 /* Register variable[340]: Result */
1906 variable[340] = NEW_ReduceAction337_parser___ReduceAction337___init() /*new ReduceAction337*/;
1907 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[340]) /*AbstractArray::add*/;
1908 /* Register variable[341]: Result */
1909 variable[341] = NEW_ReduceAction338_parser___ReduceAction338___init() /*new ReduceAction338*/;
1910 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[341]) /*AbstractArray::add*/;
1911 /* Register variable[342]: Result */
1912 variable[342] = NEW_ReduceAction339_parser___ReduceAction339___init() /*new ReduceAction339*/;
1913 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[342]) /*AbstractArray::add*/;
1914 /* Register variable[343]: Result */
1915 variable[343] = NEW_ReduceAction340_parser___ReduceAction340___init() /*new ReduceAction340*/;
1916 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[343]) /*AbstractArray::add*/;
1917 /* Register variable[344]: Result */
1918 variable[344] = NEW_ReduceAction341_parser___ReduceAction341___init() /*new ReduceAction341*/;
1919 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[344]) /*AbstractArray::add*/;
1920 /* Register variable[345]: Result */
1921 variable[345] = NEW_ReduceAction342_parser___ReduceAction342___init() /*new ReduceAction342*/;
1922 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[345]) /*AbstractArray::add*/;
1923 /* Register variable[346]: Result */
1924 variable[346] = NEW_ReduceAction343_parser___ReduceAction343___init() /*new ReduceAction343*/;
1925 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[346]) /*AbstractArray::add*/;
1926 /* Register variable[347]: Result */
1927 variable[347] = NEW_ReduceAction344_parser___ReduceAction344___init() /*new ReduceAction344*/;
1928 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[347]) /*AbstractArray::add*/;
1929 /* Register variable[348]: Result */
1930 variable[348] = NEW_ReduceAction345_parser___ReduceAction345___init() /*new ReduceAction345*/;
1931 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[348]) /*AbstractArray::add*/;
1932 /* Register variable[349]: Result */
1933 variable[349] = NEW_ReduceAction346_parser___ReduceAction346___init() /*new ReduceAction346*/;
1934 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[349]) /*AbstractArray::add*/;
1935 /* Register variable[350]: Result */
1936 variable[350] = NEW_ReduceAction347_parser___ReduceAction347___init() /*new ReduceAction347*/;
1937 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[350]) /*AbstractArray::add*/;
1938 /* Register variable[351]: Result */
1939 variable[351] = NEW_ReduceAction348_parser___ReduceAction348___init() /*new ReduceAction348*/;
1940 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[351]) /*AbstractArray::add*/;
1941 /* Register variable[352]: Result */
1942 variable[352] = NEW_ReduceAction349_parser___ReduceAction349___init() /*new ReduceAction349*/;
1943 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[352]) /*AbstractArray::add*/;
1944 /* Register variable[353]: Result */
1945 variable[353] = NEW_ReduceAction350_parser___ReduceAction350___init() /*new ReduceAction350*/;
1946 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[353]) /*AbstractArray::add*/;
1947 /* Register variable[354]: Result */
1948 variable[354] = NEW_ReduceAction351_parser___ReduceAction351___init() /*new ReduceAction351*/;
1949 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[354]) /*AbstractArray::add*/;
1950 /* Register variable[355]: Result */
1951 variable[355] = NEW_ReduceAction352_parser___ReduceAction352___init() /*new ReduceAction352*/;
1952 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[355]) /*AbstractArray::add*/;
1953 /* Register variable[356]: Result */
1954 variable[356] = NEW_ReduceAction353_parser___ReduceAction353___init() /*new ReduceAction353*/;
1955 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[356]) /*AbstractArray::add*/;
1956 /* Register variable[357]: Result */
1957 variable[357] = NEW_ReduceAction354_parser___ReduceAction354___init() /*new ReduceAction354*/;
1958 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[357]) /*AbstractArray::add*/;
1959 /* Register variable[358]: Result */
1960 variable[358] = NEW_ReduceAction355_parser___ReduceAction355___init() /*new ReduceAction355*/;
1961 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[358]) /*AbstractArray::add*/;
1962 /* Register variable[359]: Result */
1963 variable[359] = NEW_ReduceAction356_parser___ReduceAction356___init() /*new ReduceAction356*/;
1964 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[359]) /*AbstractArray::add*/;
1965 /* Register variable[360]: Result */
1966 variable[360] = NEW_ReduceAction357_parser___ReduceAction357___init() /*new ReduceAction357*/;
1967 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[360]) /*AbstractArray::add*/;
1968 /* Register variable[361]: Result */
1969 variable[361] = NEW_ReduceAction358_parser___ReduceAction358___init() /*new ReduceAction358*/;
1970 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[361]) /*AbstractArray::add*/;
1971 /* Register variable[362]: Result */
1972 variable[362] = NEW_ReduceAction359_parser___ReduceAction359___init() /*new ReduceAction359*/;
1973 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[362]) /*AbstractArray::add*/;
1974 /* Register variable[363]: Result */
1975 variable[363] = NEW_ReduceAction360_parser___ReduceAction360___init() /*new ReduceAction360*/;
1976 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[363]) /*AbstractArray::add*/;
1977 /* Register variable[364]: Result */
1978 variable[364] = NEW_ReduceAction361_parser___ReduceAction361___init() /*new ReduceAction361*/;
1979 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[364]) /*AbstractArray::add*/;
1980 /* Register variable[365]: Result */
1981 variable[365] = NEW_ReduceAction362_parser___ReduceAction362___init() /*new ReduceAction362*/;
1982 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[365]) /*AbstractArray::add*/;
1983 /* Register variable[366]: Result */
1984 variable[366] = NEW_ReduceAction363_parser___ReduceAction363___init() /*new ReduceAction363*/;
1985 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[366]) /*AbstractArray::add*/;
1986 /* Register variable[367]: Result */
1987 variable[367] = NEW_ReduceAction364_parser___ReduceAction364___init() /*new ReduceAction364*/;
1988 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[367]) /*AbstractArray::add*/;
1989 /* Register variable[368]: Result */
1990 variable[368] = NEW_ReduceAction365_parser___ReduceAction365___init() /*new ReduceAction365*/;
1991 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[368]) /*AbstractArray::add*/;
1992 /* Register variable[369]: Result */
1993 variable[369] = NEW_ReduceAction366_parser___ReduceAction366___init() /*new ReduceAction366*/;
1994 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[369]) /*AbstractArray::add*/;
1995 /* Register variable[370]: Result */
1996 variable[370] = NEW_ReduceAction367_parser___ReduceAction367___init() /*new ReduceAction367*/;
1997 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[370]) /*AbstractArray::add*/;
1998 /* Register variable[371]: Result */
1999 variable[371] = NEW_ReduceAction368_parser___ReduceAction368___init() /*new ReduceAction368*/;
2000 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[371]) /*AbstractArray::add*/;
2001 /* Register variable[372]: Result */
2002 variable[372] = NEW_ReduceAction369_parser___ReduceAction369___init() /*new ReduceAction369*/;
2003 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[372]) /*AbstractArray::add*/;
2004 /* Register variable[373]: Result */
2005 variable[373] = NEW_ReduceAction370_parser___ReduceAction370___init() /*new ReduceAction370*/;
2006 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[373]) /*AbstractArray::add*/;
2007 /* Register variable[374]: Result */
2008 variable[374] = NEW_ReduceAction371_parser___ReduceAction371___init() /*new ReduceAction371*/;
2009 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[374]) /*AbstractArray::add*/;
2010 /* Register variable[375]: Result */
2011 variable[375] = NEW_ReduceAction372_parser___ReduceAction372___init() /*new ReduceAction372*/;
2012 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[375]) /*AbstractArray::add*/;
2013 /* Register variable[376]: Result */
2014 variable[376] = NEW_ReduceAction373_parser___ReduceAction373___init() /*new ReduceAction373*/;
2015 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[376]) /*AbstractArray::add*/;
2016 /* Register variable[377]: Result */
2017 variable[377] = NEW_ReduceAction374_parser___ReduceAction374___init() /*new ReduceAction374*/;
2018 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[377]) /*AbstractArray::add*/;
2019 /* Register variable[378]: Result */
2020 variable[378] = NEW_ReduceAction375_parser___ReduceAction375___init() /*new ReduceAction375*/;
2021 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[378]) /*AbstractArray::add*/;
2022 /* Register variable[379]: Result */
2023 variable[379] = NEW_ReduceAction376_parser___ReduceAction376___init() /*new ReduceAction376*/;
2024 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[379]) /*AbstractArray::add*/;
2025 /* Register variable[380]: Result */
2026 variable[380] = NEW_ReduceAction377_parser___ReduceAction377___init() /*new ReduceAction377*/;
2027 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[380]) /*AbstractArray::add*/;
2028 /* Register variable[381]: Result */
2029 variable[381] = NEW_ReduceAction378_parser___ReduceAction378___init() /*new ReduceAction378*/;
2030 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[381]) /*AbstractArray::add*/;
2031 /* Register variable[382]: Result */
2032 variable[382] = NEW_ReduceAction379_parser___ReduceAction379___init() /*new ReduceAction379*/;
2033 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[382]) /*AbstractArray::add*/;
2034 /* Register variable[383]: Result */
2035 variable[383] = NEW_ReduceAction380_parser___ReduceAction380___init() /*new ReduceAction380*/;
2036 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[383]) /*AbstractArray::add*/;
2037 /* Register variable[384]: Result */
2038 variable[384] = NEW_ReduceAction381_parser___ReduceAction381___init() /*new ReduceAction381*/;
2039 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[384]) /*AbstractArray::add*/;
2040 /* Register variable[385]: Result */
2041 variable[385] = NEW_ReduceAction382_parser___ReduceAction382___init() /*new ReduceAction382*/;
2042 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[385]) /*AbstractArray::add*/;
2043 /* Register variable[386]: Result */
2044 variable[386] = NEW_ReduceAction383_parser___ReduceAction383___init() /*new ReduceAction383*/;
2045 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[386]) /*AbstractArray::add*/;
2046 /* Register variable[387]: Result */
2047 variable[387] = NEW_ReduceAction384_parser___ReduceAction384___init() /*new ReduceAction384*/;
2048 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[387]) /*AbstractArray::add*/;
2049 /* Register variable[388]: Result */
2050 variable[388] = NEW_ReduceAction385_parser___ReduceAction385___init() /*new ReduceAction385*/;
2051 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[388]) /*AbstractArray::add*/;
2052 /* Register variable[389]: Result */
2053 variable[389] = NEW_ReduceAction386_parser___ReduceAction386___init() /*new ReduceAction386*/;
2054 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[389]) /*AbstractArray::add*/;
2055 /* Register variable[390]: Result */
2056 variable[390] = NEW_ReduceAction387_parser___ReduceAction387___init() /*new ReduceAction387*/;
2057 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[390]) /*AbstractArray::add*/;
2058 /* Register variable[391]: Result */
2059 variable[391] = NEW_ReduceAction388_parser___ReduceAction388___init() /*new ReduceAction388*/;
2060 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[391]) /*AbstractArray::add*/;
2061 /* Register variable[392]: Result */
2062 variable[392] = NEW_ReduceAction389_parser___ReduceAction389___init() /*new ReduceAction389*/;
2063 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[392]) /*AbstractArray::add*/;
2064 /* Register variable[393]: Result */
2065 variable[393] = NEW_ReduceAction390_parser___ReduceAction390___init() /*new ReduceAction390*/;
2066 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[393]) /*AbstractArray::add*/;
2067 /* Register variable[394]: Result */
2068 variable[394] = NEW_ReduceAction391_parser___ReduceAction391___init() /*new ReduceAction391*/;
2069 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[394]) /*AbstractArray::add*/;
2070 /* Register variable[395]: Result */
2071 variable[395] = NEW_ReduceAction392_parser___ReduceAction392___init() /*new ReduceAction392*/;
2072 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[395]) /*AbstractArray::add*/;
2073 /* Register variable[396]: Result */
2074 variable[396] = NEW_ReduceAction393_parser___ReduceAction393___init() /*new ReduceAction393*/;
2075 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[396]) /*AbstractArray::add*/;
2076 /* Register variable[397]: Result */
2077 variable[397] = NEW_ReduceAction394_parser___ReduceAction394___init() /*new ReduceAction394*/;
2078 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[397]) /*AbstractArray::add*/;
2079 /* Register variable[398]: Result */
2080 variable[398] = NEW_ReduceAction395_parser___ReduceAction395___init() /*new ReduceAction395*/;
2081 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[398]) /*AbstractArray::add*/;
2082 /* Register variable[399]: Result */
2083 variable[399] = NEW_ReduceAction396_parser___ReduceAction396___init() /*new ReduceAction396*/;
2084 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[399]) /*AbstractArray::add*/;
2085 /* Register variable[400]: Result */
2086 variable[400] = NEW_ReduceAction397_parser___ReduceAction397___init() /*new ReduceAction397*/;
2087 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[400]) /*AbstractArray::add*/;
2088 /* Register variable[401]: Result */
2089 variable[401] = NEW_ReduceAction398_parser___ReduceAction398___init() /*new ReduceAction398*/;
2090 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[401]) /*AbstractArray::add*/;
2091 /* Register variable[402]: Result */
2092 variable[402] = NEW_ReduceAction399_parser___ReduceAction399___init() /*new ReduceAction399*/;
2093 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[402]) /*AbstractArray::add*/;
2094 /* Register variable[403]: Result */
2095 variable[403] = NEW_ReduceAction400_parser___ReduceAction400___init() /*new ReduceAction400*/;
2096 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[403]) /*AbstractArray::add*/;
2097 /* Register variable[404]: Result */
2098 variable[404] = NEW_ReduceAction401_parser___ReduceAction401___init() /*new ReduceAction401*/;
2099 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[404]) /*AbstractArray::add*/;
2100 /* Register variable[405]: Result */
2101 variable[405] = NEW_ReduceAction402_parser___ReduceAction402___init() /*new ReduceAction402*/;
2102 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[405]) /*AbstractArray::add*/;
2103 /* Register variable[406]: Result */
2104 variable[406] = NEW_ReduceAction403_parser___ReduceAction403___init() /*new ReduceAction403*/;
2105 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[406]) /*AbstractArray::add*/;
2106 /* Register variable[407]: Result */
2107 variable[407] = NEW_ReduceAction404_parser___ReduceAction404___init() /*new ReduceAction404*/;
2108 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[407]) /*AbstractArray::add*/;
2109 /* Register variable[408]: Result */
2110 variable[408] = NEW_ReduceAction405_parser___ReduceAction405___init() /*new ReduceAction405*/;
2111 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[408]) /*AbstractArray::add*/;
2112 /* Register variable[409]: Result */
2113 variable[409] = NEW_ReduceAction406_parser___ReduceAction406___init() /*new ReduceAction406*/;
2114 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[409]) /*AbstractArray::add*/;
2115 /* Register variable[410]: Result */
2116 variable[410] = NEW_ReduceAction407_parser___ReduceAction407___init() /*new ReduceAction407*/;
2117 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[410]) /*AbstractArray::add*/;
2118 /* Register variable[411]: Result */
2119 variable[411] = NEW_ReduceAction408_parser___ReduceAction408___init() /*new ReduceAction408*/;
2120 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[411]) /*AbstractArray::add*/;
2121 /* Register variable[412]: Result */
2122 variable[412] = NEW_ReduceAction409_parser___ReduceAction409___init() /*new ReduceAction409*/;
2123 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[412]) /*AbstractArray::add*/;
2124 /* Register variable[413]: Result */
2125 variable[413] = NEW_ReduceAction410_parser___ReduceAction410___init() /*new ReduceAction410*/;
2126 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[413]) /*AbstractArray::add*/;
2127 /* Register variable[414]: Result */
2128 variable[414] = NEW_ReduceAction411_parser___ReduceAction411___init() /*new ReduceAction411*/;
2129 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[414]) /*AbstractArray::add*/;
2130 /* Register variable[415]: Result */
2131 variable[415] = NEW_ReduceAction412_parser___ReduceAction412___init() /*new ReduceAction412*/;
2132 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[415]) /*AbstractArray::add*/;
2133 /* Register variable[416]: Result */
2134 variable[416] = NEW_ReduceAction413_parser___ReduceAction413___init() /*new ReduceAction413*/;
2135 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[416]) /*AbstractArray::add*/;
2136 /* Register variable[417]: Result */
2137 variable[417] = NEW_ReduceAction414_parser___ReduceAction414___init() /*new ReduceAction414*/;
2138 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[417]) /*AbstractArray::add*/;
2139 /* Register variable[418]: Result */
2140 variable[418] = NEW_ReduceAction415_parser___ReduceAction415___init() /*new ReduceAction415*/;
2141 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[418]) /*AbstractArray::add*/;
2142 /* Register variable[419]: Result */
2143 variable[419] = NEW_ReduceAction416_parser___ReduceAction416___init() /*new ReduceAction416*/;
2144 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[419]) /*AbstractArray::add*/;
2145 /* Register variable[420]: Result */
2146 variable[420] = NEW_ReduceAction417_parser___ReduceAction417___init() /*new ReduceAction417*/;
2147 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[420]) /*AbstractArray::add*/;
2148 /* Register variable[421]: Result */
2149 variable[421] = NEW_ReduceAction418_parser___ReduceAction418___init() /*new ReduceAction418*/;
2150 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[421]) /*AbstractArray::add*/;
2151 /* Register variable[422]: Result */
2152 variable[422] = NEW_ReduceAction419_parser___ReduceAction419___init() /*new ReduceAction419*/;
2153 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[422]) /*AbstractArray::add*/;
2154 /* Register variable[423]: Result */
2155 variable[423] = NEW_ReduceAction420_parser___ReduceAction420___init() /*new ReduceAction420*/;
2156 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[423]) /*AbstractArray::add*/;
2157 /* Register variable[424]: Result */
2158 variable[424] = NEW_ReduceAction421_parser___ReduceAction421___init() /*new ReduceAction421*/;
2159 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[424]) /*AbstractArray::add*/;
2160 /* Register variable[425]: Result */
2161 variable[425] = NEW_ReduceAction422_parser___ReduceAction422___init() /*new ReduceAction422*/;
2162 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[425]) /*AbstractArray::add*/;
2163 /* Register variable[426]: Result */
2164 variable[426] = NEW_ReduceAction423_parser___ReduceAction423___init() /*new ReduceAction423*/;
2165 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[426]) /*AbstractArray::add*/;
2166 /* Register variable[427]: Result */
2167 variable[427] = NEW_ReduceAction424_parser___ReduceAction424___init() /*new ReduceAction424*/;
2168 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[427]) /*AbstractArray::add*/;
2169 /* Register variable[428]: Result */
2170 variable[428] = NEW_ReduceAction425_parser___ReduceAction425___init() /*new ReduceAction425*/;
2171 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[428]) /*AbstractArray::add*/;
2172 /* Register variable[429]: Result */
2173 variable[429] = NEW_ReduceAction426_parser___ReduceAction426___init() /*new ReduceAction426*/;
2174 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[429]) /*AbstractArray::add*/;
2175 /* Register variable[430]: Result */
2176 variable[430] = NEW_ReduceAction427_parser___ReduceAction427___init() /*new ReduceAction427*/;
2177 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[430]) /*AbstractArray::add*/;
2178 /* Register variable[431]: Result */
2179 variable[431] = NEW_ReduceAction428_parser___ReduceAction428___init() /*new ReduceAction428*/;
2180 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[431]) /*AbstractArray::add*/;
2181 /* Register variable[432]: Result */
2182 variable[432] = NEW_ReduceAction429_parser___ReduceAction429___init() /*new ReduceAction429*/;
2183 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[432]) /*AbstractArray::add*/;
2184 /* Register variable[433]: Result */
2185 variable[433] = NEW_ReduceAction430_parser___ReduceAction430___init() /*new ReduceAction430*/;
2186 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[433]) /*AbstractArray::add*/;
2187 /* Register variable[434]: Result */
2188 variable[434] = NEW_ReduceAction431_parser___ReduceAction431___init() /*new ReduceAction431*/;
2189 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[434]) /*AbstractArray::add*/;
2190 /* Register variable[435]: Result */
2191 variable[435] = NEW_ReduceAction432_parser___ReduceAction432___init() /*new ReduceAction432*/;
2192 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[435]) /*AbstractArray::add*/;
2193 /* Register variable[436]: Result */
2194 variable[436] = NEW_ReduceAction433_parser___ReduceAction433___init() /*new ReduceAction433*/;
2195 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[436]) /*AbstractArray::add*/;
2196 /* Register variable[437]: Result */
2197 variable[437] = NEW_ReduceAction434_parser___ReduceAction434___init() /*new ReduceAction434*/;
2198 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[437]) /*AbstractArray::add*/;
2199 /* Register variable[438]: Result */
2200 variable[438] = NEW_ReduceAction435_parser___ReduceAction435___init() /*new ReduceAction435*/;
2201 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[438]) /*AbstractArray::add*/;
2202 /* Register variable[439]: Result */
2203 variable[439] = NEW_ReduceAction436_parser___ReduceAction436___init() /*new ReduceAction436*/;
2204 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[439]) /*AbstractArray::add*/;
2205 /* Register variable[440]: Result */
2206 variable[440] = NEW_ReduceAction437_parser___ReduceAction437___init() /*new ReduceAction437*/;
2207 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[440]) /*AbstractArray::add*/;
2208 /* Register variable[441]: Result */
2209 variable[441] = NEW_ReduceAction438_parser___ReduceAction438___init() /*new ReduceAction438*/;
2210 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[441]) /*AbstractArray::add*/;
2211 /* Register variable[442]: Result */
2212 variable[442] = NEW_ReduceAction439_parser___ReduceAction439___init() /*new ReduceAction439*/;
2213 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[442]) /*AbstractArray::add*/;
2214 /* Register variable[443]: Result */
2215 variable[443] = NEW_ReduceAction440_parser___ReduceAction440___init() /*new ReduceAction440*/;
2216 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[443]) /*AbstractArray::add*/;
2217 /* Register variable[444]: Result */
2218 variable[444] = NEW_ReduceAction441_parser___ReduceAction441___init() /*new ReduceAction441*/;
2219 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[444]) /*AbstractArray::add*/;
2220 /* Register variable[445]: Result */
2221 variable[445] = NEW_ReduceAction442_parser___ReduceAction442___init() /*new ReduceAction442*/;
2222 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[445]) /*AbstractArray::add*/;
2223 /* Register variable[446]: Result */
2224 variable[446] = NEW_ReduceAction443_parser___ReduceAction443___init() /*new ReduceAction443*/;
2225 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[446]) /*AbstractArray::add*/;
2226 /* Register variable[447]: Result */
2227 variable[447] = NEW_ReduceAction444_parser___ReduceAction444___init() /*new ReduceAction444*/;
2228 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[447]) /*AbstractArray::add*/;
2229 /* Register variable[448]: Result */
2230 variable[448] = NEW_ReduceAction445_parser___ReduceAction445___init() /*new ReduceAction445*/;
2231 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[448]) /*AbstractArray::add*/;
2232 /* Register variable[449]: Result */
2233 variable[449] = NEW_ReduceAction446_parser___ReduceAction446___init() /*new ReduceAction446*/;
2234 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[449]) /*AbstractArray::add*/;
2235 /* Register variable[450]: Result */
2236 variable[450] = NEW_ReduceAction447_parser___ReduceAction447___init() /*new ReduceAction447*/;
2237 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[450]) /*AbstractArray::add*/;
2238 /* Register variable[451]: Result */
2239 variable[451] = NEW_ReduceAction448_parser___ReduceAction448___init() /*new ReduceAction448*/;
2240 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[451]) /*AbstractArray::add*/;
2241 /* Register variable[452]: Result */
2242 variable[452] = NEW_ReduceAction449_parser___ReduceAction449___init() /*new ReduceAction449*/;
2243 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[452]) /*AbstractArray::add*/;
2244 /* Register variable[453]: Result */
2245 variable[453] = NEW_ReduceAction450_parser___ReduceAction450___init() /*new ReduceAction450*/;
2246 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[453]) /*AbstractArray::add*/;
2247 /* Register variable[454]: Result */
2248 variable[454] = NEW_ReduceAction451_parser___ReduceAction451___init() /*new ReduceAction451*/;
2249 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[454]) /*AbstractArray::add*/;
2250 /* Register variable[455]: Result */
2251 variable[455] = NEW_ReduceAction452_parser___ReduceAction452___init() /*new ReduceAction452*/;
2252 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[455]) /*AbstractArray::add*/;
2253 /* Register variable[456]: Result */
2254 variable[456] = NEW_ReduceAction453_parser___ReduceAction453___init() /*new ReduceAction453*/;
2255 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[456]) /*AbstractArray::add*/;
2256 /* Register variable[457]: Result */
2257 variable[457] = NEW_ReduceAction454_parser___ReduceAction454___init() /*new ReduceAction454*/;
2258 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[457]) /*AbstractArray::add*/;
2259 /* Register variable[458]: Result */
2260 variable[458] = NEW_ReduceAction455_parser___ReduceAction455___init() /*new ReduceAction455*/;
2261 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[458]) /*AbstractArray::add*/;
2262 /* Register variable[459]: Result */
2263 variable[459] = NEW_ReduceAction456_parser___ReduceAction456___init() /*new ReduceAction456*/;
2264 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[459]) /*AbstractArray::add*/;
2265 /* Register variable[460]: Result */
2266 variable[460] = NEW_ReduceAction457_parser___ReduceAction457___init() /*new ReduceAction457*/;
2267 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[460]) /*AbstractArray::add*/;
2268 /* Register variable[461]: Result */
2269 variable[461] = NEW_ReduceAction458_parser___ReduceAction458___init() /*new ReduceAction458*/;
2270 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[461]) /*AbstractArray::add*/;
2271 /* Register variable[462]: Result */
2272 variable[462] = NEW_ReduceAction459_parser___ReduceAction459___init() /*new ReduceAction459*/;
2273 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[462]) /*AbstractArray::add*/;
2274 /* Register variable[463]: Result */
2275 variable[463] = NEW_ReduceAction460_parser___ReduceAction460___init() /*new ReduceAction460*/;
2276 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[463]) /*AbstractArray::add*/;
2277 /* Register variable[464]: Result */
2278 variable[464] = NEW_ReduceAction461_parser___ReduceAction461___init() /*new ReduceAction461*/;
2279 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[464]) /*AbstractArray::add*/;
2280 /* Register variable[465]: Result */
2281 variable[465] = NEW_ReduceAction462_parser___ReduceAction462___init() /*new ReduceAction462*/;
2282 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[465]) /*AbstractArray::add*/;
2283 /* Register variable[466]: Result */
2284 variable[466] = NEW_ReduceAction463_parser___ReduceAction463___init() /*new ReduceAction463*/;
2285 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[466]) /*AbstractArray::add*/;
2286 /* Register variable[467]: Result */
2287 variable[467] = NEW_ReduceAction464_parser___ReduceAction464___init() /*new ReduceAction464*/;
2288 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[467]) /*AbstractArray::add*/;
2289 /* Register variable[468]: Result */
2290 variable[468] = NEW_ReduceAction465_parser___ReduceAction465___init() /*new ReduceAction465*/;
2291 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[468]) /*AbstractArray::add*/;
2292 /* Register variable[469]: Result */
2293 variable[469] = NEW_ReduceAction466_parser___ReduceAction466___init() /*new ReduceAction466*/;
2294 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[469]) /*AbstractArray::add*/;
2295 /* Register variable[470]: Result */
2296 variable[470] = NEW_ReduceAction467_parser___ReduceAction467___init() /*new ReduceAction467*/;
2297 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[470]) /*AbstractArray::add*/;
2298 /* Register variable[471]: Result */
2299 variable[471] = NEW_ReduceAction468_parser___ReduceAction468___init() /*new ReduceAction468*/;
2300 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[471]) /*AbstractArray::add*/;
2301 /* Register variable[472]: Result */
2302 variable[472] = NEW_ReduceAction469_parser___ReduceAction469___init() /*new ReduceAction469*/;
2303 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[472]) /*AbstractArray::add*/;
2304 /* Register variable[473]: Result */
2305 variable[473] = NEW_ReduceAction470_parser___ReduceAction470___init() /*new ReduceAction470*/;
2306 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[473]) /*AbstractArray::add*/;
2307 /* Register variable[474]: Result */
2308 variable[474] = NEW_ReduceAction471_parser___ReduceAction471___init() /*new ReduceAction471*/;
2309 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[474]) /*AbstractArray::add*/;
2310 /* Register variable[475]: Result */
2311 variable[475] = NEW_ReduceAction472_parser___ReduceAction472___init() /*new ReduceAction472*/;
2312 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[475]) /*AbstractArray::add*/;
2313 /* Register variable[476]: Result */
2314 variable[476] = NEW_ReduceAction473_parser___ReduceAction473___init() /*new ReduceAction473*/;
2315 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[476]) /*AbstractArray::add*/;
2316 /* Register variable[477]: Result */
2317 variable[477] = NEW_ReduceAction474_parser___ReduceAction474___init() /*new ReduceAction474*/;
2318 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[477]) /*AbstractArray::add*/;
2319 /* Register variable[478]: Result */
2320 variable[478] = NEW_ReduceAction475_parser___ReduceAction475___init() /*new ReduceAction475*/;
2321 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[478]) /*AbstractArray::add*/;
2322 /* Register variable[479]: Result */
2323 variable[479] = NEW_ReduceAction476_parser___ReduceAction476___init() /*new ReduceAction476*/;
2324 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[479]) /*AbstractArray::add*/;
2325 /* Register variable[480]: Result */
2326 variable[480] = NEW_ReduceAction477_parser___ReduceAction477___init() /*new ReduceAction477*/;
2327 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[480]) /*AbstractArray::add*/;
2328 /* Register variable[481]: Result */
2329 variable[481] = NEW_ReduceAction478_parser___ReduceAction478___init() /*new ReduceAction478*/;
2330 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[481]) /*AbstractArray::add*/;
2331 /* Register variable[482]: Result */
2332 variable[482] = NEW_ReduceAction479_parser___ReduceAction479___init() /*new ReduceAction479*/;
2333 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[482]) /*AbstractArray::add*/;
2334 /* Register variable[483]: Result */
2335 variable[483] = NEW_ReduceAction480_parser___ReduceAction480___init() /*new ReduceAction480*/;
2336 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[483]) /*AbstractArray::add*/;
2337 /* Register variable[484]: Result */
2338 variable[484] = NEW_ReduceAction481_parser___ReduceAction481___init() /*new ReduceAction481*/;
2339 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[484]) /*AbstractArray::add*/;
2340 /* Register variable[485]: Result */
2341 variable[485] = NEW_ReduceAction482_parser___ReduceAction482___init() /*new ReduceAction482*/;
2342 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[485]) /*AbstractArray::add*/;
2343 /* Register variable[486]: Result */
2344 variable[486] = NEW_ReduceAction483_parser___ReduceAction483___init() /*new ReduceAction483*/;
2345 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[486]) /*AbstractArray::add*/;
2346 /* Register variable[487]: Result */
2347 variable[487] = NEW_ReduceAction484_parser___ReduceAction484___init() /*new ReduceAction484*/;
2348 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[487]) /*AbstractArray::add*/;
2349 /* Register variable[488]: Result */
2350 variable[488] = NEW_ReduceAction485_parser___ReduceAction485___init() /*new ReduceAction485*/;
2351 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[488]) /*AbstractArray::add*/;
2352 /* Register variable[489]: Result */
2353 variable[489] = NEW_ReduceAction486_parser___ReduceAction486___init() /*new ReduceAction486*/;
2354 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[489]) /*AbstractArray::add*/;
2355 /* Register variable[490]: Result */
2356 variable[490] = NEW_ReduceAction487_parser___ReduceAction487___init() /*new ReduceAction487*/;
2357 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[490]) /*AbstractArray::add*/;
2358 /* Register variable[491]: Result */
2359 variable[491] = NEW_ReduceAction488_parser___ReduceAction488___init() /*new ReduceAction488*/;
2360 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[491]) /*AbstractArray::add*/;
2361 /* Register variable[492]: Result */
2362 variable[492] = NEW_ReduceAction489_parser___ReduceAction489___init() /*new ReduceAction489*/;
2363 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[492]) /*AbstractArray::add*/;
2364 /* Register variable[493]: Result */
2365 variable[493] = NEW_ReduceAction490_parser___ReduceAction490___init() /*new ReduceAction490*/;
2366 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[493]) /*AbstractArray::add*/;
2367 /* Register variable[494]: Result */
2368 variable[494] = NEW_ReduceAction491_parser___ReduceAction491___init() /*new ReduceAction491*/;
2369 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[494]) /*AbstractArray::add*/;
2370 /* Register variable[495]: Result */
2371 variable[495] = NEW_ReduceAction492_parser___ReduceAction492___init() /*new ReduceAction492*/;
2372 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[495]) /*AbstractArray::add*/;
2373 /* Register variable[496]: Result */
2374 variable[496] = NEW_ReduceAction493_parser___ReduceAction493___init() /*new ReduceAction493*/;
2375 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[496]) /*AbstractArray::add*/;
2376 /* Register variable[497]: Result */
2377 variable[497] = NEW_ReduceAction494_parser___ReduceAction494___init() /*new ReduceAction494*/;
2378 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[497]) /*AbstractArray::add*/;
2379 /* Register variable[498]: Result */
2380 variable[498] = NEW_ReduceAction495_parser___ReduceAction495___init() /*new ReduceAction495*/;
2381 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[498]) /*AbstractArray::add*/;
2382 /* Register variable[499]: Result */
2383 variable[499] = NEW_ReduceAction496_parser___ReduceAction496___init() /*new ReduceAction496*/;
2384 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[499]) /*AbstractArray::add*/;
2385 /* Register variable[500]: Result */
2386 variable[500] = NEW_ReduceAction497_parser___ReduceAction497___init() /*new ReduceAction497*/;
2387 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[500]) /*AbstractArray::add*/;
2388 /* Register variable[501]: Result */
2389 variable[501] = NEW_ReduceAction498_parser___ReduceAction498___init() /*new ReduceAction498*/;
2390 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[501]) /*AbstractArray::add*/;
2391 /* Register variable[502]: Result */
2392 variable[502] = NEW_ReduceAction499_parser___ReduceAction499___init() /*new ReduceAction499*/;
2393 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[502]) /*AbstractArray::add*/;
2394 /* Register variable[503]: Result */
2395 variable[503] = NEW_ReduceAction500_parser___ReduceAction500___init() /*new ReduceAction500*/;
2396 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[503]) /*AbstractArray::add*/;
2397 /* Register variable[504]: Result */
2398 variable[504] = NEW_ReduceAction501_parser___ReduceAction501___init() /*new ReduceAction501*/;
2399 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[504]) /*AbstractArray::add*/;
2400 /* Register variable[505]: Result */
2401 variable[505] = NEW_ReduceAction502_parser___ReduceAction502___init() /*new ReduceAction502*/;
2402 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[505]) /*AbstractArray::add*/;
2403 /* Register variable[506]: Result */
2404 variable[506] = NEW_ReduceAction503_parser___ReduceAction503___init() /*new ReduceAction503*/;
2405 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[506]) /*AbstractArray::add*/;
2406 /* Register variable[507]: Result */
2407 variable[507] = NEW_ReduceAction504_parser___ReduceAction504___init() /*new ReduceAction504*/;
2408 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[507]) /*AbstractArray::add*/;
2409 /* Register variable[508]: Result */
2410 variable[508] = NEW_ReduceAction505_parser___ReduceAction505___init() /*new ReduceAction505*/;
2411 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[508]) /*AbstractArray::add*/;
2412 /* Register variable[509]: Result */
2413 variable[509] = NEW_ReduceAction506_parser___ReduceAction506___init() /*new ReduceAction506*/;
2414 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[509]) /*AbstractArray::add*/;
2415 /* Register variable[510]: Result */
2416 variable[510] = NEW_ReduceAction507_parser___ReduceAction507___init() /*new ReduceAction507*/;
2417 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[510]) /*AbstractArray::add*/;
2418 /* Register variable[511]: Result */
2419 variable[511] = NEW_ReduceAction508_parser___ReduceAction508___init() /*new ReduceAction508*/;
2420 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[511]) /*AbstractArray::add*/;
2421 /* Register variable[512]: Result */
2422 variable[512] = NEW_ReduceAction509_parser___ReduceAction509___init() /*new ReduceAction509*/;
2423 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[512]) /*AbstractArray::add*/;
2424 /* Register variable[513]: Result */
2425 variable[513] = NEW_ReduceAction510_parser___ReduceAction510___init() /*new ReduceAction510*/;
2426 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[513]) /*AbstractArray::add*/;
2427 /* Register variable[514]: Result */
2428 variable[514] = NEW_ReduceAction511_parser___ReduceAction511___init() /*new ReduceAction511*/;
2429 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[514]) /*AbstractArray::add*/;
2430 /* Register variable[515]: Result */
2431 variable[515] = NEW_ReduceAction512_parser___ReduceAction512___init() /*new ReduceAction512*/;
2432 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[515]) /*AbstractArray::add*/;
2433 /* Register variable[516]: Result */
2434 variable[516] = NEW_ReduceAction513_parser___ReduceAction513___init() /*new ReduceAction513*/;
2435 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[516]) /*AbstractArray::add*/;
2436 /* Register variable[517]: Result */
2437 variable[517] = NEW_ReduceAction514_parser___ReduceAction514___init() /*new ReduceAction514*/;
2438 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[517]) /*AbstractArray::add*/;
2439 /* Register variable[518]: Result */
2440 variable[518] = NEW_ReduceAction515_parser___ReduceAction515___init() /*new ReduceAction515*/;
2441 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[518]) /*AbstractArray::add*/;
2442 /* Register variable[519]: Result */
2443 variable[519] = NEW_ReduceAction516_parser___ReduceAction516___init() /*new ReduceAction516*/;
2444 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[519]) /*AbstractArray::add*/;
2445 /* Register variable[520]: Result */
2446 variable[520] = NEW_ReduceAction517_parser___ReduceAction517___init() /*new ReduceAction517*/;
2447 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[520]) /*AbstractArray::add*/;
2448 /* Register variable[521]: Result */
2449 variable[521] = NEW_ReduceAction518_parser___ReduceAction518___init() /*new ReduceAction518*/;
2450 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[521]) /*AbstractArray::add*/;
2451 /* Register variable[522]: Result */
2452 variable[522] = NEW_ReduceAction519_parser___ReduceAction519___init() /*new ReduceAction519*/;
2453 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[522]) /*AbstractArray::add*/;
2454 /* Register variable[523]: Result */
2455 variable[523] = NEW_ReduceAction520_parser___ReduceAction520___init() /*new ReduceAction520*/;
2456 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[523]) /*AbstractArray::add*/;
2457 /* Register variable[524]: Result */
2458 variable[524] = NEW_ReduceAction521_parser___ReduceAction521___init() /*new ReduceAction521*/;
2459 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[524]) /*AbstractArray::add*/;
2460 /* Register variable[525]: Result */
2461 variable[525] = NEW_ReduceAction522_parser___ReduceAction522___init() /*new ReduceAction522*/;
2462 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[525]) /*AbstractArray::add*/;
2463 /* Register variable[526]: Result */
2464 variable[526] = NEW_ReduceAction523_parser___ReduceAction523___init() /*new ReduceAction523*/;
2465 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[526]) /*AbstractArray::add*/;
2466 /* Register variable[527]: Result */
2467 variable[527] = NEW_ReduceAction524_parser___ReduceAction524___init() /*new ReduceAction524*/;
2468 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[527]) /*AbstractArray::add*/;
2469 /* Register variable[528]: Result */
2470 variable[528] = NEW_ReduceAction525_parser___ReduceAction525___init() /*new ReduceAction525*/;
2471 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[528]) /*AbstractArray::add*/;
2472 /* Register variable[529]: Result */
2473 variable[529] = NEW_ReduceAction526_parser___ReduceAction526___init() /*new ReduceAction526*/;
2474 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[529]) /*AbstractArray::add*/;
2475 /* Register variable[530]: Result */
2476 variable[530] = NEW_ReduceAction527_parser___ReduceAction527___init() /*new ReduceAction527*/;
2477 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[530]) /*AbstractArray::add*/;
2478 /* Register variable[531]: Result */
2479 variable[531] = NEW_ReduceAction528_parser___ReduceAction528___init() /*new ReduceAction528*/;
2480 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[531]) /*AbstractArray::add*/;
2481 /* Register variable[532]: Result */
2482 variable[532] = NEW_ReduceAction529_parser___ReduceAction529___init() /*new ReduceAction529*/;
2483 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[532]) /*AbstractArray::add*/;
2484 /* Register variable[533]: Result */
2485 variable[533] = NEW_ReduceAction530_parser___ReduceAction530___init() /*new ReduceAction530*/;
2486 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[533]) /*AbstractArray::add*/;
2487 /* Register variable[534]: Result */
2488 variable[534] = NEW_ReduceAction531_parser___ReduceAction531___init() /*new ReduceAction531*/;
2489 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[534]) /*AbstractArray::add*/;
2490 /* Register variable[535]: Result */
2491 variable[535] = NEW_ReduceAction532_parser___ReduceAction532___init() /*new ReduceAction532*/;
2492 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[535]) /*AbstractArray::add*/;
2493 /* Register variable[536]: Result */
2494 variable[536] = NEW_ReduceAction533_parser___ReduceAction533___init() /*new ReduceAction533*/;
2495 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[536]) /*AbstractArray::add*/;
2496 /* Register variable[537]: Result */
2497 variable[537] = NEW_ReduceAction534_parser___ReduceAction534___init() /*new ReduceAction534*/;
2498 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[537]) /*AbstractArray::add*/;
2499 /* Register variable[538]: Result */
2500 variable[538] = NEW_ReduceAction535_parser___ReduceAction535___init() /*new ReduceAction535*/;
2501 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[538]) /*AbstractArray::add*/;
2502 /* Register variable[539]: Result */
2503 variable[539] = NEW_ReduceAction536_parser___ReduceAction536___init() /*new ReduceAction536*/;
2504 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[539]) /*AbstractArray::add*/;
2505 /* Register variable[540]: Result */
2506 variable[540] = NEW_ReduceAction537_parser___ReduceAction537___init() /*new ReduceAction537*/;
2507 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[540]) /*AbstractArray::add*/;
2508 /* Register variable[541]: Result */
2509 variable[541] = NEW_ReduceAction538_parser___ReduceAction538___init() /*new ReduceAction538*/;
2510 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[541]) /*AbstractArray::add*/;
2511 /* Register variable[542]: Result */
2512 variable[542] = NEW_ReduceAction539_parser___ReduceAction539___init() /*new ReduceAction539*/;
2513 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[542]) /*AbstractArray::add*/;
2514 /* Register variable[543]: Result */
2515 variable[543] = NEW_ReduceAction540_parser___ReduceAction540___init() /*new ReduceAction540*/;
2516 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[543]) /*AbstractArray::add*/;
2517 /* Register variable[544]: Result */
2518 variable[544] = NEW_ReduceAction541_parser___ReduceAction541___init() /*new ReduceAction541*/;
2519 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[544]) /*AbstractArray::add*/;
2520 /* Register variable[545]: Result */
2521 variable[545] = NEW_ReduceAction542_parser___ReduceAction542___init() /*new ReduceAction542*/;
2522 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[545]) /*AbstractArray::add*/;
2523 /* Register variable[546]: Result */
2524 variable[546] = NEW_ReduceAction543_parser___ReduceAction543___init() /*new ReduceAction543*/;
2525 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[546]) /*AbstractArray::add*/;
2526 /* Register variable[547]: Result */
2527 variable[547] = NEW_ReduceAction544_parser___ReduceAction544___init() /*new ReduceAction544*/;
2528 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[547]) /*AbstractArray::add*/;
2529 /* Register variable[548]: Result */
2530 variable[548] = NEW_ReduceAction545_parser___ReduceAction545___init() /*new ReduceAction545*/;
2531 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[548]) /*AbstractArray::add*/;
2532 /* Register variable[549]: Result */
2533 variable[549] = NEW_ReduceAction546_parser___ReduceAction546___init() /*new ReduceAction546*/;
2534 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[549]) /*AbstractArray::add*/;
2535 /* Register variable[550]: Result */
2536 variable[550] = NEW_ReduceAction547_parser___ReduceAction547___init() /*new ReduceAction547*/;
2537 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[550]) /*AbstractArray::add*/;
2538 /* Register variable[551]: Result */
2539 variable[551] = NEW_ReduceAction548_parser___ReduceAction548___init() /*new ReduceAction548*/;
2540 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[551]) /*AbstractArray::add*/;
2541 /* Register variable[552]: Result */
2542 variable[552] = NEW_ReduceAction549_parser___ReduceAction549___init() /*new ReduceAction549*/;
2543 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[552]) /*AbstractArray::add*/;
2544 /* Register variable[553]: Result */
2545 variable[553] = NEW_ReduceAction550_parser___ReduceAction550___init() /*new ReduceAction550*/;
2546 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[553]) /*AbstractArray::add*/;
2547 /* Register variable[554]: Result */
2548 variable[554] = NEW_ReduceAction551_parser___ReduceAction551___init() /*new ReduceAction551*/;
2549 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[554]) /*AbstractArray::add*/;
2550 /* Register variable[555]: Result */
2551 variable[555] = NEW_ReduceAction552_parser___ReduceAction552___init() /*new ReduceAction552*/;
2552 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[555]) /*AbstractArray::add*/;
2553 /* Register variable[556]: Result */
2554 variable[556] = NEW_ReduceAction553_parser___ReduceAction553___init() /*new ReduceAction553*/;
2555 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[556]) /*AbstractArray::add*/;
2556 /* Register variable[557]: Result */
2557 variable[557] = NEW_ReduceAction554_parser___ReduceAction554___init() /*new ReduceAction554*/;
2558 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[557]) /*AbstractArray::add*/;
2559 /* Register variable[558]: Result */
2560 variable[558] = NEW_ReduceAction555_parser___ReduceAction555___init() /*new ReduceAction555*/;
2561 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[558]) /*AbstractArray::add*/;
2562 /* Register variable[559]: Result */
2563 variable[559] = NEW_ReduceAction556_parser___ReduceAction556___init() /*new ReduceAction556*/;
2564 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[559]) /*AbstractArray::add*/;
2565 /* Register variable[560]: Result */
2566 variable[560] = NEW_ReduceAction557_parser___ReduceAction557___init() /*new ReduceAction557*/;
2567 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[560]) /*AbstractArray::add*/;
2568 /* Register variable[561]: Result */
2569 variable[561] = NEW_ReduceAction558_parser___ReduceAction558___init() /*new ReduceAction558*/;
2570 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[561]) /*AbstractArray::add*/;
2571 /* Register variable[562]: Result */
2572 variable[562] = NEW_ReduceAction559_parser___ReduceAction559___init() /*new ReduceAction559*/;
2573 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[562]) /*AbstractArray::add*/;
2574 /* Register variable[563]: Result */
2575 variable[563] = NEW_ReduceAction560_parser___ReduceAction560___init() /*new ReduceAction560*/;
2576 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[563]) /*AbstractArray::add*/;
2577 /* Register variable[564]: Result */
2578 variable[564] = NEW_ReduceAction561_parser___ReduceAction561___init() /*new ReduceAction561*/;
2579 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[564]) /*AbstractArray::add*/;
2580 /* Register variable[565]: Result */
2581 variable[565] = NEW_ReduceAction562_parser___ReduceAction562___init() /*new ReduceAction562*/;
2582 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[565]) /*AbstractArray::add*/;
2583 /* Register variable[566]: Result */
2584 variable[566] = NEW_ReduceAction563_parser___ReduceAction563___init() /*new ReduceAction563*/;
2585 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[566]) /*AbstractArray::add*/;
2586 /* Register variable[567]: Result */
2587 variable[567] = NEW_ReduceAction564_parser___ReduceAction564___init() /*new ReduceAction564*/;
2588 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[567]) /*AbstractArray::add*/;
2589 /* Register variable[568]: Result */
2590 variable[568] = NEW_ReduceAction565_parser___ReduceAction565___init() /*new ReduceAction565*/;
2591 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[568]) /*AbstractArray::add*/;
2592 /* Register variable[569]: Result */
2593 variable[569] = NEW_ReduceAction566_parser___ReduceAction566___init() /*new ReduceAction566*/;
2594 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[569]) /*AbstractArray::add*/;
2595 /* Register variable[570]: Result */
2596 variable[570] = NEW_ReduceAction567_parser___ReduceAction567___init() /*new ReduceAction567*/;
2597 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[570]) /*AbstractArray::add*/;
2598 /* Register variable[571]: Result */
2599 variable[571] = NEW_ReduceAction568_parser___ReduceAction568___init() /*new ReduceAction568*/;
2600 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[571]) /*AbstractArray::add*/;
2601 /* Register variable[572]: Result */
2602 variable[572] = NEW_ReduceAction569_parser___ReduceAction569___init() /*new ReduceAction569*/;
2603 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[572]) /*AbstractArray::add*/;
2604 /* Register variable[573]: Result */
2605 variable[573] = NEW_ReduceAction570_parser___ReduceAction570___init() /*new ReduceAction570*/;
2606 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[573]) /*AbstractArray::add*/;
2607 /* Register variable[574]: Result */
2608 variable[574] = NEW_ReduceAction571_parser___ReduceAction571___init() /*new ReduceAction571*/;
2609 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[574]) /*AbstractArray::add*/;
2610 /* Register variable[575]: Result */
2611 variable[575] = NEW_ReduceAction572_parser___ReduceAction572___init() /*new ReduceAction572*/;
2612 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[575]) /*AbstractArray::add*/;
2613 /* Register variable[576]: Result */
2614 variable[576] = NEW_ReduceAction573_parser___ReduceAction573___init() /*new ReduceAction573*/;
2615 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[576]) /*AbstractArray::add*/;
2616 /* Register variable[577]: Result */
2617 variable[577] = NEW_ReduceAction574_parser___ReduceAction574___init() /*new ReduceAction574*/;
2618 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[577]) /*AbstractArray::add*/;
2619 /* Register variable[578]: Result */
2620 variable[578] = NEW_ReduceAction575_parser___ReduceAction575___init() /*new ReduceAction575*/;
2621 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[578]) /*AbstractArray::add*/;
2622 /* Register variable[579]: Result */
2623 variable[579] = NEW_ReduceAction576_parser___ReduceAction576___init() /*new ReduceAction576*/;
2624 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[579]) /*AbstractArray::add*/;
2625 /* Register variable[580]: Result */
2626 variable[580] = NEW_ReduceAction577_parser___ReduceAction577___init() /*new ReduceAction577*/;
2627 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[580]) /*AbstractArray::add*/;
2628 /* Register variable[581]: Result */
2629 variable[581] = NEW_ReduceAction578_parser___ReduceAction578___init() /*new ReduceAction578*/;
2630 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[581]) /*AbstractArray::add*/;
2631 /* Register variable[582]: Result */
2632 variable[582] = NEW_ReduceAction579_parser___ReduceAction579___init() /*new ReduceAction579*/;
2633 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[582]) /*AbstractArray::add*/;
2634 /* Register variable[583]: Result */
2635 variable[583] = NEW_ReduceAction580_parser___ReduceAction580___init() /*new ReduceAction580*/;
2636 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[583]) /*AbstractArray::add*/;
2637 /* Register variable[584]: Result */
2638 variable[584] = NEW_ReduceAction581_parser___ReduceAction581___init() /*new ReduceAction581*/;
2639 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[584]) /*AbstractArray::add*/;
2640 /* Register variable[585]: Result */
2641 variable[585] = NEW_ReduceAction582_parser___ReduceAction582___init() /*new ReduceAction582*/;
2642 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[585]) /*AbstractArray::add*/;
2643 /* Register variable[586]: Result */
2644 variable[586] = NEW_ReduceAction583_parser___ReduceAction583___init() /*new ReduceAction583*/;
2645 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[586]) /*AbstractArray::add*/;
2646 /* Register variable[587]: Result */
2647 variable[587] = NEW_ReduceAction584_parser___ReduceAction584___init() /*new ReduceAction584*/;
2648 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[587]) /*AbstractArray::add*/;
2649 /* Register variable[588]: Result */
2650 variable[588] = NEW_ReduceAction585_parser___ReduceAction585___init() /*new ReduceAction585*/;
2651 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[588]) /*AbstractArray::add*/;
2652 /* Register variable[589]: Result */
2653 variable[589] = NEW_ReduceAction586_parser___ReduceAction586___init() /*new ReduceAction586*/;
2654 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[589]) /*AbstractArray::add*/;
2655 /* Register variable[590]: Result */
2656 variable[590] = NEW_ReduceAction587_parser___ReduceAction587___init() /*new ReduceAction587*/;
2657 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[590]) /*AbstractArray::add*/;
2658 /* Register variable[591]: Result */
2659 variable[591] = NEW_ReduceAction588_parser___ReduceAction588___init() /*new ReduceAction588*/;
2660 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[591]) /*AbstractArray::add*/;
2661 /* Register variable[592]: Result */
2662 variable[592] = NEW_ReduceAction589_parser___ReduceAction589___init() /*new ReduceAction589*/;
2663 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[592]) /*AbstractArray::add*/;
2664 /* Register variable[593]: Result */
2665 variable[593] = NEW_ReduceAction590_parser___ReduceAction590___init() /*new ReduceAction590*/;
2666 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[593]) /*AbstractArray::add*/;
2667 /* Register variable[594]: Result */
2668 variable[594] = NEW_ReduceAction591_parser___ReduceAction591___init() /*new ReduceAction591*/;
2669 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[594]) /*AbstractArray::add*/;
2670 /* Register variable[595]: Result */
2671 variable[595] = NEW_ReduceAction592_parser___ReduceAction592___init() /*new ReduceAction592*/;
2672 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[595]) /*AbstractArray::add*/;
2673 /* Register variable[596]: Result */
2674 variable[596] = NEW_ReduceAction593_parser___ReduceAction593___init() /*new ReduceAction593*/;
2675 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[596]) /*AbstractArray::add*/;
2676 /* Register variable[597]: Result */
2677 variable[597] = NEW_ReduceAction594_parser___ReduceAction594___init() /*new ReduceAction594*/;
2678 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[597]) /*AbstractArray::add*/;
2679 /* Register variable[598]: Result */
2680 variable[598] = NEW_ReduceAction595_parser___ReduceAction595___init() /*new ReduceAction595*/;
2681 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[598]) /*AbstractArray::add*/;
2682 /* Register variable[599]: Result */
2683 variable[599] = NEW_ReduceAction596_parser___ReduceAction596___init() /*new ReduceAction596*/;
2684 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[599]) /*AbstractArray::add*/;
2685 /* Register variable[600]: Result */
2686 variable[600] = NEW_ReduceAction597_parser___ReduceAction597___init() /*new ReduceAction597*/;
2687 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[600]) /*AbstractArray::add*/;
2688 /* Register variable[601]: Result */
2689 variable[601] = NEW_ReduceAction598_parser___ReduceAction598___init() /*new ReduceAction598*/;
2690 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[601]) /*AbstractArray::add*/;
2691 /* Register variable[602]: Result */
2692 variable[602] = NEW_ReduceAction599_parser___ReduceAction599___init() /*new ReduceAction599*/;
2693 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[602]) /*AbstractArray::add*/;
2694 /* Register variable[603]: Result */
2695 variable[603] = NEW_ReduceAction600_parser___ReduceAction600___init() /*new ReduceAction600*/;
2696 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[603]) /*AbstractArray::add*/;
2697 /* Register variable[604]: Result */
2698 variable[604] = NEW_ReduceAction601_parser___ReduceAction601___init() /*new ReduceAction601*/;
2699 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[604]) /*AbstractArray::add*/;
2700 /* Register variable[605]: Result */
2701 variable[605] = NEW_ReduceAction602_parser___ReduceAction602___init() /*new ReduceAction602*/;
2702 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[605]) /*AbstractArray::add*/;
2703 /* Register variable[606]: Result */
2704 variable[606] = NEW_ReduceAction603_parser___ReduceAction603___init() /*new ReduceAction603*/;
2705 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[606]) /*AbstractArray::add*/;
2706 /* Register variable[607]: Result */
2707 variable[607] = NEW_ReduceAction604_parser___ReduceAction604___init() /*new ReduceAction604*/;
2708 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[607]) /*AbstractArray::add*/;
2709 /* Register variable[608]: Result */
2710 variable[608] = NEW_ReduceAction605_parser___ReduceAction605___init() /*new ReduceAction605*/;
2711 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[608]) /*AbstractArray::add*/;
2712 /* Register variable[609]: Result */
2713 variable[609] = NEW_ReduceAction606_parser___ReduceAction606___init() /*new ReduceAction606*/;
2714 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[609]) /*AbstractArray::add*/;
2715 /* Register variable[610]: Result */
2716 variable[610] = NEW_ReduceAction607_parser___ReduceAction607___init() /*new ReduceAction607*/;
2717 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[610]) /*AbstractArray::add*/;
2718 /* Register variable[611]: Result */
2719 variable[611] = NEW_ReduceAction608_parser___ReduceAction608___init() /*new ReduceAction608*/;
2720 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[611]) /*AbstractArray::add*/;
2721 /* Register variable[612]: Result */
2722 variable[612] = NEW_ReduceAction609_parser___ReduceAction609___init() /*new ReduceAction609*/;
2723 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[612]) /*AbstractArray::add*/;
2724 /* Register variable[613]: Result */
2725 variable[613] = NEW_ReduceAction610_parser___ReduceAction610___init() /*new ReduceAction610*/;
2726 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[613]) /*AbstractArray::add*/;
2727 /* Register variable[614]: Result */
2728 variable[614] = NEW_ReduceAction611_parser___ReduceAction611___init() /*new ReduceAction611*/;
2729 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[614]) /*AbstractArray::add*/;
2730 /* Register variable[615]: Result */
2731 variable[615] = NEW_ReduceAction612_parser___ReduceAction612___init() /*new ReduceAction612*/;
2732 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[615]) /*AbstractArray::add*/;
2733 /* Register variable[616]: Result */
2734 variable[616] = NEW_ReduceAction613_parser___ReduceAction613___init() /*new ReduceAction613*/;
2735 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[616]) /*AbstractArray::add*/;
2736 /* Register variable[617]: Result */
2737 variable[617] = NEW_ReduceAction614_parser___ReduceAction614___init() /*new ReduceAction614*/;
2738 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[617]) /*AbstractArray::add*/;
2739 /* Register variable[618]: Result */
2740 variable[618] = NEW_ReduceAction615_parser___ReduceAction615___init() /*new ReduceAction615*/;
2741 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[618]) /*AbstractArray::add*/;
2742 /* Register variable[619]: Result */
2743 variable[619] = NEW_ReduceAction616_parser___ReduceAction616___init() /*new ReduceAction616*/;
2744 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[619]) /*AbstractArray::add*/;
2745 /* Register variable[620]: Result */
2746 variable[620] = NEW_ReduceAction617_parser___ReduceAction617___init() /*new ReduceAction617*/;
2747 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[620]) /*AbstractArray::add*/;
2748 /* Register variable[621]: Result */
2749 variable[621] = NEW_ReduceAction618_parser___ReduceAction618___init() /*new ReduceAction618*/;
2750 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[621]) /*AbstractArray::add*/;
2751 /* Register variable[622]: Result */
2752 variable[622] = NEW_ReduceAction619_parser___ReduceAction619___init() /*new ReduceAction619*/;
2753 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[622]) /*AbstractArray::add*/;
2754 /* Register variable[623]: Result */
2755 variable[623] = NEW_ReduceAction620_parser___ReduceAction620___init() /*new ReduceAction620*/;
2756 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[623]) /*AbstractArray::add*/;
2757 /* Register variable[624]: Result */
2758 variable[624] = NEW_ReduceAction621_parser___ReduceAction621___init() /*new ReduceAction621*/;
2759 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[624]) /*AbstractArray::add*/;
2760 /* Register variable[625]: Result */
2761 variable[625] = NEW_ReduceAction622_parser___ReduceAction622___init() /*new ReduceAction622*/;
2762 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[625]) /*AbstractArray::add*/;
2763 /* Register variable[626]: Result */
2764 variable[626] = NEW_ReduceAction623_parser___ReduceAction623___init() /*new ReduceAction623*/;
2765 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[626]) /*AbstractArray::add*/;
2766 /* Register variable[627]: Result */
2767 variable[627] = NEW_ReduceAction624_parser___ReduceAction624___init() /*new ReduceAction624*/;
2768 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[627]) /*AbstractArray::add*/;
2769 /* Register variable[628]: Result */
2770 variable[628] = NEW_ReduceAction625_parser___ReduceAction625___init() /*new ReduceAction625*/;
2771 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[628]) /*AbstractArray::add*/;
2772 /* Register variable[629]: Result */
2773 variable[629] = NEW_ReduceAction626_parser___ReduceAction626___init() /*new ReduceAction626*/;
2774 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[629]) /*AbstractArray::add*/;
2775 /* Register variable[630]: Result */
2776 variable[630] = NEW_ReduceAction627_parser___ReduceAction627___init() /*new ReduceAction627*/;
2777 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[630]) /*AbstractArray::add*/;
2778 /* Register variable[631]: Result */
2779 variable[631] = NEW_ReduceAction628_parser___ReduceAction628___init() /*new ReduceAction628*/;
2780 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[631]) /*AbstractArray::add*/;
2781 /* Register variable[632]: Result */
2782 variable[632] = NEW_ReduceAction629_parser___ReduceAction629___init() /*new ReduceAction629*/;
2783 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[632]) /*AbstractArray::add*/;
2784 /* Register variable[633]: Result */
2785 variable[633] = NEW_ReduceAction630_parser___ReduceAction630___init() /*new ReduceAction630*/;
2786 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[633]) /*AbstractArray::add*/;
2787 /* Register variable[634]: Result */
2788 variable[634] = NEW_ReduceAction631_parser___ReduceAction631___init() /*new ReduceAction631*/;
2789 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[634]) /*AbstractArray::add*/;
2790 /* Register variable[635]: Result */
2791 variable[635] = NEW_ReduceAction632_parser___ReduceAction632___init() /*new ReduceAction632*/;
2792 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[635]) /*AbstractArray::add*/;
2793 /* Register variable[636]: Result */
2794 variable[636] = NEW_ReduceAction633_parser___ReduceAction633___init() /*new ReduceAction633*/;
2795 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[636]) /*AbstractArray::add*/;
2796 /* Register variable[637]: Result */
2797 variable[637] = NEW_ReduceAction634_parser___ReduceAction634___init() /*new ReduceAction634*/;
2798 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[637]) /*AbstractArray::add*/;
2799 /* Register variable[638]: Result */
2800 variable[638] = NEW_ReduceAction635_parser___ReduceAction635___init() /*new ReduceAction635*/;
2801 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[638]) /*AbstractArray::add*/;
2802 /* Register variable[639]: Result */
2803 variable[639] = NEW_ReduceAction636_parser___ReduceAction636___init() /*new ReduceAction636*/;
2804 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[639]) /*AbstractArray::add*/;
2805 /* Register variable[640]: Result */
2806 variable[640] = NEW_ReduceAction637_parser___ReduceAction637___init() /*new ReduceAction637*/;
2807 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[640]) /*AbstractArray::add*/;
2808 /* Register variable[641]: Result */
2809 variable[641] = NEW_ReduceAction638_parser___ReduceAction638___init() /*new ReduceAction638*/;
2810 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[641]) /*AbstractArray::add*/;
2811 /* Register variable[642]: Result */
2812 variable[642] = NEW_ReduceAction639_parser___ReduceAction639___init() /*new ReduceAction639*/;
2813 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[642]) /*AbstractArray::add*/;
2814 /* Register variable[643]: Result */
2815 variable[643] = NEW_ReduceAction640_parser___ReduceAction640___init() /*new ReduceAction640*/;
2816 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[643]) /*AbstractArray::add*/;
2817 /* Register variable[644]: Result */
2818 variable[644] = NEW_ReduceAction641_parser___ReduceAction641___init() /*new ReduceAction641*/;
2819 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[644]) /*AbstractArray::add*/;
2820 /* Register variable[645]: Result */
2821 variable[645] = NEW_ReduceAction642_parser___ReduceAction642___init() /*new ReduceAction642*/;
2822 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[645]) /*AbstractArray::add*/;
2823 /* Register variable[646]: Result */
2824 variable[646] = NEW_ReduceAction643_parser___ReduceAction643___init() /*new ReduceAction643*/;
2825 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[646]) /*AbstractArray::add*/;
2826 /* Register variable[647]: Result */
2827 variable[647] = NEW_ReduceAction644_parser___ReduceAction644___init() /*new ReduceAction644*/;
2828 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[647]) /*AbstractArray::add*/;
2829 /* Register variable[648]: Result */
2830 variable[648] = NEW_ReduceAction645_parser___ReduceAction645___init() /*new ReduceAction645*/;
2831 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[648]) /*AbstractArray::add*/;
2832 /* Register variable[649]: Result */
2833 variable[649] = NEW_ReduceAction646_parser___ReduceAction646___init() /*new ReduceAction646*/;
2834 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[649]) /*AbstractArray::add*/;
2835 /* Register variable[650]: Result */
2836 variable[650] = NEW_ReduceAction647_parser___ReduceAction647___init() /*new ReduceAction647*/;
2837 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[650]) /*AbstractArray::add*/;
2838 /* Register variable[651]: Result */
2839 variable[651] = NEW_ReduceAction648_parser___ReduceAction648___init() /*new ReduceAction648*/;
2840 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[651]) /*AbstractArray::add*/;
2841 /* Register variable[652]: Result */
2842 variable[652] = NEW_ReduceAction649_parser___ReduceAction649___init() /*new ReduceAction649*/;
2843 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[652]) /*AbstractArray::add*/;
2844 /* Register variable[653]: Result */
2845 variable[653] = NEW_ReduceAction650_parser___ReduceAction650___init() /*new ReduceAction650*/;
2846 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[653]) /*AbstractArray::add*/;
2847 /* Register variable[654]: Result */
2848 variable[654] = NEW_ReduceAction651_parser___ReduceAction651___init() /*new ReduceAction651*/;
2849 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[654]) /*AbstractArray::add*/;
2850 /* Register variable[655]: Result */
2851 variable[655] = NEW_ReduceAction652_parser___ReduceAction652___init() /*new ReduceAction652*/;
2852 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[655]) /*AbstractArray::add*/;
2853 /* Register variable[656]: Result */
2854 variable[656] = NEW_ReduceAction653_parser___ReduceAction653___init() /*new ReduceAction653*/;
2855 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[656]) /*AbstractArray::add*/;
2856 /* Register variable[657]: Result */
2857 variable[657] = NEW_ReduceAction654_parser___ReduceAction654___init() /*new ReduceAction654*/;
2858 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[657]) /*AbstractArray::add*/;
2859 /* Register variable[658]: Result */
2860 variable[658] = NEW_ReduceAction655_parser___ReduceAction655___init() /*new ReduceAction655*/;
2861 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[658]) /*AbstractArray::add*/;
2862 /* Register variable[659]: Result */
2863 variable[659] = NEW_ReduceAction656_parser___ReduceAction656___init() /*new ReduceAction656*/;
2864 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[659]) /*AbstractArray::add*/;
2865 /* Register variable[660]: Result */
2866 variable[660] = NEW_ReduceAction657_parser___ReduceAction657___init() /*new ReduceAction657*/;
2867 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[660]) /*AbstractArray::add*/;
2868 /* Register variable[661]: Result */
2869 variable[661] = NEW_ReduceAction658_parser___ReduceAction658___init() /*new ReduceAction658*/;
2870 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[661]) /*AbstractArray::add*/;
2871 /* Register variable[662]: Result */
2872 variable[662] = NEW_ReduceAction659_parser___ReduceAction659___init() /*new ReduceAction659*/;
2873 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[662]) /*AbstractArray::add*/;
2874 /* Register variable[663]: Result */
2875 variable[663] = NEW_ReduceAction660_parser___ReduceAction660___init() /*new ReduceAction660*/;
2876 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[663]) /*AbstractArray::add*/;
2877 /* Register variable[664]: Result */
2878 variable[664] = NEW_ReduceAction661_parser___ReduceAction661___init() /*new ReduceAction661*/;
2879 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[664]) /*AbstractArray::add*/;
2880 /* Register variable[665]: Result */
2881 variable[665] = NEW_ReduceAction662_parser___ReduceAction662___init() /*new ReduceAction662*/;
2882 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[665]) /*AbstractArray::add*/;
2883 /* Register variable[666]: Result */
2884 variable[666] = NEW_ReduceAction663_parser___ReduceAction663___init() /*new ReduceAction663*/;
2885 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[666]) /*AbstractArray::add*/;
2886 /* Register variable[667]: Result */
2887 variable[667] = NEW_ReduceAction664_parser___ReduceAction664___init() /*new ReduceAction664*/;
2888 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[667]) /*AbstractArray::add*/;
2889 /* Register variable[668]: Result */
2890 variable[668] = NEW_ReduceAction665_parser___ReduceAction665___init() /*new ReduceAction665*/;
2891 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[668]) /*AbstractArray::add*/;
2892 /* Register variable[669]: Result */
2893 variable[669] = NEW_ReduceAction666_parser___ReduceAction666___init() /*new ReduceAction666*/;
2894 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[669]) /*AbstractArray::add*/;
2895 /* Register variable[670]: Result */
2896 variable[670] = NEW_ReduceAction667_parser___ReduceAction667___init() /*new ReduceAction667*/;
2897 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[670]) /*AbstractArray::add*/;
2898 /* Register variable[671]: Result */
2899 variable[671] = NEW_ReduceAction668_parser___ReduceAction668___init() /*new ReduceAction668*/;
2900 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[671]) /*AbstractArray::add*/;
2901 /* Register variable[672]: Result */
2902 variable[672] = NEW_ReduceAction669_parser___ReduceAction669___init() /*new ReduceAction669*/;
2903 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[672]) /*AbstractArray::add*/;
2904 /* Register variable[673]: Result */
2905 variable[673] = NEW_ReduceAction670_parser___ReduceAction670___init() /*new ReduceAction670*/;
2906 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[673]) /*AbstractArray::add*/;
2907 /* Register variable[674]: Result */
2908 variable[674] = NEW_ReduceAction671_parser___ReduceAction671___init() /*new ReduceAction671*/;
2909 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[674]) /*AbstractArray::add*/;
2910 /* Register variable[675]: Result */
2911 variable[675] = NEW_ReduceAction672_parser___ReduceAction672___init() /*new ReduceAction672*/;
2912 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[675]) /*AbstractArray::add*/;
2913 /* Register variable[676]: Result */
2914 variable[676] = NEW_ReduceAction673_parser___ReduceAction673___init() /*new ReduceAction673*/;
2915 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[676]) /*AbstractArray::add*/;
2916 /* Register variable[677]: Result */
2917 variable[677] = NEW_ReduceAction674_parser___ReduceAction674___init() /*new ReduceAction674*/;
2918 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[677]) /*AbstractArray::add*/;
2919 /* Register variable[678]: Result */
2920 variable[678] = NEW_ReduceAction675_parser___ReduceAction675___init() /*new ReduceAction675*/;
2921 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[678]) /*AbstractArray::add*/;
2922 /* Register variable[679]: Result */
2923 variable[679] = NEW_ReduceAction676_parser___ReduceAction676___init() /*new ReduceAction676*/;
2924 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[679]) /*AbstractArray::add*/;
2925 /* Register variable[680]: Result */
2926 variable[680] = NEW_ReduceAction677_parser___ReduceAction677___init() /*new ReduceAction677*/;
2927 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[680]) /*AbstractArray::add*/;
2928 /* Register variable[681]: Result */
2929 variable[681] = NEW_ReduceAction678_parser___ReduceAction678___init() /*new ReduceAction678*/;
2930 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[681]) /*AbstractArray::add*/;
2931 /* Register variable[682]: Result */
2932 variable[682] = NEW_ReduceAction679_parser___ReduceAction679___init() /*new ReduceAction679*/;
2933 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[682]) /*AbstractArray::add*/;
2934 /* Register variable[683]: Result */
2935 variable[683] = NEW_ReduceAction680_parser___ReduceAction680___init() /*new ReduceAction680*/;
2936 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[683]) /*AbstractArray::add*/;
2937 /* Register variable[684]: Result */
2938 variable[684] = NEW_ReduceAction681_parser___ReduceAction681___init() /*new ReduceAction681*/;
2939 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[684]) /*AbstractArray::add*/;
2940 /* Register variable[685]: Result */
2941 variable[685] = NEW_ReduceAction682_parser___ReduceAction682___init() /*new ReduceAction682*/;
2942 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[685]) /*AbstractArray::add*/;
2943 /* Register variable[686]: Result */
2944 variable[686] = NEW_ReduceAction683_parser___ReduceAction683___init() /*new ReduceAction683*/;
2945 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[686]) /*AbstractArray::add*/;
2946 /* Register variable[687]: Result */
2947 variable[687] = NEW_ReduceAction684_parser___ReduceAction684___init() /*new ReduceAction684*/;
2948 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[687]) /*AbstractArray::add*/;
2949 /* Register variable[688]: Result */
2950 variable[688] = NEW_ReduceAction685_parser___ReduceAction685___init() /*new ReduceAction685*/;
2951 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[688]) /*AbstractArray::add*/;
2952 /* Register variable[689]: Result */
2953 variable[689] = NEW_ReduceAction686_parser___ReduceAction686___init() /*new ReduceAction686*/;
2954 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[689]) /*AbstractArray::add*/;
2955 /* Register variable[690]: Result */
2956 variable[690] = NEW_ReduceAction687_parser___ReduceAction687___init() /*new ReduceAction687*/;
2957 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[690]) /*AbstractArray::add*/;
2958 /* Register variable[691]: Result */
2959 variable[691] = NEW_ReduceAction688_parser___ReduceAction688___init() /*new ReduceAction688*/;
2960 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[691]) /*AbstractArray::add*/;
2961 /* Register variable[692]: Result */
2962 variable[692] = NEW_ReduceAction689_parser___ReduceAction689___init() /*new ReduceAction689*/;
2963 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[692]) /*AbstractArray::add*/;
2964 /* Register variable[693]: Result */
2965 variable[693] = NEW_ReduceAction690_parser___ReduceAction690___init() /*new ReduceAction690*/;
2966 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[693]) /*AbstractArray::add*/;
2967 /* Register variable[694]: Result */
2968 variable[694] = NEW_ReduceAction691_parser___ReduceAction691___init() /*new ReduceAction691*/;
2969 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[694]) /*AbstractArray::add*/;
2970 /* Register variable[695]: Result */
2971 variable[695] = NEW_ReduceAction692_parser___ReduceAction692___init() /*new ReduceAction692*/;
2972 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[695]) /*AbstractArray::add*/;
2973 /* Register variable[696]: Result */
2974 variable[696] = NEW_ReduceAction693_parser___ReduceAction693___init() /*new ReduceAction693*/;
2975 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[696]) /*AbstractArray::add*/;
2976 /* Register variable[697]: Result */
2977 variable[697] = NEW_ReduceAction694_parser___ReduceAction694___init() /*new ReduceAction694*/;
2978 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[697]) /*AbstractArray::add*/;
2979 /* Register variable[698]: Result */
2980 variable[698] = NEW_ReduceAction695_parser___ReduceAction695___init() /*new ReduceAction695*/;
2981 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[698]) /*AbstractArray::add*/;
2982 /* Register variable[699]: Result */
2983 variable[699] = NEW_ReduceAction696_parser___ReduceAction696___init() /*new ReduceAction696*/;
2984 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[699]) /*AbstractArray::add*/;
2985 /* Register variable[700]: Result */
2986 variable[700] = NEW_ReduceAction697_parser___ReduceAction697___init() /*new ReduceAction697*/;
2987 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[700]) /*AbstractArray::add*/;
2988 /* Register variable[701]: Result */
2989 variable[701] = NEW_ReduceAction698_parser___ReduceAction698___init() /*new ReduceAction698*/;
2990 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[701]) /*AbstractArray::add*/;
2991 /* Register variable[702]: Result */
2992 variable[702] = NEW_ReduceAction699_parser___ReduceAction699___init() /*new ReduceAction699*/;
2993 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[702]) /*AbstractArray::add*/;
2994 /* Register variable[703]: Result */
2995 variable[703] = NEW_ReduceAction700_parser___ReduceAction700___init() /*new ReduceAction700*/;
2996 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[703]) /*AbstractArray::add*/;
2997 /* Register variable[704]: Result */
2998 variable[704] = NEW_ReduceAction701_parser___ReduceAction701___init() /*new ReduceAction701*/;
2999 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[704]) /*AbstractArray::add*/;
3000 /* Register variable[705]: Result */
3001 variable[705] = NEW_ReduceAction702_parser___ReduceAction702___init() /*new ReduceAction702*/;
3002 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[705]) /*AbstractArray::add*/;
3003 /* Register variable[706]: Result */
3004 variable[706] = NEW_ReduceAction703_parser___ReduceAction703___init() /*new ReduceAction703*/;
3005 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[706]) /*AbstractArray::add*/;
3006 /* Register variable[707]: Result */
3007 variable[707] = NEW_ReduceAction704_parser___ReduceAction704___init() /*new ReduceAction704*/;
3008 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[707]) /*AbstractArray::add*/;
3009 /* Register variable[708]: Result */
3010 variable[708] = NEW_ReduceAction705_parser___ReduceAction705___init() /*new ReduceAction705*/;
3011 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[708]) /*AbstractArray::add*/;
3012 /* Register variable[709]: Result */
3013 variable[709] = NEW_ReduceAction706_parser___ReduceAction706___init() /*new ReduceAction706*/;
3014 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[709]) /*AbstractArray::add*/;
3015 /* Register variable[710]: Result */
3016 variable[710] = NEW_ReduceAction707_parser___ReduceAction707___init() /*new ReduceAction707*/;
3017 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[710]) /*AbstractArray::add*/;
3018 /* Register variable[711]: Result */
3019 variable[711] = NEW_ReduceAction708_parser___ReduceAction708___init() /*new ReduceAction708*/;
3020 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[711]) /*AbstractArray::add*/;
3021 /* Register variable[712]: Result */
3022 variable[712] = NEW_ReduceAction709_parser___ReduceAction709___init() /*new ReduceAction709*/;
3023 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[712]) /*AbstractArray::add*/;
3024 /* Register variable[713]: Result */
3025 variable[713] = NEW_ReduceAction710_parser___ReduceAction710___init() /*new ReduceAction710*/;
3026 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[713]) /*AbstractArray::add*/;
3027 /* Register variable[714]: Result */
3028 variable[714] = NEW_ReduceAction711_parser___ReduceAction711___init() /*new ReduceAction711*/;
3029 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[714]) /*AbstractArray::add*/;
3030 /* Register variable[715]: Result */
3031 variable[715] = NEW_ReduceAction712_parser___ReduceAction712___init() /*new ReduceAction712*/;
3032 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[715]) /*AbstractArray::add*/;
3033 /* Register variable[716]: Result */
3034 variable[716] = NEW_ReduceAction713_parser___ReduceAction713___init() /*new ReduceAction713*/;
3035 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[716]) /*AbstractArray::add*/;
3036 /* Register variable[717]: Result */
3037 variable[717] = NEW_ReduceAction714_parser___ReduceAction714___init() /*new ReduceAction714*/;
3038 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[717]) /*AbstractArray::add*/;
3039 /* Register variable[718]: Result */
3040 variable[718] = NEW_ReduceAction715_parser___ReduceAction715___init() /*new ReduceAction715*/;
3041 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[718]) /*AbstractArray::add*/;
3042 /* Register variable[719]: Result */
3043 variable[719] = NEW_ReduceAction716_parser___ReduceAction716___init() /*new ReduceAction716*/;
3044 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[719]) /*AbstractArray::add*/;
3045 /* Register variable[720]: Result */
3046 variable[720] = NEW_ReduceAction717_parser___ReduceAction717___init() /*new ReduceAction717*/;
3047 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[720]) /*AbstractArray::add*/;
3048 /* Register variable[721]: Result */
3049 variable[721] = NEW_ReduceAction718_parser___ReduceAction718___init() /*new ReduceAction718*/;
3050 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[721]) /*AbstractArray::add*/;
3051 /* Register variable[722]: Result */
3052 variable[722] = NEW_ReduceAction719_parser___ReduceAction719___init() /*new ReduceAction719*/;
3053 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[722]) /*AbstractArray::add*/;
3054 /* Register variable[723]: Result */
3055 variable[723] = NEW_ReduceAction720_parser___ReduceAction720___init() /*new ReduceAction720*/;
3056 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[723]) /*AbstractArray::add*/;
3057 /* Register variable[724]: Result */
3058 variable[724] = NEW_ReduceAction721_parser___ReduceAction721___init() /*new ReduceAction721*/;
3059 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[724]) /*AbstractArray::add*/;
3060 /* Register variable[725]: Result */
3061 variable[725] = NEW_ReduceAction722_parser___ReduceAction722___init() /*new ReduceAction722*/;
3062 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[725]) /*AbstractArray::add*/;
3063 /* Register variable[726]: Result */
3064 variable[726] = NEW_ReduceAction723_parser___ReduceAction723___init() /*new ReduceAction723*/;
3065 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[726]) /*AbstractArray::add*/;
3066 /* Register variable[727]: Result */
3067 variable[727] = NEW_ReduceAction724_parser___ReduceAction724___init() /*new ReduceAction724*/;
3068 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[727]) /*AbstractArray::add*/;
3069 /* Register variable[728]: Result */
3070 variable[728] = NEW_ReduceAction725_parser___ReduceAction725___init() /*new ReduceAction725*/;
3071 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[728]) /*AbstractArray::add*/;
3072 /* Register variable[729]: Result */
3073 variable[729] = NEW_ReduceAction726_parser___ReduceAction726___init() /*new ReduceAction726*/;
3074 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[729]) /*AbstractArray::add*/;
3075 /* Register variable[730]: Result */
3076 variable[730] = NEW_ReduceAction727_parser___ReduceAction727___init() /*new ReduceAction727*/;
3077 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[730]) /*AbstractArray::add*/;
3078 /* Register variable[731]: Result */
3079 variable[731] = NEW_ReduceAction728_parser___ReduceAction728___init() /*new ReduceAction728*/;
3080 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[731]) /*AbstractArray::add*/;
3081 /* Register variable[732]: Result */
3082 variable[732] = NEW_ReduceAction729_parser___ReduceAction729___init() /*new ReduceAction729*/;
3083 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[732]) /*AbstractArray::add*/;
3084 /* Register variable[733]: Result */
3085 variable[733] = NEW_ReduceAction730_parser___ReduceAction730___init() /*new ReduceAction730*/;
3086 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[733]) /*AbstractArray::add*/;
3087 /* Register variable[734]: Result */
3088 variable[734] = NEW_ReduceAction731_parser___ReduceAction731___init() /*new ReduceAction731*/;
3089 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[734]) /*AbstractArray::add*/;
3090 /* Register variable[735]: Result */
3091 variable[735] = NEW_ReduceAction732_parser___ReduceAction732___init() /*new ReduceAction732*/;
3092 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[735]) /*AbstractArray::add*/;
3093 /* Register variable[736]: Result */
3094 variable[736] = NEW_ReduceAction733_parser___ReduceAction733___init() /*new ReduceAction733*/;
3095 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[736]) /*AbstractArray::add*/;
3096 /* Register variable[737]: Result */
3097 variable[737] = NEW_ReduceAction734_parser___ReduceAction734___init() /*new ReduceAction734*/;
3098 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[737]) /*AbstractArray::add*/;
3099 /* Register variable[738]: Result */
3100 variable[738] = NEW_ReduceAction735_parser___ReduceAction735___init() /*new ReduceAction735*/;
3101 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[738]) /*AbstractArray::add*/;
3102 /* Register variable[739]: Result */
3103 variable[739] = NEW_ReduceAction736_parser___ReduceAction736___init() /*new ReduceAction736*/;
3104 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[739]) /*AbstractArray::add*/;
3105 /* Register variable[740]: Result */
3106 variable[740] = NEW_ReduceAction737_parser___ReduceAction737___init() /*new ReduceAction737*/;
3107 CALL_abstract_collection___SimpleCollection___add(variable[2])(variable[2], variable[740]) /*AbstractArray::add*/;
3108 /* Register variable[2]: Result */
3109 /* Register variable[2]: Result */
3110 variable[2] = NEW_Array_array___Array___with_items(variable[2]) /*new Array[ReduceAction]*/;
3111 ATTR_parser___Parser____reduce_table(variable[0]) /*Parser::_reduce_table*/ = variable[2];
3112 return_label28: while(false);
3113 tracehead = trace.prev;
3114 return;
3115 }
3116 void parser___SearchTokensVisitor___visit(val_t self, val_t param0) {
3117 struct trace_t trace = {NULL, NULL, 909, LOCATE_parser___SearchTokensVisitor___visit};
3118 val_t variable[6];
3119 struct WBT_ **closurevariable = NULL;
3120 trace.prev = tracehead; tracehead = &trace;
3121 trace.file = LOCATE_parser;
3122 /* Register variable[0]: Local variable */
3123 variable[0] = self;
3124 /* Register variable[1]: Local variable */
3125 variable[1] = param0;
3126 /* Register variable[2]: Method return value and escape marker */
3127 /* Register variable[3]: Result */
3128 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
3129 if (UNTAG_Bool(variable[3])) { /*if*/
3130 /* Register variable[3]: Result */
3131 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
3132 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 912); nit_exit(1);}
3133 ATTR_parser___SearchTokensVisitor____last_token(variable[0]) /*SearchTokensVisitor::_last_token*/ = variable[1] /*n*/;
3134 /* Register variable[3]: Result */
3135 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[0]) /*SearchTokensVisitor::_untokenned_nodes*/;
3136 /* Register variable[3]: For iterator */
3137 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*AbstractArrayRead::iterator*/;
3138 while (true) { /*for*/
3139 /* Register variable[4]: For 'is_ok' result */
3140 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*ArrayIterator::is_ok*/;
3141 if (!UNTAG_Bool(variable[4])) break; /*for*/
3142 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3143 /* Register variable[5]: Local variable */
3144 variable[5] = variable[4];
3145 CALL_parser_prod___Prod___first_token__eq( variable[5] /*no*/)( variable[5] /*no*/, variable[1] /*n*/) /*Prod::first_token=*/;
3146 continue_30: while(0);
3147 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*ArrayIterator::next*/;
3148 }
3149 break_30: while(0);
3150 /* Register variable[3]: Result */
3151 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[0]) /*SearchTokensVisitor::_untokenned_nodes*/;
3152 CALL_abstract_collection___RemovableCollection___clear(variable[3])(variable[3]) /*AbstractArray::clear*/;
3153 } else { /*if*/
3154 /* Register variable[3]: Result */
3155 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Prod, ID_Prod)) /*cast Prod*/;
3156 if (!UNTAG_Bool(variable[3])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___SearchTokensVisitor___visit, LOCATE_parser, 919); nit_exit(1);}
3157 /* Register variable[3]: Result */
3158 variable[3] = ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[0]) /*SearchTokensVisitor::_untokenned_nodes*/;
3159 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[1] /*n*/) /*AbstractArray::add*/;
3160 CALL_parser_prod___PNode___visit_all( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PNode::visit_all*/;
3161 /* Register variable[3]: Result */
3162 variable[3] = ATTR_parser___SearchTokensVisitor____last_token(variable[0]) /*SearchTokensVisitor::_last_token*/;
3163 CALL_parser_prod___Prod___last_token__eq( variable[1] /*n*/)( variable[1] /*n*/, variable[3]) /*Prod::last_token=*/;
3164 }
3165 return_label29: while(false);
3166 tracehead = trace.prev;
3167 return;
3168 }
3169 void parser___SearchTokensVisitor___init(val_t self, int* init_table) {
3170 struct trace_t trace = {NULL, NULL, 925, LOCATE_parser___SearchTokensVisitor___init};
3171 val_t variable[3];
3172 struct WBT_ **closurevariable = NULL;
3173 trace.prev = tracehead; tracehead = &trace;
3174 trace.file = LOCATE_parser;
3175 /* Register variable[0]: Local variable */
3176 variable[0] = self;
3177 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_SearchTokensVisitor].i]) return;
3178 /* Register variable[1]: Method return value and escape marker */
3179 /* Register variable[2]: Result */
3180 variable[2] = NEW_Array_array___Array___init() /*new Array[Prod]*/;
3181 ATTR_parser___SearchTokensVisitor____untokenned_nodes(variable[0]) /*SearchTokensVisitor::_untokenned_nodes*/ = variable[2];
3182 return_label31: while(false);
3183 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_SearchTokensVisitor].i] = 1;
3184 tracehead = trace.prev;
3185 return;
3186 }
3187 void parser___ReduceAction___action(val_t self, val_t param0) {
3188 struct trace_t trace = {NULL, NULL, 933, LOCATE_parser___ReduceAction___action};
3189 val_t *variable = NULL;
3190 struct WBT_ **closurevariable = NULL;
3191 trace.prev = tracehead; tracehead = &trace;
3192 trace.file = LOCATE_parser;
3193 fprintf(stderr, "Deferred method called");
3194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser, 933);
3195 nit_exit(1);
3196 tracehead = trace.prev;
3197 return;
3198 }
3199 void parser___ReduceAction___init(val_t self, int* init_table) {
3200 struct trace_t trace = {NULL, NULL, 0, LOCATE_parser___ReduceAction___init};
3201 val_t *variable = NULL;
3202 struct WBT_ **closurevariable = NULL;
3203 trace.prev = tracehead; tracehead = &trace;
3204 trace.file = LOCATE_parser;
3205 tracehead = trace.prev;
3206 return;
3207 }
3208 void parser___ReduceAction0___action(val_t self, val_t param0) {
3209 struct trace_t trace = {NULL, NULL, 938, LOCATE_parser___ReduceAction0___action};
3210 val_t variable[8];
3211 struct WBT_ **closurevariable = NULL;
3212 trace.prev = tracehead; tracehead = &trace;
3213 trace.file = LOCATE_parser;
3214 /* Register variable[0]: Local variable */
3215 variable[0] = self;
3216 /* Register variable[1]: Local variable */
3217 variable[1] = param0;
3218 /* Register variable[2]: Method return value and escape marker */
3219 /* Register variable[3]: Local variable */
3220 variable[3] = NIT_NULL /*null*/;
3221 /* Register variable[4]: Local variable */
3222 /* Register variable[5]: Result */
3223 variable[5] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3224 variable[4] = variable[5];
3225 /* Register variable[5]: Local variable */
3226 /* Register variable[6]: Result */
3227 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3228 variable[5] = variable[6];
3229 /* Register variable[6]: Local variable */
3230 /* Register variable[7]: Result */
3231 variable[7] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[4] /*listnode3*/, variable[5] /*listnode4*/) /*new AModule*/;
3232 variable[6] = variable[7];
3233 variable[3] = variable[6] /*pmodulenode1*/ /*node_list=*/;
3234 /* Register variable[7]: Result */
3235 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3236 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
3237 return_label32: while(false);
3238 tracehead = trace.prev;
3239 return;
3240 }
3241 void parser___ReduceAction0___init(val_t self, int* init_table) {
3242 struct trace_t trace = {NULL, NULL, 951, LOCATE_parser___ReduceAction0___init};
3243 val_t variable[2];
3244 struct WBT_ **closurevariable = NULL;
3245 trace.prev = tracehead; tracehead = &trace;
3246 trace.file = LOCATE_parser;
3247 /* Register variable[0]: Local variable */
3248 variable[0] = self;
3249 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction0].i]) return;
3250 /* Register variable[1]: Method return value and escape marker */
3251 return_label33: while(false);
3252 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction0].i] = 1;
3253 tracehead = trace.prev;
3254 return;
3255 }
3256 void parser___ReduceAction1___action(val_t self, val_t param0) {
3257 struct trace_t trace = {NULL, NULL, 955, LOCATE_parser___ReduceAction1___action};
3258 val_t variable[10];
3259 struct WBT_ **closurevariable = NULL;
3260 trace.prev = tracehead; tracehead = &trace;
3261 trace.file = LOCATE_parser;
3262 /* Register variable[0]: Local variable */
3263 variable[0] = self;
3264 /* Register variable[1]: Local variable */
3265 variable[1] = param0;
3266 /* Register variable[2]: Method return value and escape marker */
3267 /* Register variable[3]: Local variable */
3268 variable[3] = NIT_NULL /*null*/;
3269 /* Register variable[4]: Local variable */
3270 /* Register variable[5]: Result */
3271 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3272 variable[4] = variable[5];
3273 /* Register variable[5]: Local variable */
3274 /* Register variable[6]: Result */
3275 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3276 variable[5] = variable[6];
3277 /* Register variable[6]: Local variable */
3278 /* Register variable[7]: Result */
3279 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3280 variable[6] = variable[7];
3281 /* Register variable[7]: Local variable */
3282 variable[7] = variable[4] /*nodearraylist1*/;
3283 /* Register variable[8]: Result */
3284 variable[8] = TAG_Bool(( variable[7] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3285 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction1___action, LOCATE_parser, 962); nit_exit(1);}
3286 /* Register variable[8]: Local variable */
3287 /* Register variable[9]: Result */
3288 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( variable[7] /*ppackagedeclnode2*/, variable[5] /*listnode3*/, variable[6] /*listnode4*/) /*new AModule*/;
3289 variable[8] = variable[9];
3290 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
3291 /* Register variable[9]: Result */
3292 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3293 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
3294 return_label34: while(false);
3295 tracehead = trace.prev;
3296 return;
3297 }
3298 void parser___ReduceAction1___init(val_t self, int* init_table) {
3299 struct trace_t trace = {NULL, NULL, 971, LOCATE_parser___ReduceAction1___init};
3300 val_t variable[2];
3301 struct WBT_ **closurevariable = NULL;
3302 trace.prev = tracehead; tracehead = &trace;
3303 trace.file = LOCATE_parser;
3304 /* Register variable[0]: Local variable */
3305 variable[0] = self;
3306 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction1].i]) return;
3307 /* Register variable[1]: Method return value and escape marker */
3308 return_label35: while(false);
3309 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction1].i] = 1;
3310 tracehead = trace.prev;
3311 return;
3312 }
3313 void parser___ReduceAction2___action(val_t self, val_t param0) {
3314 struct trace_t trace = {NULL, NULL, 975, LOCATE_parser___ReduceAction2___action};
3315 val_t variable[10];
3316 struct WBT_ **closurevariable = NULL;
3317 trace.prev = tracehead; tracehead = &trace;
3318 trace.file = LOCATE_parser;
3319 /* Register variable[0]: Local variable */
3320 variable[0] = self;
3321 /* Register variable[1]: Local variable */
3322 variable[1] = param0;
3323 /* Register variable[2]: Method return value and escape marker */
3324 /* Register variable[3]: Local variable */
3325 variable[3] = NIT_NULL /*null*/;
3326 /* Register variable[4]: Local variable */
3327 /* Register variable[5]: Result */
3328 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3329 variable[4] = variable[5];
3330 /* Register variable[5]: Local variable */
3331 /* Register variable[6]: Result */
3332 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3333 variable[5] = variable[6];
3334 /* Register variable[6]: Local variable */
3335 /* Register variable[7]: Result */
3336 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3337 variable[6] = variable[7];
3338 /* Register variable[7]: Local variable */
3339 variable[7] = variable[4] /*nodearraylist1*/;
3340 /* Register variable[8]: Result */
3341 variable[8] = TAG_Bool(( variable[7] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3342 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction2___action, LOCATE_parser, 982); nit_exit(1);}
3343 /* Register variable[8]: Result */
3344 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::==*/)))))));
3345 if (UNTAG_Bool(variable[8])) { /*if*/
3346 /* Register variable[8]: Result */
3347 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode4*/)( variable[5] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
3348 if (UNTAG_Bool(variable[8])) { /*if*/
3349 variable[5] = variable[7] /*listnode3*/ /*listnode4=*/;
3350 } else { /*if*/
3351 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode4*/)( variable[5] /*listnode4*/, variable[7] /*listnode3*/) /*IndexedCollection::append*/;
3352 }
3353 }
3354 /* Register variable[8]: Local variable */
3355 /* Register variable[9]: Result */
3356 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode4*/, variable[6] /*listnode5*/) /*new AModule*/;
3357 variable[8] = variable[9];
3358 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
3359 /* Register variable[9]: Result */
3360 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3361 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
3362 return_label36: while(false);
3363 tracehead = trace.prev;
3364 return;
3365 }
3366 void parser___ReduceAction2___init(val_t self, int* init_table) {
3367 struct trace_t trace = {NULL, NULL, 998, LOCATE_parser___ReduceAction2___init};
3368 val_t variable[2];
3369 struct WBT_ **closurevariable = NULL;
3370 trace.prev = tracehead; tracehead = &trace;
3371 trace.file = LOCATE_parser;
3372 /* Register variable[0]: Local variable */
3373 variable[0] = self;
3374 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction2].i]) return;
3375 /* Register variable[1]: Method return value and escape marker */
3376 return_label37: while(false);
3377 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction2].i] = 1;
3378 tracehead = trace.prev;
3379 return;
3380 }
3381 void parser___ReduceAction3___action(val_t self, val_t param0) {
3382 struct trace_t trace = {NULL, NULL, 1002, LOCATE_parser___ReduceAction3___action};
3383 val_t variable[12];
3384 struct WBT_ **closurevariable = NULL;
3385 trace.prev = tracehead; tracehead = &trace;
3386 trace.file = LOCATE_parser;
3387 /* Register variable[0]: Local variable */
3388 variable[0] = self;
3389 /* Register variable[1]: Local variable */
3390 variable[1] = param0;
3391 /* Register variable[2]: Method return value and escape marker */
3392 /* Register variable[3]: Local variable */
3393 variable[3] = NIT_NULL /*null*/;
3394 /* Register variable[4]: Local variable */
3395 /* Register variable[5]: Result */
3396 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3397 variable[4] = variable[5];
3398 /* Register variable[5]: Local variable */
3399 /* Register variable[6]: Result */
3400 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3401 variable[5] = variable[6];
3402 /* Register variable[6]: Local variable */
3403 /* Register variable[7]: Result */
3404 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3405 variable[6] = variable[7];
3406 /* Register variable[7]: Local variable */
3407 /* Register variable[8]: Result */
3408 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3409 variable[7] = variable[8];
3410 /* Register variable[8]: Local variable */
3411 variable[8] = variable[5] /*nodearraylist1*/;
3412 /* Register variable[9]: Result */
3413 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3414 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 1010); nit_exit(1);}
3415 /* Register variable[9]: Local variable */
3416 variable[9] = variable[4] /*nodearraylist2*/;
3417 /* Register variable[10]: Result */
3418 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3419 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction3___action, LOCATE_parser, 1012); nit_exit(1);}
3420 /* Register variable[10]: Result */
3421 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::==*/)))))));
3422 if (UNTAG_Bool(variable[10])) { /*if*/
3423 /* Register variable[10]: Result */
3424 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
3425 if (UNTAG_Bool(variable[10])) { /*if*/
3426 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
3427 } else { /*if*/
3428 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
3429 }
3430 }
3431 /* Register variable[10]: Local variable */
3432 /* Register variable[11]: Result */
3433 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/) /*new AModule*/;
3434 variable[10] = variable[11];
3435 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3436 /* Register variable[11]: Result */
3437 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3438 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3439 return_label38: while(false);
3440 tracehead = trace.prev;
3441 return;
3442 }
3443 void parser___ReduceAction3___init(val_t self, int* init_table) {
3444 struct trace_t trace = {NULL, NULL, 1028, LOCATE_parser___ReduceAction3___init};
3445 val_t variable[2];
3446 struct WBT_ **closurevariable = NULL;
3447 trace.prev = tracehead; tracehead = &trace;
3448 trace.file = LOCATE_parser;
3449 /* Register variable[0]: Local variable */
3450 variable[0] = self;
3451 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction3].i]) return;
3452 /* Register variable[1]: Method return value and escape marker */
3453 return_label39: while(false);
3454 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction3].i] = 1;
3455 tracehead = trace.prev;
3456 return;
3457 }
3458 void parser___ReduceAction4___action(val_t self, val_t param0) {
3459 struct trace_t trace = {NULL, NULL, 1032, LOCATE_parser___ReduceAction4___action};
3460 val_t variable[10];
3461 struct WBT_ **closurevariable = NULL;
3462 trace.prev = tracehead; tracehead = &trace;
3463 trace.file = LOCATE_parser;
3464 /* Register variable[0]: Local variable */
3465 variable[0] = self;
3466 /* Register variable[1]: Local variable */
3467 variable[1] = param0;
3468 /* Register variable[2]: Method return value and escape marker */
3469 /* Register variable[3]: Local variable */
3470 variable[3] = NIT_NULL /*null*/;
3471 /* Register variable[4]: Local variable */
3472 /* Register variable[5]: Result */
3473 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3474 variable[4] = variable[5];
3475 /* Register variable[5]: Local variable */
3476 /* Register variable[6]: Result */
3477 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3478 variable[5] = variable[6];
3479 /* Register variable[6]: Local variable */
3480 /* Register variable[7]: Result */
3481 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3482 variable[6] = variable[7];
3483 /* Register variable[7]: Local variable */
3484 variable[7] = variable[4] /*nodearraylist1*/;
3485 /* Register variable[8]: Result */
3486 variable[8] = TAG_Bool(( variable[7] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3487 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction4___action, LOCATE_parser, 1039); nit_exit(1);}
3488 /* Register variable[8]: Result */
3489 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::==*/)))))));
3490 if (UNTAG_Bool(variable[8])) { /*if*/
3491 /* Register variable[8]: Result */
3492 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
3493 if (UNTAG_Bool(variable[8])) { /*if*/
3494 variable[6] = variable[7] /*listnode4*/ /*listnode5=*/;
3495 } else { /*if*/
3496 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*listnode4*/) /*IndexedCollection::append*/;
3497 }
3498 }
3499 /* Register variable[8]: Local variable */
3500 /* Register variable[9]: Result */
3501 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/) /*new AModule*/;
3502 variable[8] = variable[9];
3503 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
3504 /* Register variable[9]: Result */
3505 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3506 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
3507 return_label40: while(false);
3508 tracehead = trace.prev;
3509 return;
3510 }
3511 void parser___ReduceAction4___init(val_t self, int* init_table) {
3512 struct trace_t trace = {NULL, NULL, 1055, LOCATE_parser___ReduceAction4___init};
3513 val_t variable[2];
3514 struct WBT_ **closurevariable = NULL;
3515 trace.prev = tracehead; tracehead = &trace;
3516 trace.file = LOCATE_parser;
3517 /* Register variable[0]: Local variable */
3518 variable[0] = self;
3519 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction4].i]) return;
3520 /* Register variable[1]: Method return value and escape marker */
3521 return_label41: while(false);
3522 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction4].i] = 1;
3523 tracehead = trace.prev;
3524 return;
3525 }
3526 void parser___ReduceAction5___action(val_t self, val_t param0) {
3527 struct trace_t trace = {NULL, NULL, 1059, LOCATE_parser___ReduceAction5___action};
3528 val_t variable[12];
3529 struct WBT_ **closurevariable = NULL;
3530 trace.prev = tracehead; tracehead = &trace;
3531 trace.file = LOCATE_parser;
3532 /* Register variable[0]: Local variable */
3533 variable[0] = self;
3534 /* Register variable[1]: Local variable */
3535 variable[1] = param0;
3536 /* Register variable[2]: Method return value and escape marker */
3537 /* Register variable[3]: Local variable */
3538 variable[3] = NIT_NULL /*null*/;
3539 /* Register variable[4]: Local variable */
3540 /* Register variable[5]: Result */
3541 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3542 variable[4] = variable[5];
3543 /* Register variable[5]: Local variable */
3544 /* Register variable[6]: Result */
3545 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3546 variable[5] = variable[6];
3547 /* Register variable[6]: Local variable */
3548 /* Register variable[7]: Result */
3549 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3550 variable[6] = variable[7];
3551 /* Register variable[7]: Local variable */
3552 /* Register variable[8]: Result */
3553 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3554 variable[7] = variable[8];
3555 /* Register variable[8]: Local variable */
3556 variable[8] = variable[5] /*nodearraylist1*/;
3557 /* Register variable[9]: Result */
3558 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3559 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 1067); nit_exit(1);}
3560 /* Register variable[9]: Local variable */
3561 variable[9] = variable[4] /*nodearraylist2*/;
3562 /* Register variable[10]: Result */
3563 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3564 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction5___action, LOCATE_parser, 1069); nit_exit(1);}
3565 /* Register variable[10]: Result */
3566 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::==*/)))))));
3567 if (UNTAG_Bool(variable[10])) { /*if*/
3568 /* Register variable[10]: Result */
3569 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
3570 if (UNTAG_Bool(variable[10])) { /*if*/
3571 variable[7] = variable[9] /*listnode4*/ /*listnode5=*/;
3572 } else { /*if*/
3573 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
3574 }
3575 }
3576 /* Register variable[10]: Local variable */
3577 /* Register variable[11]: Result */
3578 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/) /*new AModule*/;
3579 variable[10] = variable[11];
3580 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3581 /* Register variable[11]: Result */
3582 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3583 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3584 return_label42: while(false);
3585 tracehead = trace.prev;
3586 return;
3587 }
3588 void parser___ReduceAction5___init(val_t self, int* init_table) {
3589 struct trace_t trace = {NULL, NULL, 1085, LOCATE_parser___ReduceAction5___init};
3590 val_t variable[2];
3591 struct WBT_ **closurevariable = NULL;
3592 trace.prev = tracehead; tracehead = &trace;
3593 trace.file = LOCATE_parser;
3594 /* Register variable[0]: Local variable */
3595 variable[0] = self;
3596 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction5].i]) return;
3597 /* Register variable[1]: Method return value and escape marker */
3598 return_label43: while(false);
3599 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction5].i] = 1;
3600 tracehead = trace.prev;
3601 return;
3602 }
3603 void parser___ReduceAction6___action(val_t self, val_t param0) {
3604 struct trace_t trace = {NULL, NULL, 1089, LOCATE_parser___ReduceAction6___action};
3605 val_t variable[12];
3606 struct WBT_ **closurevariable = NULL;
3607 trace.prev = tracehead; tracehead = &trace;
3608 trace.file = LOCATE_parser;
3609 /* Register variable[0]: Local variable */
3610 variable[0] = self;
3611 /* Register variable[1]: Local variable */
3612 variable[1] = param0;
3613 /* Register variable[2]: Method return value and escape marker */
3614 /* Register variable[3]: Local variable */
3615 variable[3] = NIT_NULL /*null*/;
3616 /* Register variable[4]: Local variable */
3617 /* Register variable[5]: Result */
3618 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3619 variable[4] = variable[5];
3620 /* Register variable[5]: Local variable */
3621 /* Register variable[6]: Result */
3622 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3623 variable[5] = variable[6];
3624 /* Register variable[6]: Local variable */
3625 /* Register variable[7]: Result */
3626 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3627 variable[6] = variable[7];
3628 /* Register variable[7]: Local variable */
3629 /* Register variable[8]: Result */
3630 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3631 variable[7] = variable[8];
3632 /* Register variable[8]: Local variable */
3633 variable[8] = variable[5] /*nodearraylist1*/;
3634 /* Register variable[9]: Result */
3635 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3636 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1097); nit_exit(1);}
3637 /* Register variable[9]: Result */
3638 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::==*/)))))));
3639 if (UNTAG_Bool(variable[9])) { /*if*/
3640 /* Register variable[9]: Result */
3641 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
3642 if (UNTAG_Bool(variable[9])) { /*if*/
3643 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
3644 } else { /*if*/
3645 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
3646 }
3647 }
3648 /* Register variable[9]: Local variable */
3649 variable[9] = variable[4] /*nodearraylist2*/;
3650 /* Register variable[10]: Result */
3651 variable[10] = TAG_Bool(( variable[9] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3652 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction6___action, LOCATE_parser, 1106); nit_exit(1);}
3653 /* Register variable[10]: Result */
3654 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::==*/)))))));
3655 if (UNTAG_Bool(variable[10])) { /*if*/
3656 /* Register variable[10]: Result */
3657 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
3658 if (UNTAG_Bool(variable[10])) { /*if*/
3659 variable[7] = variable[9] /*listnode5*/ /*listnode6=*/;
3660 } else { /*if*/
3661 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*listnode5*/) /*IndexedCollection::append*/;
3662 }
3663 }
3664 /* Register variable[10]: Local variable */
3665 /* Register variable[11]: Result */
3666 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/) /*new AModule*/;
3667 variable[10] = variable[11];
3668 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
3669 /* Register variable[11]: Result */
3670 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3671 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
3672 return_label44: while(false);
3673 tracehead = trace.prev;
3674 return;
3675 }
3676 void parser___ReduceAction6___init(val_t self, int* init_table) {
3677 struct trace_t trace = {NULL, NULL, 1122, LOCATE_parser___ReduceAction6___init};
3678 val_t variable[2];
3679 struct WBT_ **closurevariable = NULL;
3680 trace.prev = tracehead; tracehead = &trace;
3681 trace.file = LOCATE_parser;
3682 /* Register variable[0]: Local variable */
3683 variable[0] = self;
3684 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction6].i]) return;
3685 /* Register variable[1]: Method return value and escape marker */
3686 return_label45: while(false);
3687 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction6].i] = 1;
3688 tracehead = trace.prev;
3689 return;
3690 }
3691 void parser___ReduceAction7___action(val_t self, val_t param0) {
3692 struct trace_t trace = {NULL, NULL, 1126, LOCATE_parser___ReduceAction7___action};
3693 val_t variable[14];
3694 struct WBT_ **closurevariable = NULL;
3695 trace.prev = tracehead; tracehead = &trace;
3696 trace.file = LOCATE_parser;
3697 /* Register variable[0]: Local variable */
3698 variable[0] = self;
3699 /* Register variable[1]: Local variable */
3700 variable[1] = param0;
3701 /* Register variable[2]: Method return value and escape marker */
3702 /* Register variable[3]: Local variable */
3703 variable[3] = NIT_NULL /*null*/;
3704 /* Register variable[4]: Local variable */
3705 /* Register variable[5]: Result */
3706 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3707 variable[4] = variable[5];
3708 /* Register variable[5]: Local variable */
3709 /* Register variable[6]: Result */
3710 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3711 variable[5] = variable[6];
3712 /* Register variable[6]: Local variable */
3713 /* Register variable[7]: Result */
3714 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3715 variable[6] = variable[7];
3716 /* Register variable[7]: Local variable */
3717 /* Register variable[8]: Result */
3718 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3719 variable[7] = variable[8];
3720 /* Register variable[8]: Local variable */
3721 /* Register variable[9]: Result */
3722 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3723 variable[8] = variable[9];
3724 /* Register variable[9]: Local variable */
3725 variable[9] = variable[6] /*nodearraylist1*/;
3726 /* Register variable[10]: Result */
3727 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
3728 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1135); nit_exit(1);}
3729 /* Register variable[10]: Local variable */
3730 variable[10] = variable[5] /*nodearraylist2*/;
3731 /* Register variable[11]: Result */
3732 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3733 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1137); nit_exit(1);}
3734 /* Register variable[11]: Result */
3735 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::==*/)))))));
3736 if (UNTAG_Bool(variable[11])) { /*if*/
3737 /* Register variable[11]: Result */
3738 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
3739 if (UNTAG_Bool(variable[11])) { /*if*/
3740 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
3741 } else { /*if*/
3742 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
3743 }
3744 }
3745 /* Register variable[11]: Local variable */
3746 variable[11] = variable[4] /*nodearraylist3*/;
3747 /* Register variable[12]: Result */
3748 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3749 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction7___action, LOCATE_parser, 1146); nit_exit(1);}
3750 /* Register variable[12]: Result */
3751 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::==*/)))))));
3752 if (UNTAG_Bool(variable[12])) { /*if*/
3753 /* Register variable[12]: Result */
3754 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
3755 if (UNTAG_Bool(variable[12])) { /*if*/
3756 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
3757 } else { /*if*/
3758 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
3759 }
3760 }
3761 /* Register variable[12]: Local variable */
3762 /* Register variable[13]: Result */
3763 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/) /*new AModule*/;
3764 variable[12] = variable[13];
3765 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
3766 /* Register variable[13]: Result */
3767 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3768 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
3769 return_label46: while(false);
3770 tracehead = trace.prev;
3771 return;
3772 }
3773 void parser___ReduceAction7___init(val_t self, int* init_table) {
3774 struct trace_t trace = {NULL, NULL, 1162, LOCATE_parser___ReduceAction7___init};
3775 val_t variable[2];
3776 struct WBT_ **closurevariable = NULL;
3777 trace.prev = tracehead; tracehead = &trace;
3778 trace.file = LOCATE_parser;
3779 /* Register variable[0]: Local variable */
3780 variable[0] = self;
3781 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction7].i]) return;
3782 /* Register variable[1]: Method return value and escape marker */
3783 return_label47: while(false);
3784 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction7].i] = 1;
3785 tracehead = trace.prev;
3786 return;
3787 }
3788 void parser___ReduceAction8___action(val_t self, val_t param0) {
3789 struct trace_t trace = {NULL, NULL, 1166, LOCATE_parser___ReduceAction8___action};
3790 val_t variable[13];
3791 struct WBT_ **closurevariable = NULL;
3792 trace.prev = tracehead; tracehead = &trace;
3793 trace.file = LOCATE_parser;
3794 /* Register variable[0]: Local variable */
3795 variable[0] = self;
3796 /* Register variable[1]: Local variable */
3797 variable[1] = param0;
3798 /* Register variable[2]: Method return value and escape marker */
3799 /* Register variable[3]: Local variable */
3800 variable[3] = NIT_NULL /*null*/;
3801 /* Register variable[4]: Local variable */
3802 /* Register variable[5]: Result */
3803 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3804 variable[4] = variable[5];
3805 /* Register variable[5]: Local variable */
3806 /* Register variable[6]: Result */
3807 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3808 variable[5] = variable[6];
3809 /* Register variable[6]: Local variable */
3810 /* Register variable[7]: Result */
3811 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3812 variable[6] = variable[7];
3813 /* Register variable[7]: Local variable */
3814 /* Register variable[8]: Result */
3815 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3816 variable[7] = variable[8];
3817 /* Register variable[8]: Local variable */
3818 /* Register variable[9]: Result */
3819 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3820 variable[8] = variable[9];
3821 /* Register variable[9]: Local variable */
3822 variable[9] = variable[5] /*nodearraylist1*/;
3823 /* Register variable[10]: Result */
3824 variable[10] = TAG_Bool(( variable[9] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3825 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction8___action, LOCATE_parser, 1175); nit_exit(1);}
3826 /* Register variable[10]: Result */
3827 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::==*/)))))));
3828 if (UNTAG_Bool(variable[10])) { /*if*/
3829 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[9] /*ppropdefnode5*/) /*AbstractArray::add*/;
3830 }
3831 /* Register variable[10]: Local variable */
3832 /* Register variable[11]: Result */
3833 variable[11] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[8] /*listnode6*/) /*new ATopClassdef*/;
3834 variable[10] = variable[11];
3835 /* Register variable[11]: Result */
3836 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::==*/)))))));
3837 if (UNTAG_Bool(variable[11])) { /*if*/
3838 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode7*/)( variable[7] /*listnode7*/, variable[10] /*pclassdefnode4*/) /*AbstractArray::add*/;
3839 }
3840 /* Register variable[11]: Local variable */
3841 /* Register variable[12]: Result */
3842 variable[12] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode7*/) /*new AModule*/;
3843 variable[11] = variable[12];
3844 variable[3] = variable[11] /*pmodulenode1*/ /*node_list=*/;
3845 /* Register variable[12]: Result */
3846 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3847 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
3848 return_label48: while(false);
3849 tracehead = trace.prev;
3850 return;
3851 }
3852 void parser___ReduceAction8___init(val_t self, int* init_table) {
3853 struct trace_t trace = {NULL, NULL, 1193, LOCATE_parser___ReduceAction8___init};
3854 val_t variable[2];
3855 struct WBT_ **closurevariable = NULL;
3856 trace.prev = tracehead; tracehead = &trace;
3857 trace.file = LOCATE_parser;
3858 /* Register variable[0]: Local variable */
3859 variable[0] = self;
3860 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction8].i]) return;
3861 /* Register variable[1]: Method return value and escape marker */
3862 return_label49: while(false);
3863 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction8].i] = 1;
3864 tracehead = trace.prev;
3865 return;
3866 }
3867 void parser___ReduceAction9___action(val_t self, val_t param0) {
3868 struct trace_t trace = {NULL, NULL, 1197, LOCATE_parser___ReduceAction9___action};
3869 val_t variable[15];
3870 struct WBT_ **closurevariable = NULL;
3871 trace.prev = tracehead; tracehead = &trace;
3872 trace.file = LOCATE_parser;
3873 /* Register variable[0]: Local variable */
3874 variable[0] = self;
3875 /* Register variable[1]: Local variable */
3876 variable[1] = param0;
3877 /* Register variable[2]: Method return value and escape marker */
3878 /* Register variable[3]: Local variable */
3879 variable[3] = NIT_NULL /*null*/;
3880 /* Register variable[4]: Local variable */
3881 /* Register variable[5]: Result */
3882 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3883 variable[4] = variable[5];
3884 /* Register variable[5]: Local variable */
3885 /* Register variable[6]: Result */
3886 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3887 variable[5] = variable[6];
3888 /* Register variable[6]: Local variable */
3889 /* Register variable[7]: Result */
3890 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3891 variable[6] = variable[7];
3892 /* Register variable[7]: Local variable */
3893 /* Register variable[8]: Result */
3894 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3895 variable[7] = variable[8];
3896 /* Register variable[8]: Local variable */
3897 /* Register variable[9]: Result */
3898 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3899 variable[8] = variable[9];
3900 /* Register variable[9]: Local variable */
3901 /* Register variable[10]: Result */
3902 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3903 variable[9] = variable[10];
3904 /* Register variable[10]: Local variable */
3905 variable[10] = variable[6] /*nodearraylist1*/;
3906 /* Register variable[11]: Result */
3907 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
3908 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1207); nit_exit(1);}
3909 /* Register variable[11]: Local variable */
3910 variable[11] = variable[4] /*nodearraylist3*/;
3911 /* Register variable[12]: Result */
3912 variable[12] = TAG_Bool(( variable[11] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
3913 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction9___action, LOCATE_parser, 1209); nit_exit(1);}
3914 /* Register variable[12]: Result */
3915 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::==*/)))))));
3916 if (UNTAG_Bool(variable[12])) { /*if*/
3917 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
3918 }
3919 /* Register variable[12]: Result */
3920 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::==*/)))))));
3921 if (UNTAG_Bool(variable[12])) { /*if*/
3922 /* Register variable[12]: Result */
3923 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode7*/)( variable[9] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
3924 if (UNTAG_Bool(variable[12])) { /*if*/
3925 variable[9] = variable[11] /*listnode6*/ /*listnode7=*/;
3926 } else { /*if*/
3927 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[11] /*listnode6*/) /*IndexedCollection::append*/;
3928 }
3929 }
3930 /* Register variable[12]: Local variable */
3931 /* Register variable[13]: Result */
3932 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode7*/) /*new ATopClassdef*/;
3933 variable[12] = variable[13];
3934 /* Register variable[13]: Result */
3935 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::==*/)))))));
3936 if (UNTAG_Bool(variable[13])) { /*if*/
3937 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
3938 }
3939 /* Register variable[13]: Local variable */
3940 /* Register variable[14]: Result */
3941 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/) /*new AModule*/;
3942 variable[13] = variable[14];
3943 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
3944 /* Register variable[14]: Result */
3945 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
3946 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
3947 return_label50: while(false);
3948 tracehead = trace.prev;
3949 return;
3950 }
3951 void parser___ReduceAction9___init(val_t self, int* init_table) {
3952 struct trace_t trace = {NULL, NULL, 1234, LOCATE_parser___ReduceAction9___init};
3953 val_t variable[2];
3954 struct WBT_ **closurevariable = NULL;
3955 trace.prev = tracehead; tracehead = &trace;
3956 trace.file = LOCATE_parser;
3957 /* Register variable[0]: Local variable */
3958 variable[0] = self;
3959 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction9].i]) return;
3960 /* Register variable[1]: Method return value and escape marker */
3961 return_label51: while(false);
3962 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction9].i] = 1;
3963 tracehead = trace.prev;
3964 return;
3965 }
3966 void parser___ReduceAction10___action(val_t self, val_t param0) {
3967 struct trace_t trace = {NULL, NULL, 1238, LOCATE_parser___ReduceAction10___action};
3968 val_t variable[15];
3969 struct WBT_ **closurevariable = NULL;
3970 trace.prev = tracehead; tracehead = &trace;
3971 trace.file = LOCATE_parser;
3972 /* Register variable[0]: Local variable */
3973 variable[0] = self;
3974 /* Register variable[1]: Local variable */
3975 variable[1] = param0;
3976 /* Register variable[2]: Method return value and escape marker */
3977 /* Register variable[3]: Local variable */
3978 variable[3] = NIT_NULL /*null*/;
3979 /* Register variable[4]: Local variable */
3980 /* Register variable[5]: Result */
3981 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3982 variable[4] = variable[5];
3983 /* Register variable[5]: Local variable */
3984 /* Register variable[6]: Result */
3985 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3986 variable[5] = variable[6];
3987 /* Register variable[6]: Local variable */
3988 /* Register variable[7]: Result */
3989 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
3990 variable[6] = variable[7];
3991 /* Register variable[7]: Local variable */
3992 /* Register variable[8]: Result */
3993 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3994 variable[7] = variable[8];
3995 /* Register variable[8]: Local variable */
3996 /* Register variable[9]: Result */
3997 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
3998 variable[8] = variable[9];
3999 /* Register variable[9]: Local variable */
4000 variable[9] = variable[6] /*nodearraylist1*/;
4001 /* Register variable[10]: Result */
4002 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4003 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1247); nit_exit(1);}
4004 /* Register variable[10]: Local variable */
4005 /* Register variable[11]: Result */
4006 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4007 variable[10] = variable[11];
4008 /* Register variable[11]: Local variable */
4009 variable[11] = variable[5] /*nodearraylist2*/;
4010 /* Register variable[12]: Result */
4011 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4012 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction10___action, LOCATE_parser, 1250); nit_exit(1);}
4013 /* Register variable[12]: Result */
4014 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::==*/)))))));
4015 if (UNTAG_Bool(variable[12])) { /*if*/
4016 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode6*/)( variable[10] /*listnode6*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
4017 }
4018 /* Register variable[12]: Local variable */
4019 /* Register variable[13]: Result */
4020 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode6*/) /*new ATopClassdef*/;
4021 variable[12] = variable[13];
4022 /* Register variable[13]: Result */
4023 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::==*/)))))));
4024 if (UNTAG_Bool(variable[13])) { /*if*/
4025 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*pclassdefnode4*/) /*AbstractArray::add*/;
4026 }
4027 /* Register variable[13]: Local variable */
4028 /* Register variable[14]: Result */
4029 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode7*/) /*new AModule*/;
4030 variable[13] = variable[14];
4031 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
4032 /* Register variable[14]: Result */
4033 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4034 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
4035 return_label52: while(false);
4036 tracehead = trace.prev;
4037 return;
4038 }
4039 void parser___ReduceAction10___init(val_t self, int* init_table) {
4040 struct trace_t trace = {NULL, NULL, 1268, LOCATE_parser___ReduceAction10___init};
4041 val_t variable[2];
4042 struct WBT_ **closurevariable = NULL;
4043 trace.prev = tracehead; tracehead = &trace;
4044 trace.file = LOCATE_parser;
4045 /* Register variable[0]: Local variable */
4046 variable[0] = self;
4047 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction10].i]) return;
4048 /* Register variable[1]: Method return value and escape marker */
4049 return_label53: while(false);
4050 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction10].i] = 1;
4051 tracehead = trace.prev;
4052 return;
4053 }
4054 void parser___ReduceAction11___action(val_t self, val_t param0) {
4055 struct trace_t trace = {NULL, NULL, 1272, LOCATE_parser___ReduceAction11___action};
4056 val_t variable[17];
4057 struct WBT_ **closurevariable = NULL;
4058 trace.prev = tracehead; tracehead = &trace;
4059 trace.file = LOCATE_parser;
4060 /* Register variable[0]: Local variable */
4061 variable[0] = self;
4062 /* Register variable[1]: Local variable */
4063 variable[1] = param0;
4064 /* Register variable[2]: Method return value and escape marker */
4065 /* Register variable[3]: Local variable */
4066 variable[3] = NIT_NULL /*null*/;
4067 /* Register variable[4]: Local variable */
4068 /* Register variable[5]: Result */
4069 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4070 variable[4] = variable[5];
4071 /* Register variable[5]: Local variable */
4072 /* Register variable[6]: Result */
4073 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4074 variable[5] = variable[6];
4075 /* Register variable[6]: Local variable */
4076 /* Register variable[7]: Result */
4077 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4078 variable[6] = variable[7];
4079 /* Register variable[7]: Local variable */
4080 /* Register variable[8]: Result */
4081 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4082 variable[7] = variable[8];
4083 /* Register variable[8]: Local variable */
4084 /* Register variable[9]: Result */
4085 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4086 variable[8] = variable[9];
4087 /* Register variable[9]: Local variable */
4088 /* Register variable[10]: Result */
4089 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4090 variable[9] = variable[10];
4091 /* Register variable[10]: Local variable */
4092 variable[10] = variable[7] /*nodearraylist1*/;
4093 /* Register variable[11]: Result */
4094 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4095 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1282); nit_exit(1);}
4096 /* Register variable[11]: Local variable */
4097 /* Register variable[12]: Result */
4098 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4099 variable[11] = variable[12];
4100 /* Register variable[12]: Local variable */
4101 variable[12] = variable[6] /*nodearraylist2*/;
4102 /* Register variable[13]: Result */
4103 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4104 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1285); nit_exit(1);}
4105 /* Register variable[13]: Local variable */
4106 variable[13] = variable[4] /*nodearraylist4*/;
4107 /* Register variable[14]: Result */
4108 variable[14] = TAG_Bool(( variable[13] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4109 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction11___action, LOCATE_parser, 1287); nit_exit(1);}
4110 /* Register variable[14]: Result */
4111 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::==*/)))))));
4112 if (UNTAG_Bool(variable[14])) { /*if*/
4113 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
4114 }
4115 /* Register variable[14]: Result */
4116 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::==*/)))))));
4117 if (UNTAG_Bool(variable[14])) { /*if*/
4118 /* Register variable[14]: Result */
4119 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
4120 if (UNTAG_Bool(variable[14])) { /*if*/
4121 variable[11] = variable[13] /*listnode6*/ /*listnode7=*/;
4122 } else { /*if*/
4123 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[13] /*listnode6*/) /*IndexedCollection::append*/;
4124 }
4125 }
4126 /* Register variable[14]: Local variable */
4127 /* Register variable[15]: Result */
4128 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/) /*new ATopClassdef*/;
4129 variable[14] = variable[15];
4130 /* Register variable[15]: Result */
4131 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::==*/)))))));
4132 if (UNTAG_Bool(variable[15])) { /*if*/
4133 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode4*/) /*AbstractArray::add*/;
4134 }
4135 /* Register variable[15]: Local variable */
4136 /* Register variable[16]: Result */
4137 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/) /*new AModule*/;
4138 variable[15] = variable[16];
4139 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4140 /* Register variable[16]: Result */
4141 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4142 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4143 return_label54: while(false);
4144 tracehead = trace.prev;
4145 return;
4146 }
4147 void parser___ReduceAction11___init(val_t self, int* init_table) {
4148 struct trace_t trace = {NULL, NULL, 1312, LOCATE_parser___ReduceAction11___init};
4149 val_t variable[2];
4150 struct WBT_ **closurevariable = NULL;
4151 trace.prev = tracehead; tracehead = &trace;
4152 trace.file = LOCATE_parser;
4153 /* Register variable[0]: Local variable */
4154 variable[0] = self;
4155 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction11].i]) return;
4156 /* Register variable[1]: Method return value and escape marker */
4157 return_label55: while(false);
4158 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction11].i] = 1;
4159 tracehead = trace.prev;
4160 return;
4161 }
4162 void parser___ReduceAction12___action(val_t self, val_t param0) {
4163 struct trace_t trace = {NULL, NULL, 1316, LOCATE_parser___ReduceAction12___action};
4164 val_t variable[15];
4165 struct WBT_ **closurevariable = NULL;
4166 trace.prev = tracehead; tracehead = &trace;
4167 trace.file = LOCATE_parser;
4168 /* Register variable[0]: Local variable */
4169 variable[0] = self;
4170 /* Register variable[1]: Local variable */
4171 variable[1] = param0;
4172 /* Register variable[2]: Method return value and escape marker */
4173 /* Register variable[3]: Local variable */
4174 variable[3] = NIT_NULL /*null*/;
4175 /* Register variable[4]: Local variable */
4176 /* Register variable[5]: Result */
4177 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4178 variable[4] = variable[5];
4179 /* Register variable[5]: Local variable */
4180 /* Register variable[6]: Result */
4181 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4182 variable[5] = variable[6];
4183 /* Register variable[6]: Local variable */
4184 /* Register variable[7]: Result */
4185 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4186 variable[6] = variable[7];
4187 /* Register variable[7]: Local variable */
4188 /* Register variable[8]: Result */
4189 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4190 variable[7] = variable[8];
4191 /* Register variable[8]: Local variable */
4192 /* Register variable[9]: Result */
4193 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4194 variable[8] = variable[9];
4195 /* Register variable[9]: Local variable */
4196 variable[9] = variable[6] /*nodearraylist1*/;
4197 /* Register variable[10]: Result */
4198 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4199 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1325); nit_exit(1);}
4200 /* Register variable[10]: Result */
4201 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::==*/)))))));
4202 if (UNTAG_Bool(variable[10])) { /*if*/
4203 /* Register variable[10]: Result */
4204 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
4205 if (UNTAG_Bool(variable[10])) { /*if*/
4206 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
4207 } else { /*if*/
4208 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
4209 }
4210 }
4211 /* Register variable[10]: Local variable */
4212 /* Register variable[11]: Result */
4213 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4214 variable[10] = variable[11];
4215 /* Register variable[11]: Local variable */
4216 variable[11] = variable[5] /*nodearraylist2*/;
4217 /* Register variable[12]: Result */
4218 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4219 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction12___action, LOCATE_parser, 1335); nit_exit(1);}
4220 /* Register variable[12]: Result */
4221 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::==*/)))))));
4222 if (UNTAG_Bool(variable[12])) { /*if*/
4223 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
4224 }
4225 /* Register variable[12]: Local variable */
4226 /* Register variable[13]: Result */
4227 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/) /*new ATopClassdef*/;
4228 variable[12] = variable[13];
4229 /* Register variable[13]: Result */
4230 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::==*/)))))));
4231 if (UNTAG_Bool(variable[13])) { /*if*/
4232 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
4233 }
4234 /* Register variable[13]: Local variable */
4235 /* Register variable[14]: Result */
4236 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode8*/) /*new AModule*/;
4237 variable[13] = variable[14];
4238 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
4239 /* Register variable[14]: Result */
4240 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4241 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
4242 return_label56: while(false);
4243 tracehead = trace.prev;
4244 return;
4245 }
4246 void parser___ReduceAction12___init(val_t self, int* init_table) {
4247 struct trace_t trace = {NULL, NULL, 1353, LOCATE_parser___ReduceAction12___init};
4248 val_t variable[2];
4249 struct WBT_ **closurevariable = NULL;
4250 trace.prev = tracehead; tracehead = &trace;
4251 trace.file = LOCATE_parser;
4252 /* Register variable[0]: Local variable */
4253 variable[0] = self;
4254 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction12].i]) return;
4255 /* Register variable[1]: Method return value and escape marker */
4256 return_label57: while(false);
4257 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction12].i] = 1;
4258 tracehead = trace.prev;
4259 return;
4260 }
4261 void parser___ReduceAction13___action(val_t self, val_t param0) {
4262 struct trace_t trace = {NULL, NULL, 1357, LOCATE_parser___ReduceAction13___action};
4263 val_t variable[17];
4264 struct WBT_ **closurevariable = NULL;
4265 trace.prev = tracehead; tracehead = &trace;
4266 trace.file = LOCATE_parser;
4267 /* Register variable[0]: Local variable */
4268 variable[0] = self;
4269 /* Register variable[1]: Local variable */
4270 variable[1] = param0;
4271 /* Register variable[2]: Method return value and escape marker */
4272 /* Register variable[3]: Local variable */
4273 variable[3] = NIT_NULL /*null*/;
4274 /* Register variable[4]: Local variable */
4275 /* Register variable[5]: Result */
4276 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4277 variable[4] = variable[5];
4278 /* Register variable[5]: Local variable */
4279 /* Register variable[6]: Result */
4280 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4281 variable[5] = variable[6];
4282 /* Register variable[6]: Local variable */
4283 /* Register variable[7]: Result */
4284 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4285 variable[6] = variable[7];
4286 /* Register variable[7]: Local variable */
4287 /* Register variable[8]: Result */
4288 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4289 variable[7] = variable[8];
4290 /* Register variable[8]: Local variable */
4291 /* Register variable[9]: Result */
4292 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4293 variable[8] = variable[9];
4294 /* Register variable[9]: Local variable */
4295 /* Register variable[10]: Result */
4296 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4297 variable[9] = variable[10];
4298 /* Register variable[10]: Local variable */
4299 variable[10] = variable[7] /*nodearraylist1*/;
4300 /* Register variable[11]: Result */
4301 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4302 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1367); nit_exit(1);}
4303 /* Register variable[11]: Result */
4304 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::==*/)))))));
4305 if (UNTAG_Bool(variable[11])) { /*if*/
4306 /* Register variable[11]: Result */
4307 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
4308 if (UNTAG_Bool(variable[11])) { /*if*/
4309 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
4310 } else { /*if*/
4311 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
4312 }
4313 }
4314 /* Register variable[11]: Local variable */
4315 /* Register variable[12]: Result */
4316 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4317 variable[11] = variable[12];
4318 /* Register variable[12]: Local variable */
4319 variable[12] = variable[6] /*nodearraylist2*/;
4320 /* Register variable[13]: Result */
4321 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4322 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1377); nit_exit(1);}
4323 /* Register variable[13]: Local variable */
4324 variable[13] = variable[4] /*nodearraylist4*/;
4325 /* Register variable[14]: Result */
4326 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4327 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction13___action, LOCATE_parser, 1379); nit_exit(1);}
4328 /* Register variable[14]: Result */
4329 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::==*/)))))));
4330 if (UNTAG_Bool(variable[14])) { /*if*/
4331 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
4332 }
4333 /* Register variable[14]: Result */
4334 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::==*/)))))));
4335 if (UNTAG_Bool(variable[14])) { /*if*/
4336 /* Register variable[14]: Result */
4337 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode8*/)( variable[11] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
4338 if (UNTAG_Bool(variable[14])) { /*if*/
4339 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
4340 } else { /*if*/
4341 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
4342 }
4343 }
4344 /* Register variable[14]: Local variable */
4345 /* Register variable[15]: Result */
4346 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/) /*new ATopClassdef*/;
4347 variable[14] = variable[15];
4348 /* Register variable[15]: Result */
4349 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::==*/)))))));
4350 if (UNTAG_Bool(variable[15])) { /*if*/
4351 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
4352 }
4353 /* Register variable[15]: Local variable */
4354 /* Register variable[16]: Result */
4355 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/) /*new AModule*/;
4356 variable[15] = variable[16];
4357 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4358 /* Register variable[16]: Result */
4359 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4360 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4361 return_label58: while(false);
4362 tracehead = trace.prev;
4363 return;
4364 }
4365 void parser___ReduceAction13___init(val_t self, int* init_table) {
4366 struct trace_t trace = {NULL, NULL, 1404, LOCATE_parser___ReduceAction13___init};
4367 val_t variable[2];
4368 struct WBT_ **closurevariable = NULL;
4369 trace.prev = tracehead; tracehead = &trace;
4370 trace.file = LOCATE_parser;
4371 /* Register variable[0]: Local variable */
4372 variable[0] = self;
4373 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction13].i]) return;
4374 /* Register variable[1]: Method return value and escape marker */
4375 return_label59: while(false);
4376 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction13].i] = 1;
4377 tracehead = trace.prev;
4378 return;
4379 }
4380 void parser___ReduceAction14___action(val_t self, val_t param0) {
4381 struct trace_t trace = {NULL, NULL, 1408, LOCATE_parser___ReduceAction14___action};
4382 val_t variable[17];
4383 struct WBT_ **closurevariable = NULL;
4384 trace.prev = tracehead; tracehead = &trace;
4385 trace.file = LOCATE_parser;
4386 /* Register variable[0]: Local variable */
4387 variable[0] = self;
4388 /* Register variable[1]: Local variable */
4389 variable[1] = param0;
4390 /* Register variable[2]: Method return value and escape marker */
4391 /* Register variable[3]: Local variable */
4392 variable[3] = NIT_NULL /*null*/;
4393 /* Register variable[4]: Local variable */
4394 /* Register variable[5]: Result */
4395 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4396 variable[4] = variable[5];
4397 /* Register variable[5]: Local variable */
4398 /* Register variable[6]: Result */
4399 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4400 variable[5] = variable[6];
4401 /* Register variable[6]: Local variable */
4402 /* Register variable[7]: Result */
4403 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4404 variable[6] = variable[7];
4405 /* Register variable[7]: Local variable */
4406 /* Register variable[8]: Result */
4407 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4408 variable[7] = variable[8];
4409 /* Register variable[8]: Local variable */
4410 /* Register variable[9]: Result */
4411 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4412 variable[8] = variable[9];
4413 /* Register variable[9]: Local variable */
4414 /* Register variable[10]: Result */
4415 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4416 variable[9] = variable[10];
4417 /* Register variable[10]: Local variable */
4418 variable[10] = variable[7] /*nodearraylist1*/;
4419 /* Register variable[11]: Result */
4420 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4421 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1418); nit_exit(1);}
4422 /* Register variable[11]: Local variable */
4423 variable[11] = variable[6] /*nodearraylist2*/;
4424 /* Register variable[12]: Result */
4425 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4426 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1420); nit_exit(1);}
4427 /* Register variable[12]: Result */
4428 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::==*/)))))));
4429 if (UNTAG_Bool(variable[12])) { /*if*/
4430 /* Register variable[12]: Result */
4431 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
4432 if (UNTAG_Bool(variable[12])) { /*if*/
4433 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
4434 } else { /*if*/
4435 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
4436 }
4437 }
4438 /* Register variable[12]: Local variable */
4439 /* Register variable[13]: Result */
4440 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4441 variable[12] = variable[13];
4442 /* Register variable[13]: Local variable */
4443 variable[13] = variable[5] /*nodearraylist3*/;
4444 /* Register variable[14]: Result */
4445 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4446 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction14___action, LOCATE_parser, 1430); nit_exit(1);}
4447 /* Register variable[14]: Result */
4448 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::==*/)))))));
4449 if (UNTAG_Bool(variable[14])) { /*if*/
4450 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
4451 }
4452 /* Register variable[14]: Local variable */
4453 /* Register variable[15]: Result */
4454 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/) /*new ATopClassdef*/;
4455 variable[14] = variable[15];
4456 /* Register variable[15]: Result */
4457 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::==*/)))))));
4458 if (UNTAG_Bool(variable[15])) { /*if*/
4459 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
4460 }
4461 /* Register variable[15]: Local variable */
4462 /* Register variable[16]: Result */
4463 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode8*/) /*new AModule*/;
4464 variable[15] = variable[16];
4465 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4466 /* Register variable[16]: Result */
4467 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4468 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4469 return_label60: while(false);
4470 tracehead = trace.prev;
4471 return;
4472 }
4473 void parser___ReduceAction14___init(val_t self, int* init_table) {
4474 struct trace_t trace = {NULL, NULL, 1448, LOCATE_parser___ReduceAction14___init};
4475 val_t variable[2];
4476 struct WBT_ **closurevariable = NULL;
4477 trace.prev = tracehead; tracehead = &trace;
4478 trace.file = LOCATE_parser;
4479 /* Register variable[0]: Local variable */
4480 variable[0] = self;
4481 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction14].i]) return;
4482 /* Register variable[1]: Method return value and escape marker */
4483 return_label61: while(false);
4484 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction14].i] = 1;
4485 tracehead = trace.prev;
4486 return;
4487 }
4488 void parser___ReduceAction15___action(val_t self, val_t param0) {
4489 struct trace_t trace = {NULL, NULL, 1452, LOCATE_parser___ReduceAction15___action};
4490 val_t variable[19];
4491 struct WBT_ **closurevariable = NULL;
4492 trace.prev = tracehead; tracehead = &trace;
4493 trace.file = LOCATE_parser;
4494 /* Register variable[0]: Local variable */
4495 variable[0] = self;
4496 /* Register variable[1]: Local variable */
4497 variable[1] = param0;
4498 /* Register variable[2]: Method return value and escape marker */
4499 /* Register variable[3]: Local variable */
4500 variable[3] = NIT_NULL /*null*/;
4501 /* Register variable[4]: Local variable */
4502 /* Register variable[5]: Result */
4503 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4504 variable[4] = variable[5];
4505 /* Register variable[5]: Local variable */
4506 /* Register variable[6]: Result */
4507 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4508 variable[5] = variable[6];
4509 /* Register variable[6]: Local variable */
4510 /* Register variable[7]: Result */
4511 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4512 variable[6] = variable[7];
4513 /* Register variable[7]: Local variable */
4514 /* Register variable[8]: Result */
4515 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4516 variable[7] = variable[8];
4517 /* Register variable[8]: Local variable */
4518 /* Register variable[9]: Result */
4519 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4520 variable[8] = variable[9];
4521 /* Register variable[9]: Local variable */
4522 /* Register variable[10]: Result */
4523 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4524 variable[9] = variable[10];
4525 /* Register variable[10]: Local variable */
4526 /* Register variable[11]: Result */
4527 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4528 variable[10] = variable[11];
4529 /* Register variable[11]: Local variable */
4530 variable[11] = variable[8] /*nodearraylist1*/;
4531 /* Register variable[12]: Result */
4532 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4533 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1463); nit_exit(1);}
4534 /* Register variable[12]: Local variable */
4535 variable[12] = variable[7] /*nodearraylist2*/;
4536 /* Register variable[13]: Result */
4537 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4538 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1465); nit_exit(1);}
4539 /* Register variable[13]: Result */
4540 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::==*/)))))));
4541 if (UNTAG_Bool(variable[13])) { /*if*/
4542 /* Register variable[13]: Result */
4543 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
4544 if (UNTAG_Bool(variable[13])) { /*if*/
4545 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
4546 } else { /*if*/
4547 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
4548 }
4549 }
4550 /* Register variable[13]: Local variable */
4551 /* Register variable[14]: Result */
4552 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4553 variable[13] = variable[14];
4554 /* Register variable[14]: Local variable */
4555 variable[14] = variable[6] /*nodearraylist3*/;
4556 /* Register variable[15]: Result */
4557 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4558 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1475); nit_exit(1);}
4559 /* Register variable[15]: Local variable */
4560 variable[15] = variable[4] /*nodearraylist5*/;
4561 /* Register variable[16]: Result */
4562 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4563 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction15___action, LOCATE_parser, 1477); nit_exit(1);}
4564 /* Register variable[16]: Result */
4565 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::==*/)))))));
4566 if (UNTAG_Bool(variable[16])) { /*if*/
4567 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
4568 }
4569 /* Register variable[16]: Result */
4570 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::==*/)))))));
4571 if (UNTAG_Bool(variable[16])) { /*if*/
4572 /* Register variable[16]: Result */
4573 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
4574 if (UNTAG_Bool(variable[16])) { /*if*/
4575 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
4576 } else { /*if*/
4577 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
4578 }
4579 }
4580 /* Register variable[16]: Local variable */
4581 /* Register variable[17]: Result */
4582 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/) /*new ATopClassdef*/;
4583 variable[16] = variable[17];
4584 /* Register variable[17]: Result */
4585 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::==*/)))))));
4586 if (UNTAG_Bool(variable[17])) { /*if*/
4587 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
4588 }
4589 /* Register variable[17]: Local variable */
4590 /* Register variable[18]: Result */
4591 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/) /*new AModule*/;
4592 variable[17] = variable[18];
4593 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
4594 /* Register variable[18]: Result */
4595 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4596 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
4597 return_label62: while(false);
4598 tracehead = trace.prev;
4599 return;
4600 }
4601 void parser___ReduceAction15___init(val_t self, int* init_table) {
4602 struct trace_t trace = {NULL, NULL, 1502, LOCATE_parser___ReduceAction15___init};
4603 val_t variable[2];
4604 struct WBT_ **closurevariable = NULL;
4605 trace.prev = tracehead; tracehead = &trace;
4606 trace.file = LOCATE_parser;
4607 /* Register variable[0]: Local variable */
4608 variable[0] = self;
4609 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction15].i]) return;
4610 /* Register variable[1]: Method return value and escape marker */
4611 return_label63: while(false);
4612 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction15].i] = 1;
4613 tracehead = trace.prev;
4614 return;
4615 }
4616 void parser___ReduceAction16___action(val_t self, val_t param0) {
4617 struct trace_t trace = {NULL, NULL, 1506, LOCATE_parser___ReduceAction16___action};
4618 val_t variable[15];
4619 struct WBT_ **closurevariable = NULL;
4620 trace.prev = tracehead; tracehead = &trace;
4621 trace.file = LOCATE_parser;
4622 /* Register variable[0]: Local variable */
4623 variable[0] = self;
4624 /* Register variable[1]: Local variable */
4625 variable[1] = param0;
4626 /* Register variable[2]: Method return value and escape marker */
4627 /* Register variable[3]: Local variable */
4628 variable[3] = NIT_NULL /*null*/;
4629 /* Register variable[4]: Local variable */
4630 /* Register variable[5]: Result */
4631 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4632 variable[4] = variable[5];
4633 /* Register variable[5]: Local variable */
4634 /* Register variable[6]: Result */
4635 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4636 variable[5] = variable[6];
4637 /* Register variable[6]: Local variable */
4638 /* Register variable[7]: Result */
4639 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4640 variable[6] = variable[7];
4641 /* Register variable[7]: Local variable */
4642 /* Register variable[8]: Result */
4643 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4644 variable[7] = variable[8];
4645 /* Register variable[8]: Local variable */
4646 /* Register variable[9]: Result */
4647 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4648 variable[8] = variable[9];
4649 /* Register variable[9]: Local variable */
4650 variable[9] = variable[6] /*nodearraylist1*/;
4651 /* Register variable[10]: Result */
4652 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4653 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1515); nit_exit(1);}
4654 /* Register variable[10]: Local variable */
4655 /* Register variable[11]: Result */
4656 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4657 variable[10] = variable[11];
4658 /* Register variable[11]: Local variable */
4659 variable[11] = variable[5] /*nodearraylist2*/;
4660 /* Register variable[12]: Result */
4661 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4662 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction16___action, LOCATE_parser, 1518); nit_exit(1);}
4663 /* Register variable[12]: Result */
4664 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::==*/)))))));
4665 if (UNTAG_Bool(variable[12])) { /*if*/
4666 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode6*/) /*AbstractArray::add*/;
4667 }
4668 /* Register variable[12]: Local variable */
4669 /* Register variable[13]: Result */
4670 variable[13] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/) /*new ATopClassdef*/;
4671 variable[12] = variable[13];
4672 /* Register variable[13]: Result */
4673 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::==*/)))))));
4674 if (UNTAG_Bool(variable[13])) { /*if*/
4675 /* Register variable[13]: Result */
4676 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode8*/)( variable[8] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
4677 if (UNTAG_Bool(variable[13])) { /*if*/
4678 variable[8] = variable[9] /*listnode4*/ /*listnode8=*/;
4679 } else { /*if*/
4680 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
4681 }
4682 }
4683 /* Register variable[13]: Result */
4684 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::==*/)))))));
4685 if (UNTAG_Bool(variable[13])) { /*if*/
4686 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode5*/) /*AbstractArray::add*/;
4687 }
4688 /* Register variable[13]: Local variable */
4689 /* Register variable[14]: Result */
4690 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/) /*new AModule*/;
4691 variable[13] = variable[14];
4692 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
4693 /* Register variable[14]: Result */
4694 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4695 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
4696 return_label64: while(false);
4697 tracehead = trace.prev;
4698 return;
4699 }
4700 void parser___ReduceAction16___init(val_t self, int* init_table) {
4701 struct trace_t trace = {NULL, NULL, 1543, LOCATE_parser___ReduceAction16___init};
4702 val_t variable[2];
4703 struct WBT_ **closurevariable = NULL;
4704 trace.prev = tracehead; tracehead = &trace;
4705 trace.file = LOCATE_parser;
4706 /* Register variable[0]: Local variable */
4707 variable[0] = self;
4708 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction16].i]) return;
4709 /* Register variable[1]: Method return value and escape marker */
4710 return_label65: while(false);
4711 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction16].i] = 1;
4712 tracehead = trace.prev;
4713 return;
4714 }
4715 void parser___ReduceAction17___action(val_t self, val_t param0) {
4716 struct trace_t trace = {NULL, NULL, 1547, LOCATE_parser___ReduceAction17___action};
4717 val_t variable[17];
4718 struct WBT_ **closurevariable = NULL;
4719 trace.prev = tracehead; tracehead = &trace;
4720 trace.file = LOCATE_parser;
4721 /* Register variable[0]: Local variable */
4722 variable[0] = self;
4723 /* Register variable[1]: Local variable */
4724 variable[1] = param0;
4725 /* Register variable[2]: Method return value and escape marker */
4726 /* Register variable[3]: Local variable */
4727 variable[3] = NIT_NULL /*null*/;
4728 /* Register variable[4]: Local variable */
4729 /* Register variable[5]: Result */
4730 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4731 variable[4] = variable[5];
4732 /* Register variable[5]: Local variable */
4733 /* Register variable[6]: Result */
4734 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4735 variable[5] = variable[6];
4736 /* Register variable[6]: Local variable */
4737 /* Register variable[7]: Result */
4738 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4739 variable[6] = variable[7];
4740 /* Register variable[7]: Local variable */
4741 /* Register variable[8]: Result */
4742 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4743 variable[7] = variable[8];
4744 /* Register variable[8]: Local variable */
4745 /* Register variable[9]: Result */
4746 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4747 variable[8] = variable[9];
4748 /* Register variable[9]: Local variable */
4749 /* Register variable[10]: Result */
4750 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4751 variable[9] = variable[10];
4752 /* Register variable[10]: Local variable */
4753 variable[10] = variable[7] /*nodearraylist1*/;
4754 /* Register variable[11]: Result */
4755 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4756 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1557); nit_exit(1);}
4757 /* Register variable[11]: Local variable */
4758 /* Register variable[12]: Result */
4759 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4760 variable[11] = variable[12];
4761 /* Register variable[12]: Local variable */
4762 variable[12] = variable[6] /*nodearraylist2*/;
4763 /* Register variable[13]: Result */
4764 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4765 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1560); nit_exit(1);}
4766 /* Register variable[13]: Local variable */
4767 variable[13] = variable[4] /*nodearraylist4*/;
4768 /* Register variable[14]: Result */
4769 variable[14] = TAG_Bool(( variable[13] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4770 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction17___action, LOCATE_parser, 1562); nit_exit(1);}
4771 /* Register variable[14]: Result */
4772 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::==*/)))))));
4773 if (UNTAG_Bool(variable[14])) { /*if*/
4774 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
4775 }
4776 /* Register variable[14]: Result */
4777 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::==*/)))))));
4778 if (UNTAG_Bool(variable[14])) { /*if*/
4779 /* Register variable[14]: Result */
4780 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode8*/)( variable[11] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
4781 if (UNTAG_Bool(variable[14])) { /*if*/
4782 variable[11] = variable[13] /*listnode7*/ /*listnode8=*/;
4783 } else { /*if*/
4784 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode8*/)( variable[11] /*listnode8*/, variable[13] /*listnode7*/) /*IndexedCollection::append*/;
4785 }
4786 }
4787 /* Register variable[14]: Local variable */
4788 /* Register variable[15]: Result */
4789 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode8*/) /*new ATopClassdef*/;
4790 variable[14] = variable[15];
4791 /* Register variable[15]: Result */
4792 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::==*/)))))));
4793 if (UNTAG_Bool(variable[15])) { /*if*/
4794 /* Register variable[15]: Result */
4795 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
4796 if (UNTAG_Bool(variable[15])) { /*if*/
4797 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
4798 } else { /*if*/
4799 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
4800 }
4801 }
4802 /* Register variable[15]: Result */
4803 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::==*/)))))));
4804 if (UNTAG_Bool(variable[15])) { /*if*/
4805 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
4806 }
4807 /* Register variable[15]: Local variable */
4808 /* Register variable[16]: Result */
4809 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/) /*new AModule*/;
4810 variable[15] = variable[16];
4811 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4812 /* Register variable[16]: Result */
4813 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4814 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4815 return_label66: while(false);
4816 tracehead = trace.prev;
4817 return;
4818 }
4819 void parser___ReduceAction17___init(val_t self, int* init_table) {
4820 struct trace_t trace = {NULL, NULL, 1594, LOCATE_parser___ReduceAction17___init};
4821 val_t variable[2];
4822 struct WBT_ **closurevariable = NULL;
4823 trace.prev = tracehead; tracehead = &trace;
4824 trace.file = LOCATE_parser;
4825 /* Register variable[0]: Local variable */
4826 variable[0] = self;
4827 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction17].i]) return;
4828 /* Register variable[1]: Method return value and escape marker */
4829 return_label67: while(false);
4830 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction17].i] = 1;
4831 tracehead = trace.prev;
4832 return;
4833 }
4834 void parser___ReduceAction18___action(val_t self, val_t param0) {
4835 struct trace_t trace = {NULL, NULL, 1598, LOCATE_parser___ReduceAction18___action};
4836 val_t variable[17];
4837 struct WBT_ **closurevariable = NULL;
4838 trace.prev = tracehead; tracehead = &trace;
4839 trace.file = LOCATE_parser;
4840 /* Register variable[0]: Local variable */
4841 variable[0] = self;
4842 /* Register variable[1]: Local variable */
4843 variable[1] = param0;
4844 /* Register variable[2]: Method return value and escape marker */
4845 /* Register variable[3]: Local variable */
4846 variable[3] = NIT_NULL /*null*/;
4847 /* Register variable[4]: Local variable */
4848 /* Register variable[5]: Result */
4849 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4850 variable[4] = variable[5];
4851 /* Register variable[5]: Local variable */
4852 /* Register variable[6]: Result */
4853 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4854 variable[5] = variable[6];
4855 /* Register variable[6]: Local variable */
4856 /* Register variable[7]: Result */
4857 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4858 variable[6] = variable[7];
4859 /* Register variable[7]: Local variable */
4860 /* Register variable[8]: Result */
4861 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4862 variable[7] = variable[8];
4863 /* Register variable[8]: Local variable */
4864 /* Register variable[9]: Result */
4865 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4866 variable[8] = variable[9];
4867 /* Register variable[9]: Local variable */
4868 /* Register variable[10]: Result */
4869 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4870 variable[9] = variable[10];
4871 /* Register variable[10]: Local variable */
4872 variable[10] = variable[7] /*nodearraylist1*/;
4873 /* Register variable[11]: Result */
4874 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4875 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1608); nit_exit(1);}
4876 /* Register variable[11]: Local variable */
4877 variable[11] = variable[6] /*nodearraylist2*/;
4878 /* Register variable[12]: Result */
4879 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4880 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1610); nit_exit(1);}
4881 /* Register variable[12]: Local variable */
4882 /* Register variable[13]: Result */
4883 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4884 variable[12] = variable[13];
4885 /* Register variable[13]: Local variable */
4886 variable[13] = variable[5] /*nodearraylist3*/;
4887 /* Register variable[14]: Result */
4888 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
4889 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction18___action, LOCATE_parser, 1613); nit_exit(1);}
4890 /* Register variable[14]: Result */
4891 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::==*/)))))));
4892 if (UNTAG_Bool(variable[14])) { /*if*/
4893 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
4894 }
4895 /* Register variable[14]: Local variable */
4896 /* Register variable[15]: Result */
4897 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/) /*new ATopClassdef*/;
4898 variable[14] = variable[15];
4899 /* Register variable[15]: Result */
4900 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::==*/)))))));
4901 if (UNTAG_Bool(variable[15])) { /*if*/
4902 /* Register variable[15]: Result */
4903 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode8*/)( variable[9] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
4904 if (UNTAG_Bool(variable[15])) { /*if*/
4905 variable[9] = variable[11] /*listnode4*/ /*listnode8=*/;
4906 } else { /*if*/
4907 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
4908 }
4909 }
4910 /* Register variable[15]: Result */
4911 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::==*/)))))));
4912 if (UNTAG_Bool(variable[15])) { /*if*/
4913 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode5*/) /*AbstractArray::add*/;
4914 }
4915 /* Register variable[15]: Local variable */
4916 /* Register variable[16]: Result */
4917 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/) /*new AModule*/;
4918 variable[15] = variable[16];
4919 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
4920 /* Register variable[16]: Result */
4921 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
4922 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
4923 return_label68: while(false);
4924 tracehead = trace.prev;
4925 return;
4926 }
4927 void parser___ReduceAction18___init(val_t self, int* init_table) {
4928 struct trace_t trace = {NULL, NULL, 1638, LOCATE_parser___ReduceAction18___init};
4929 val_t variable[2];
4930 struct WBT_ **closurevariable = NULL;
4931 trace.prev = tracehead; tracehead = &trace;
4932 trace.file = LOCATE_parser;
4933 /* Register variable[0]: Local variable */
4934 variable[0] = self;
4935 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction18].i]) return;
4936 /* Register variable[1]: Method return value and escape marker */
4937 return_label69: while(false);
4938 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction18].i] = 1;
4939 tracehead = trace.prev;
4940 return;
4941 }
4942 void parser___ReduceAction19___action(val_t self, val_t param0) {
4943 struct trace_t trace = {NULL, NULL, 1642, LOCATE_parser___ReduceAction19___action};
4944 val_t variable[19];
4945 struct WBT_ **closurevariable = NULL;
4946 trace.prev = tracehead; tracehead = &trace;
4947 trace.file = LOCATE_parser;
4948 /* Register variable[0]: Local variable */
4949 variable[0] = self;
4950 /* Register variable[1]: Local variable */
4951 variable[1] = param0;
4952 /* Register variable[2]: Method return value and escape marker */
4953 /* Register variable[3]: Local variable */
4954 variable[3] = NIT_NULL /*null*/;
4955 /* Register variable[4]: Local variable */
4956 /* Register variable[5]: Result */
4957 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4958 variable[4] = variable[5];
4959 /* Register variable[5]: Local variable */
4960 /* Register variable[6]: Result */
4961 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4962 variable[5] = variable[6];
4963 /* Register variable[6]: Local variable */
4964 /* Register variable[7]: Result */
4965 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4966 variable[6] = variable[7];
4967 /* Register variable[7]: Local variable */
4968 /* Register variable[8]: Result */
4969 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4970 variable[7] = variable[8];
4971 /* Register variable[8]: Local variable */
4972 /* Register variable[9]: Result */
4973 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
4974 variable[8] = variable[9];
4975 /* Register variable[9]: Local variable */
4976 /* Register variable[10]: Result */
4977 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4978 variable[9] = variable[10];
4979 /* Register variable[10]: Local variable */
4980 /* Register variable[11]: Result */
4981 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4982 variable[10] = variable[11];
4983 /* Register variable[11]: Local variable */
4984 variable[11] = variable[8] /*nodearraylist1*/;
4985 /* Register variable[12]: Result */
4986 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
4987 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1653); nit_exit(1);}
4988 /* Register variable[12]: Local variable */
4989 variable[12] = variable[7] /*nodearraylist2*/;
4990 /* Register variable[13]: Result */
4991 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
4992 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1655); nit_exit(1);}
4993 /* Register variable[13]: Local variable */
4994 /* Register variable[14]: Result */
4995 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
4996 variable[13] = variable[14];
4997 /* Register variable[14]: Local variable */
4998 variable[14] = variable[6] /*nodearraylist3*/;
4999 /* Register variable[15]: Result */
5000 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5001 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1658); nit_exit(1);}
5002 /* Register variable[15]: Local variable */
5003 variable[15] = variable[4] /*nodearraylist5*/;
5004 /* Register variable[16]: Result */
5005 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5006 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction19___action, LOCATE_parser, 1660); nit_exit(1);}
5007 /* Register variable[16]: Result */
5008 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::==*/)))))));
5009 if (UNTAG_Bool(variable[16])) { /*if*/
5010 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
5011 }
5012 /* Register variable[16]: Result */
5013 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::==*/)))))));
5014 if (UNTAG_Bool(variable[16])) { /*if*/
5015 /* Register variable[16]: Result */
5016 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
5017 if (UNTAG_Bool(variable[16])) { /*if*/
5018 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
5019 } else { /*if*/
5020 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
5021 }
5022 }
5023 /* Register variable[16]: Local variable */
5024 /* Register variable[17]: Result */
5025 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/) /*new ATopClassdef*/;
5026 variable[16] = variable[17];
5027 /* Register variable[17]: Result */
5028 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::==*/)))))));
5029 if (UNTAG_Bool(variable[17])) { /*if*/
5030 /* Register variable[17]: Result */
5031 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
5032 if (UNTAG_Bool(variable[17])) { /*if*/
5033 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
5034 } else { /*if*/
5035 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
5036 }
5037 }
5038 /* Register variable[17]: Result */
5039 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::==*/)))))));
5040 if (UNTAG_Bool(variable[17])) { /*if*/
5041 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode5*/) /*AbstractArray::add*/;
5042 }
5043 /* Register variable[17]: Local variable */
5044 /* Register variable[18]: Result */
5045 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/) /*new AModule*/;
5046 variable[17] = variable[18];
5047 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5048 /* Register variable[18]: Result */
5049 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5050 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5051 return_label70: while(false);
5052 tracehead = trace.prev;
5053 return;
5054 }
5055 void parser___ReduceAction19___init(val_t self, int* init_table) {
5056 struct trace_t trace = {NULL, NULL, 1692, LOCATE_parser___ReduceAction19___init};
5057 val_t variable[2];
5058 struct WBT_ **closurevariable = NULL;
5059 trace.prev = tracehead; tracehead = &trace;
5060 trace.file = LOCATE_parser;
5061 /* Register variable[0]: Local variable */
5062 variable[0] = self;
5063 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction19].i]) return;
5064 /* Register variable[1]: Method return value and escape marker */
5065 return_label71: while(false);
5066 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction19].i] = 1;
5067 tracehead = trace.prev;
5068 return;
5069 }
5070 void parser___ReduceAction20___action(val_t self, val_t param0) {
5071 struct trace_t trace = {NULL, NULL, 1696, LOCATE_parser___ReduceAction20___action};
5072 val_t variable[17];
5073 struct WBT_ **closurevariable = NULL;
5074 trace.prev = tracehead; tracehead = &trace;
5075 trace.file = LOCATE_parser;
5076 /* Register variable[0]: Local variable */
5077 variable[0] = self;
5078 /* Register variable[1]: Local variable */
5079 variable[1] = param0;
5080 /* Register variable[2]: Method return value and escape marker */
5081 /* Register variable[3]: Local variable */
5082 variable[3] = NIT_NULL /*null*/;
5083 /* Register variable[4]: Local variable */
5084 /* Register variable[5]: Result */
5085 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5086 variable[4] = variable[5];
5087 /* Register variable[5]: Local variable */
5088 /* Register variable[6]: Result */
5089 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5090 variable[5] = variable[6];
5091 /* Register variable[6]: Local variable */
5092 /* Register variable[7]: Result */
5093 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5094 variable[6] = variable[7];
5095 /* Register variable[7]: Local variable */
5096 /* Register variable[8]: Result */
5097 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5098 variable[7] = variable[8];
5099 /* Register variable[8]: Local variable */
5100 /* Register variable[9]: Result */
5101 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5102 variable[8] = variable[9];
5103 /* Register variable[9]: Local variable */
5104 /* Register variable[10]: Result */
5105 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5106 variable[9] = variable[10];
5107 /* Register variable[10]: Local variable */
5108 variable[10] = variable[7] /*nodearraylist1*/;
5109 /* Register variable[11]: Result */
5110 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5111 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1706); nit_exit(1);}
5112 /* Register variable[11]: Result */
5113 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::==*/)))))));
5114 if (UNTAG_Bool(variable[11])) { /*if*/
5115 /* Register variable[11]: Result */
5116 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5117 if (UNTAG_Bool(variable[11])) { /*if*/
5118 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
5119 } else { /*if*/
5120 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
5121 }
5122 }
5123 /* Register variable[11]: Local variable */
5124 variable[11] = variable[6] /*nodearraylist2*/;
5125 /* Register variable[12]: Result */
5126 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5127 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1715); nit_exit(1);}
5128 /* Register variable[12]: Local variable */
5129 /* Register variable[13]: Result */
5130 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5131 variable[12] = variable[13];
5132 /* Register variable[13]: Local variable */
5133 variable[13] = variable[5] /*nodearraylist3*/;
5134 /* Register variable[14]: Result */
5135 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5136 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction20___action, LOCATE_parser, 1718); nit_exit(1);}
5137 /* Register variable[14]: Result */
5138 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::==*/)))))));
5139 if (UNTAG_Bool(variable[14])) { /*if*/
5140 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode7*/) /*AbstractArray::add*/;
5141 }
5142 /* Register variable[14]: Local variable */
5143 /* Register variable[15]: Result */
5144 variable[15] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/) /*new ATopClassdef*/;
5145 variable[14] = variable[15];
5146 /* Register variable[15]: Result */
5147 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::==*/)))))));
5148 if (UNTAG_Bool(variable[15])) { /*if*/
5149 /* Register variable[15]: Result */
5150 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
5151 if (UNTAG_Bool(variable[15])) { /*if*/
5152 variable[9] = variable[11] /*listnode5*/ /*listnode9=*/;
5153 } else { /*if*/
5154 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
5155 }
5156 }
5157 /* Register variable[15]: Result */
5158 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::==*/)))))));
5159 if (UNTAG_Bool(variable[15])) { /*if*/
5160 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode6*/) /*AbstractArray::add*/;
5161 }
5162 /* Register variable[15]: Local variable */
5163 /* Register variable[16]: Result */
5164 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/) /*new AModule*/;
5165 variable[15] = variable[16];
5166 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
5167 /* Register variable[16]: Result */
5168 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5169 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
5170 return_label72: while(false);
5171 tracehead = trace.prev;
5172 return;
5173 }
5174 void parser___ReduceAction20___init(val_t self, int* init_table) {
5175 struct trace_t trace = {NULL, NULL, 1743, LOCATE_parser___ReduceAction20___init};
5176 val_t variable[2];
5177 struct WBT_ **closurevariable = NULL;
5178 trace.prev = tracehead; tracehead = &trace;
5179 trace.file = LOCATE_parser;
5180 /* Register variable[0]: Local variable */
5181 variable[0] = self;
5182 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction20].i]) return;
5183 /* Register variable[1]: Method return value and escape marker */
5184 return_label73: while(false);
5185 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction20].i] = 1;
5186 tracehead = trace.prev;
5187 return;
5188 }
5189 void parser___ReduceAction21___action(val_t self, val_t param0) {
5190 struct trace_t trace = {NULL, NULL, 1747, LOCATE_parser___ReduceAction21___action};
5191 val_t variable[19];
5192 struct WBT_ **closurevariable = NULL;
5193 trace.prev = tracehead; tracehead = &trace;
5194 trace.file = LOCATE_parser;
5195 /* Register variable[0]: Local variable */
5196 variable[0] = self;
5197 /* Register variable[1]: Local variable */
5198 variable[1] = param0;
5199 /* Register variable[2]: Method return value and escape marker */
5200 /* Register variable[3]: Local variable */
5201 variable[3] = NIT_NULL /*null*/;
5202 /* Register variable[4]: Local variable */
5203 /* Register variable[5]: Result */
5204 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5205 variable[4] = variable[5];
5206 /* Register variable[5]: Local variable */
5207 /* Register variable[6]: Result */
5208 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5209 variable[5] = variable[6];
5210 /* Register variable[6]: Local variable */
5211 /* Register variable[7]: Result */
5212 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5213 variable[6] = variable[7];
5214 /* Register variable[7]: Local variable */
5215 /* Register variable[8]: Result */
5216 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5217 variable[7] = variable[8];
5218 /* Register variable[8]: Local variable */
5219 /* Register variable[9]: Result */
5220 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5221 variable[8] = variable[9];
5222 /* Register variable[9]: Local variable */
5223 /* Register variable[10]: Result */
5224 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5225 variable[9] = variable[10];
5226 /* Register variable[10]: Local variable */
5227 /* Register variable[11]: Result */
5228 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5229 variable[10] = variable[11];
5230 /* Register variable[11]: Local variable */
5231 variable[11] = variable[8] /*nodearraylist1*/;
5232 /* Register variable[12]: Result */
5233 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5234 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1758); nit_exit(1);}
5235 /* Register variable[12]: Result */
5236 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::==*/)))))));
5237 if (UNTAG_Bool(variable[12])) { /*if*/
5238 /* Register variable[12]: Result */
5239 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5240 if (UNTAG_Bool(variable[12])) { /*if*/
5241 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
5242 } else { /*if*/
5243 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
5244 }
5245 }
5246 /* Register variable[12]: Local variable */
5247 variable[12] = variable[7] /*nodearraylist2*/;
5248 /* Register variable[13]: Result */
5249 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5250 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1767); nit_exit(1);}
5251 /* Register variable[13]: Local variable */
5252 /* Register variable[14]: Result */
5253 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5254 variable[13] = variable[14];
5255 /* Register variable[14]: Local variable */
5256 variable[14] = variable[6] /*nodearraylist3*/;
5257 /* Register variable[15]: Result */
5258 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5259 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1770); nit_exit(1);}
5260 /* Register variable[15]: Local variable */
5261 variable[15] = variable[4] /*nodearraylist5*/;
5262 /* Register variable[16]: Result */
5263 variable[16] = TAG_Bool(( variable[15] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5264 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction21___action, LOCATE_parser, 1772); nit_exit(1);}
5265 /* Register variable[16]: Result */
5266 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::==*/)))))));
5267 if (UNTAG_Bool(variable[16])) { /*if*/
5268 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
5269 }
5270 /* Register variable[16]: Result */
5271 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::==*/)))))));
5272 if (UNTAG_Bool(variable[16])) { /*if*/
5273 /* Register variable[16]: Result */
5274 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode9*/)( variable[13] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
5275 if (UNTAG_Bool(variable[16])) { /*if*/
5276 variable[13] = variable[15] /*listnode8*/ /*listnode9=*/;
5277 } else { /*if*/
5278 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[15] /*listnode8*/) /*IndexedCollection::append*/;
5279 }
5280 }
5281 /* Register variable[16]: Local variable */
5282 /* Register variable[17]: Result */
5283 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode9*/) /*new ATopClassdef*/;
5284 variable[16] = variable[17];
5285 /* Register variable[17]: Result */
5286 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::==*/)))))));
5287 if (UNTAG_Bool(variable[17])) { /*if*/
5288 /* Register variable[17]: Result */
5289 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
5290 if (UNTAG_Bool(variable[17])) { /*if*/
5291 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
5292 } else { /*if*/
5293 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
5294 }
5295 }
5296 /* Register variable[17]: Result */
5297 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::==*/)))))));
5298 if (UNTAG_Bool(variable[17])) { /*if*/
5299 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
5300 }
5301 /* Register variable[17]: Local variable */
5302 /* Register variable[18]: Result */
5303 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/) /*new AModule*/;
5304 variable[17] = variable[18];
5305 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5306 /* Register variable[18]: Result */
5307 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5308 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5309 return_label74: while(false);
5310 tracehead = trace.prev;
5311 return;
5312 }
5313 void parser___ReduceAction21___init(val_t self, int* init_table) {
5314 struct trace_t trace = {NULL, NULL, 1804, LOCATE_parser___ReduceAction21___init};
5315 val_t variable[2];
5316 struct WBT_ **closurevariable = NULL;
5317 trace.prev = tracehead; tracehead = &trace;
5318 trace.file = LOCATE_parser;
5319 /* Register variable[0]: Local variable */
5320 variable[0] = self;
5321 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction21].i]) return;
5322 /* Register variable[1]: Method return value and escape marker */
5323 return_label75: while(false);
5324 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction21].i] = 1;
5325 tracehead = trace.prev;
5326 return;
5327 }
5328 void parser___ReduceAction22___action(val_t self, val_t param0) {
5329 struct trace_t trace = {NULL, NULL, 1808, LOCATE_parser___ReduceAction22___action};
5330 val_t variable[19];
5331 struct WBT_ **closurevariable = NULL;
5332 trace.prev = tracehead; tracehead = &trace;
5333 trace.file = LOCATE_parser;
5334 /* Register variable[0]: Local variable */
5335 variable[0] = self;
5336 /* Register variable[1]: Local variable */
5337 variable[1] = param0;
5338 /* Register variable[2]: Method return value and escape marker */
5339 /* Register variable[3]: Local variable */
5340 variable[3] = NIT_NULL /*null*/;
5341 /* Register variable[4]: Local variable */
5342 /* Register variable[5]: Result */
5343 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5344 variable[4] = variable[5];
5345 /* Register variable[5]: Local variable */
5346 /* Register variable[6]: Result */
5347 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5348 variable[5] = variable[6];
5349 /* Register variable[6]: Local variable */
5350 /* Register variable[7]: Result */
5351 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5352 variable[6] = variable[7];
5353 /* Register variable[7]: Local variable */
5354 /* Register variable[8]: Result */
5355 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5356 variable[7] = variable[8];
5357 /* Register variable[8]: Local variable */
5358 /* Register variable[9]: Result */
5359 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5360 variable[8] = variable[9];
5361 /* Register variable[9]: Local variable */
5362 /* Register variable[10]: Result */
5363 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5364 variable[9] = variable[10];
5365 /* Register variable[10]: Local variable */
5366 /* Register variable[11]: Result */
5367 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5368 variable[10] = variable[11];
5369 /* Register variable[11]: Local variable */
5370 variable[11] = variable[8] /*nodearraylist1*/;
5371 /* Register variable[12]: Result */
5372 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5373 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1819); nit_exit(1);}
5374 /* Register variable[12]: Local variable */
5375 variable[12] = variable[7] /*nodearraylist2*/;
5376 /* Register variable[13]: Result */
5377 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5378 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1821); nit_exit(1);}
5379 /* Register variable[13]: Result */
5380 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::==*/)))))));
5381 if (UNTAG_Bool(variable[13])) { /*if*/
5382 /* Register variable[13]: Result */
5383 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5384 if (UNTAG_Bool(variable[13])) { /*if*/
5385 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
5386 } else { /*if*/
5387 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
5388 }
5389 }
5390 /* Register variable[13]: Local variable */
5391 variable[13] = variable[6] /*nodearraylist3*/;
5392 /* Register variable[14]: Result */
5393 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5394 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1830); nit_exit(1);}
5395 /* Register variable[14]: Local variable */
5396 /* Register variable[15]: Result */
5397 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5398 variable[14] = variable[15];
5399 /* Register variable[15]: Local variable */
5400 variable[15] = variable[5] /*nodearraylist4*/;
5401 /* Register variable[16]: Result */
5402 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5403 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction22___action, LOCATE_parser, 1833); nit_exit(1);}
5404 /* Register variable[16]: Result */
5405 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::==*/)))))));
5406 if (UNTAG_Bool(variable[16])) { /*if*/
5407 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
5408 }
5409 /* Register variable[16]: Local variable */
5410 /* Register variable[17]: Result */
5411 variable[17] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/) /*new ATopClassdef*/;
5412 variable[16] = variable[17];
5413 /* Register variable[17]: Result */
5414 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::==*/)))))));
5415 if (UNTAG_Bool(variable[17])) { /*if*/
5416 /* Register variable[17]: Result */
5417 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
5418 if (UNTAG_Bool(variable[17])) { /*if*/
5419 variable[10] = variable[13] /*listnode5*/ /*listnode9=*/;
5420 } else { /*if*/
5421 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
5422 }
5423 }
5424 /* Register variable[17]: Result */
5425 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::==*/)))))));
5426 if (UNTAG_Bool(variable[17])) { /*if*/
5427 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode6*/) /*AbstractArray::add*/;
5428 }
5429 /* Register variable[17]: Local variable */
5430 /* Register variable[18]: Result */
5431 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/) /*new AModule*/;
5432 variable[17] = variable[18];
5433 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
5434 /* Register variable[18]: Result */
5435 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5436 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
5437 return_label76: while(false);
5438 tracehead = trace.prev;
5439 return;
5440 }
5441 void parser___ReduceAction22___init(val_t self, int* init_table) {
5442 struct trace_t trace = {NULL, NULL, 1858, LOCATE_parser___ReduceAction22___init};
5443 val_t variable[2];
5444 struct WBT_ **closurevariable = NULL;
5445 trace.prev = tracehead; tracehead = &trace;
5446 trace.file = LOCATE_parser;
5447 /* Register variable[0]: Local variable */
5448 variable[0] = self;
5449 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction22].i]) return;
5450 /* Register variable[1]: Method return value and escape marker */
5451 return_label77: while(false);
5452 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction22].i] = 1;
5453 tracehead = trace.prev;
5454 return;
5455 }
5456 void parser___ReduceAction23___action(val_t self, val_t param0) {
5457 struct trace_t trace = {NULL, NULL, 1862, LOCATE_parser___ReduceAction23___action};
5458 val_t variable[21];
5459 struct WBT_ **closurevariable = NULL;
5460 trace.prev = tracehead; tracehead = &trace;
5461 trace.file = LOCATE_parser;
5462 /* Register variable[0]: Local variable */
5463 variable[0] = self;
5464 /* Register variable[1]: Local variable */
5465 variable[1] = param0;
5466 /* Register variable[2]: Method return value and escape marker */
5467 /* Register variable[3]: Local variable */
5468 variable[3] = NIT_NULL /*null*/;
5469 /* Register variable[4]: Local variable */
5470 /* Register variable[5]: Result */
5471 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5472 variable[4] = variable[5];
5473 /* Register variable[5]: Local variable */
5474 /* Register variable[6]: Result */
5475 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5476 variable[5] = variable[6];
5477 /* Register variable[6]: Local variable */
5478 /* Register variable[7]: Result */
5479 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5480 variable[6] = variable[7];
5481 /* Register variable[7]: Local variable */
5482 /* Register variable[8]: Result */
5483 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5484 variable[7] = variable[8];
5485 /* Register variable[8]: Local variable */
5486 /* Register variable[9]: Result */
5487 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5488 variable[8] = variable[9];
5489 /* Register variable[9]: Local variable */
5490 /* Register variable[10]: Result */
5491 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5492 variable[9] = variable[10];
5493 /* Register variable[10]: Local variable */
5494 /* Register variable[11]: Result */
5495 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5496 variable[10] = variable[11];
5497 /* Register variable[11]: Local variable */
5498 /* Register variable[12]: Result */
5499 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5500 variable[11] = variable[12];
5501 /* Register variable[12]: Local variable */
5502 variable[12] = variable[9] /*nodearraylist1*/;
5503 /* Register variable[13]: Result */
5504 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5505 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1874); nit_exit(1);}
5506 /* Register variable[13]: Local variable */
5507 variable[13] = variable[8] /*nodearraylist2*/;
5508 /* Register variable[14]: Result */
5509 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5510 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1876); nit_exit(1);}
5511 /* Register variable[14]: Result */
5512 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::==*/)))))));
5513 if (UNTAG_Bool(variable[14])) { /*if*/
5514 /* Register variable[14]: Result */
5515 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5516 if (UNTAG_Bool(variable[14])) { /*if*/
5517 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
5518 } else { /*if*/
5519 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
5520 }
5521 }
5522 /* Register variable[14]: Local variable */
5523 variable[14] = variable[7] /*nodearraylist3*/;
5524 /* Register variable[15]: Result */
5525 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5526 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1885); nit_exit(1);}
5527 /* Register variable[15]: Local variable */
5528 /* Register variable[16]: Result */
5529 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5530 variable[15] = variable[16];
5531 /* Register variable[16]: Local variable */
5532 variable[16] = variable[6] /*nodearraylist4*/;
5533 /* Register variable[17]: Result */
5534 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
5535 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1888); nit_exit(1);}
5536 /* Register variable[17]: Local variable */
5537 variable[17] = variable[4] /*nodearraylist6*/;
5538 /* Register variable[18]: Result */
5539 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5540 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction23___action, LOCATE_parser, 1890); nit_exit(1);}
5541 /* Register variable[18]: Result */
5542 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::==*/)))))));
5543 if (UNTAG_Bool(variable[18])) { /*if*/
5544 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
5545 }
5546 /* Register variable[18]: Result */
5547 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::==*/)))))));
5548 if (UNTAG_Bool(variable[18])) { /*if*/
5549 /* Register variable[18]: Result */
5550 variable[18] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
5551 if (UNTAG_Bool(variable[18])) { /*if*/
5552 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
5553 } else { /*if*/
5554 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
5555 }
5556 }
5557 /* Register variable[18]: Local variable */
5558 /* Register variable[19]: Result */
5559 variable[19] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode9*/) /*new ATopClassdef*/;
5560 variable[18] = variable[19];
5561 /* Register variable[19]: Result */
5562 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::==*/)))))));
5563 if (UNTAG_Bool(variable[19])) { /*if*/
5564 /* Register variable[19]: Result */
5565 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
5566 if (UNTAG_Bool(variable[19])) { /*if*/
5567 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
5568 } else { /*if*/
5569 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
5570 }
5571 }
5572 /* Register variable[19]: Result */
5573 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::==*/)))))));
5574 if (UNTAG_Bool(variable[19])) { /*if*/
5575 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode6*/) /*AbstractArray::add*/;
5576 }
5577 /* Register variable[19]: Local variable */
5578 /* Register variable[20]: Result */
5579 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/) /*new AModule*/;
5580 variable[19] = variable[20];
5581 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
5582 /* Register variable[20]: Result */
5583 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5584 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
5585 return_label78: while(false);
5586 tracehead = trace.prev;
5587 return;
5588 }
5589 void parser___ReduceAction23___init(val_t self, int* init_table) {
5590 struct trace_t trace = {NULL, NULL, 1922, LOCATE_parser___ReduceAction23___init};
5591 val_t variable[2];
5592 struct WBT_ **closurevariable = NULL;
5593 trace.prev = tracehead; tracehead = &trace;
5594 trace.file = LOCATE_parser;
5595 /* Register variable[0]: Local variable */
5596 variable[0] = self;
5597 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction23].i]) return;
5598 /* Register variable[1]: Method return value and escape marker */
5599 return_label79: while(false);
5600 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction23].i] = 1;
5601 tracehead = trace.prev;
5602 return;
5603 }
5604 void parser___ReduceAction24___action(val_t self, val_t param0) {
5605 struct trace_t trace = {NULL, NULL, 1926, LOCATE_parser___ReduceAction24___action};
5606 val_t variable[10];
5607 struct WBT_ **closurevariable = NULL;
5608 trace.prev = tracehead; tracehead = &trace;
5609 trace.file = LOCATE_parser;
5610 /* Register variable[0]: Local variable */
5611 variable[0] = self;
5612 /* Register variable[1]: Local variable */
5613 variable[1] = param0;
5614 /* Register variable[2]: Method return value and escape marker */
5615 /* Register variable[3]: Local variable */
5616 variable[3] = NIT_NULL /*null*/;
5617 /* Register variable[4]: Local variable */
5618 /* Register variable[5]: Result */
5619 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5620 variable[4] = variable[5];
5621 /* Register variable[5]: Local variable */
5622 /* Register variable[6]: Result */
5623 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5624 variable[5] = variable[6];
5625 /* Register variable[6]: Local variable */
5626 /* Register variable[7]: Result */
5627 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5628 variable[6] = variable[7];
5629 /* Register variable[7]: Local variable */
5630 variable[7] = variable[4] /*nodearraylist1*/;
5631 /* Register variable[8]: Result */
5632 variable[8] = TAG_Bool(( variable[7] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5633 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction24___action, LOCATE_parser, 1933); nit_exit(1);}
5634 /* Register variable[8]: Result */
5635 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::==*/)))))));
5636 if (UNTAG_Bool(variable[8])) { /*if*/
5637 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*pclassdefnode4*/) /*AbstractArray::add*/;
5638 }
5639 /* Register variable[8]: Local variable */
5640 /* Register variable[9]: Result */
5641 variable[9] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[5] /*listnode3*/, variable[6] /*listnode5*/) /*new AModule*/;
5642 variable[8] = variable[9];
5643 variable[3] = variable[8] /*pmodulenode1*/ /*node_list=*/;
5644 /* Register variable[9]: Result */
5645 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5646 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
5647 return_label80: while(false);
5648 tracehead = trace.prev;
5649 return;
5650 }
5651 void parser___ReduceAction24___init(val_t self, int* init_table) {
5652 struct trace_t trace = {NULL, NULL, 1945, LOCATE_parser___ReduceAction24___init};
5653 val_t variable[2];
5654 struct WBT_ **closurevariable = NULL;
5655 trace.prev = tracehead; tracehead = &trace;
5656 trace.file = LOCATE_parser;
5657 /* Register variable[0]: Local variable */
5658 variable[0] = self;
5659 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction24].i]) return;
5660 /* Register variable[1]: Method return value and escape marker */
5661 return_label81: while(false);
5662 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction24].i] = 1;
5663 tracehead = trace.prev;
5664 return;
5665 }
5666 void parser___ReduceAction25___action(val_t self, val_t param0) {
5667 struct trace_t trace = {NULL, NULL, 1949, LOCATE_parser___ReduceAction25___action};
5668 val_t variable[12];
5669 struct WBT_ **closurevariable = NULL;
5670 trace.prev = tracehead; tracehead = &trace;
5671 trace.file = LOCATE_parser;
5672 /* Register variable[0]: Local variable */
5673 variable[0] = self;
5674 /* Register variable[1]: Local variable */
5675 variable[1] = param0;
5676 /* Register variable[2]: Method return value and escape marker */
5677 /* Register variable[3]: Local variable */
5678 variable[3] = NIT_NULL /*null*/;
5679 /* Register variable[4]: Local variable */
5680 /* Register variable[5]: Result */
5681 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5682 variable[4] = variable[5];
5683 /* Register variable[5]: Local variable */
5684 /* Register variable[6]: Result */
5685 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5686 variable[5] = variable[6];
5687 /* Register variable[6]: Local variable */
5688 /* Register variable[7]: Result */
5689 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5690 variable[6] = variable[7];
5691 /* Register variable[7]: Local variable */
5692 /* Register variable[8]: Result */
5693 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5694 variable[7] = variable[8];
5695 /* Register variable[8]: Local variable */
5696 variable[8] = variable[5] /*nodearraylist1*/;
5697 /* Register variable[9]: Result */
5698 variable[9] = TAG_Bool(( variable[8] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5699 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1957); nit_exit(1);}
5700 /* Register variable[9]: Local variable */
5701 variable[9] = variable[4] /*nodearraylist2*/;
5702 /* Register variable[10]: Result */
5703 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode4*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5704 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction25___action, LOCATE_parser, 1959); nit_exit(1);}
5705 /* Register variable[10]: Result */
5706 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::==*/)))))));
5707 if (UNTAG_Bool(variable[10])) { /*if*/
5708 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*pclassdefnode4*/) /*AbstractArray::add*/;
5709 }
5710 /* Register variable[10]: Local variable */
5711 /* Register variable[11]: Result */
5712 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( variable[8] /*ppackagedeclnode2*/, variable[6] /*listnode3*/, variable[7] /*listnode5*/) /*new AModule*/;
5713 variable[10] = variable[11];
5714 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
5715 /* Register variable[11]: Result */
5716 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5717 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
5718 return_label82: while(false);
5719 tracehead = trace.prev;
5720 return;
5721 }
5722 void parser___ReduceAction25___init(val_t self, int* init_table) {
5723 struct trace_t trace = {NULL, NULL, 1971, LOCATE_parser___ReduceAction25___init};
5724 val_t variable[2];
5725 struct WBT_ **closurevariable = NULL;
5726 trace.prev = tracehead; tracehead = &trace;
5727 trace.file = LOCATE_parser;
5728 /* Register variable[0]: Local variable */
5729 variable[0] = self;
5730 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction25].i]) return;
5731 /* Register variable[1]: Method return value and escape marker */
5732 return_label83: while(false);
5733 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction25].i] = 1;
5734 tracehead = trace.prev;
5735 return;
5736 }
5737 void parser___ReduceAction26___action(val_t self, val_t param0) {
5738 struct trace_t trace = {NULL, NULL, 1975, LOCATE_parser___ReduceAction26___action};
5739 val_t variable[12];
5740 struct WBT_ **closurevariable = NULL;
5741 trace.prev = tracehead; tracehead = &trace;
5742 trace.file = LOCATE_parser;
5743 /* Register variable[0]: Local variable */
5744 variable[0] = self;
5745 /* Register variable[1]: Local variable */
5746 variable[1] = param0;
5747 /* Register variable[2]: Method return value and escape marker */
5748 /* Register variable[3]: Local variable */
5749 variable[3] = NIT_NULL /*null*/;
5750 /* Register variable[4]: Local variable */
5751 /* Register variable[5]: Result */
5752 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5753 variable[4] = variable[5];
5754 /* Register variable[5]: Local variable */
5755 /* Register variable[6]: Result */
5756 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5757 variable[5] = variable[6];
5758 /* Register variable[6]: Local variable */
5759 /* Register variable[7]: Result */
5760 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5761 variable[6] = variable[7];
5762 /* Register variable[7]: Local variable */
5763 /* Register variable[8]: Result */
5764 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5765 variable[7] = variable[8];
5766 /* Register variable[8]: Local variable */
5767 variable[8] = variable[5] /*nodearraylist1*/;
5768 /* Register variable[9]: Result */
5769 variable[9] = TAG_Bool(( variable[8] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5770 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1983); nit_exit(1);}
5771 /* Register variable[9]: Result */
5772 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::==*/)))))));
5773 if (UNTAG_Bool(variable[9])) { /*if*/
5774 /* Register variable[9]: Result */
5775 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5776 if (UNTAG_Bool(variable[9])) { /*if*/
5777 variable[6] = variable[8] /*listnode3*/ /*listnode4=*/;
5778 } else { /*if*/
5779 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*listnode3*/) /*IndexedCollection::append*/;
5780 }
5781 }
5782 /* Register variable[9]: Local variable */
5783 variable[9] = variable[4] /*nodearraylist2*/;
5784 /* Register variable[10]: Result */
5785 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5786 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction26___action, LOCATE_parser, 1992); nit_exit(1);}
5787 /* Register variable[10]: Result */
5788 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::==*/)))))));
5789 if (UNTAG_Bool(variable[10])) { /*if*/
5790 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
5791 }
5792 /* Register variable[10]: Local variable */
5793 /* Register variable[11]: Result */
5794 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode4*/, variable[7] /*listnode6*/) /*new AModule*/;
5795 variable[10] = variable[11];
5796 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
5797 /* Register variable[11]: Result */
5798 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5799 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
5800 return_label84: while(false);
5801 tracehead = trace.prev;
5802 return;
5803 }
5804 void parser___ReduceAction26___init(val_t self, int* init_table) {
5805 struct trace_t trace = {NULL, NULL, 2004, LOCATE_parser___ReduceAction26___init};
5806 val_t variable[2];
5807 struct WBT_ **closurevariable = NULL;
5808 trace.prev = tracehead; tracehead = &trace;
5809 trace.file = LOCATE_parser;
5810 /* Register variable[0]: Local variable */
5811 variable[0] = self;
5812 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction26].i]) return;
5813 /* Register variable[1]: Method return value and escape marker */
5814 return_label85: while(false);
5815 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction26].i] = 1;
5816 tracehead = trace.prev;
5817 return;
5818 }
5819 void parser___ReduceAction27___action(val_t self, val_t param0) {
5820 struct trace_t trace = {NULL, NULL, 2008, LOCATE_parser___ReduceAction27___action};
5821 val_t variable[14];
5822 struct WBT_ **closurevariable = NULL;
5823 trace.prev = tracehead; tracehead = &trace;
5824 trace.file = LOCATE_parser;
5825 /* Register variable[0]: Local variable */
5826 variable[0] = self;
5827 /* Register variable[1]: Local variable */
5828 variable[1] = param0;
5829 /* Register variable[2]: Method return value and escape marker */
5830 /* Register variable[3]: Local variable */
5831 variable[3] = NIT_NULL /*null*/;
5832 /* Register variable[4]: Local variable */
5833 /* Register variable[5]: Result */
5834 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5835 variable[4] = variable[5];
5836 /* Register variable[5]: Local variable */
5837 /* Register variable[6]: Result */
5838 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5839 variable[5] = variable[6];
5840 /* Register variable[6]: Local variable */
5841 /* Register variable[7]: Result */
5842 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5843 variable[6] = variable[7];
5844 /* Register variable[7]: Local variable */
5845 /* Register variable[8]: Result */
5846 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5847 variable[7] = variable[8];
5848 /* Register variable[8]: Local variable */
5849 /* Register variable[9]: Result */
5850 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5851 variable[8] = variable[9];
5852 /* Register variable[9]: Local variable */
5853 variable[9] = variable[6] /*nodearraylist1*/;
5854 /* Register variable[10]: Result */
5855 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
5856 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2017); nit_exit(1);}
5857 /* Register variable[10]: Local variable */
5858 variable[10] = variable[5] /*nodearraylist2*/;
5859 /* Register variable[11]: Result */
5860 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5861 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2019); nit_exit(1);}
5862 /* Register variable[11]: Result */
5863 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::==*/)))))));
5864 if (UNTAG_Bool(variable[11])) { /*if*/
5865 /* Register variable[11]: Result */
5866 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
5867 if (UNTAG_Bool(variable[11])) { /*if*/
5868 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
5869 } else { /*if*/
5870 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
5871 }
5872 }
5873 /* Register variable[11]: Local variable */
5874 variable[11] = variable[4] /*nodearraylist3*/;
5875 /* Register variable[12]: Result */
5876 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5877 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction27___action, LOCATE_parser, 2028); nit_exit(1);}
5878 /* Register variable[12]: Result */
5879 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::==*/)))))));
5880 if (UNTAG_Bool(variable[12])) { /*if*/
5881 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
5882 }
5883 /* Register variable[12]: Local variable */
5884 /* Register variable[13]: Result */
5885 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/) /*new AModule*/;
5886 variable[12] = variable[13];
5887 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
5888 /* Register variable[13]: Result */
5889 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5890 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
5891 return_label86: while(false);
5892 tracehead = trace.prev;
5893 return;
5894 }
5895 void parser___ReduceAction27___init(val_t self, int* init_table) {
5896 struct trace_t trace = {NULL, NULL, 2040, LOCATE_parser___ReduceAction27___init};
5897 val_t variable[2];
5898 struct WBT_ **closurevariable = NULL;
5899 trace.prev = tracehead; tracehead = &trace;
5900 trace.file = LOCATE_parser;
5901 /* Register variable[0]: Local variable */
5902 variable[0] = self;
5903 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction27].i]) return;
5904 /* Register variable[1]: Method return value and escape marker */
5905 return_label87: while(false);
5906 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction27].i] = 1;
5907 tracehead = trace.prev;
5908 return;
5909 }
5910 void parser___ReduceAction28___action(val_t self, val_t param0) {
5911 struct trace_t trace = {NULL, NULL, 2044, LOCATE_parser___ReduceAction28___action};
5912 val_t variable[12];
5913 struct WBT_ **closurevariable = NULL;
5914 trace.prev = tracehead; tracehead = &trace;
5915 trace.file = LOCATE_parser;
5916 /* Register variable[0]: Local variable */
5917 variable[0] = self;
5918 /* Register variable[1]: Local variable */
5919 variable[1] = param0;
5920 /* Register variable[2]: Method return value and escape marker */
5921 /* Register variable[3]: Local variable */
5922 variable[3] = NIT_NULL /*null*/;
5923 /* Register variable[4]: Local variable */
5924 /* Register variable[5]: Result */
5925 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5926 variable[4] = variable[5];
5927 /* Register variable[5]: Local variable */
5928 /* Register variable[6]: Result */
5929 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
5930 variable[5] = variable[6];
5931 /* Register variable[6]: Local variable */
5932 /* Register variable[7]: Result */
5933 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5934 variable[6] = variable[7];
5935 /* Register variable[7]: Local variable */
5936 /* Register variable[8]: Result */
5937 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
5938 variable[7] = variable[8];
5939 /* Register variable[8]: Local variable */
5940 variable[8] = variable[5] /*nodearraylist1*/;
5941 /* Register variable[9]: Result */
5942 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
5943 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 2052); nit_exit(1);}
5944 /* Register variable[9]: Local variable */
5945 variable[9] = variable[4] /*nodearraylist2*/;
5946 /* Register variable[10]: Result */
5947 variable[10] = TAG_Bool(( variable[9] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
5948 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction28___action, LOCATE_parser, 2054); nit_exit(1);}
5949 /* Register variable[10]: Result */
5950 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::==*/)))))));
5951 if (UNTAG_Bool(variable[10])) { /*if*/
5952 /* Register variable[10]: Result */
5953 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
5954 if (UNTAG_Bool(variable[10])) { /*if*/
5955 variable[7] = variable[8] /*listnode4*/ /*listnode6=*/;
5956 } else { /*if*/
5957 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
5958 }
5959 }
5960 /* Register variable[10]: Result */
5961 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::==*/)))))));
5962 if (UNTAG_Bool(variable[10])) { /*if*/
5963 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*pclassdefnode5*/) /*AbstractArray::add*/;
5964 }
5965 /* Register variable[10]: Local variable */
5966 /* Register variable[11]: Result */
5967 variable[11] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[6] /*listnode3*/, variable[7] /*listnode6*/) /*new AModule*/;
5968 variable[10] = variable[11];
5969 variable[3] = variable[10] /*pmodulenode1*/ /*node_list=*/;
5970 /* Register variable[11]: Result */
5971 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
5972 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
5973 return_label88: while(false);
5974 tracehead = trace.prev;
5975 return;
5976 }
5977 void parser___ReduceAction28___init(val_t self, int* init_table) {
5978 struct trace_t trace = {NULL, NULL, 2073, LOCATE_parser___ReduceAction28___init};
5979 val_t variable[2];
5980 struct WBT_ **closurevariable = NULL;
5981 trace.prev = tracehead; tracehead = &trace;
5982 trace.file = LOCATE_parser;
5983 /* Register variable[0]: Local variable */
5984 variable[0] = self;
5985 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction28].i]) return;
5986 /* Register variable[1]: Method return value and escape marker */
5987 return_label89: while(false);
5988 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction28].i] = 1;
5989 tracehead = trace.prev;
5990 return;
5991 }
5992 void parser___ReduceAction29___action(val_t self, val_t param0) {
5993 struct trace_t trace = {NULL, NULL, 2077, LOCATE_parser___ReduceAction29___action};
5994 val_t variable[14];
5995 struct WBT_ **closurevariable = NULL;
5996 trace.prev = tracehead; tracehead = &trace;
5997 trace.file = LOCATE_parser;
5998 /* Register variable[0]: Local variable */
5999 variable[0] = self;
6000 /* Register variable[1]: Local variable */
6001 variable[1] = param0;
6002 /* Register variable[2]: Method return value and escape marker */
6003 /* Register variable[3]: Local variable */
6004 variable[3] = NIT_NULL /*null*/;
6005 /* Register variable[4]: Local variable */
6006 /* Register variable[5]: Result */
6007 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6008 variable[4] = variable[5];
6009 /* Register variable[5]: Local variable */
6010 /* Register variable[6]: Result */
6011 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6012 variable[5] = variable[6];
6013 /* Register variable[6]: Local variable */
6014 /* Register variable[7]: Result */
6015 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6016 variable[6] = variable[7];
6017 /* Register variable[7]: Local variable */
6018 /* Register variable[8]: Result */
6019 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6020 variable[7] = variable[8];
6021 /* Register variable[8]: Local variable */
6022 /* Register variable[9]: Result */
6023 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6024 variable[8] = variable[9];
6025 /* Register variable[9]: Local variable */
6026 variable[9] = variable[6] /*nodearraylist1*/;
6027 /* Register variable[10]: Result */
6028 variable[10] = TAG_Bool(( variable[9] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
6029 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2086); nit_exit(1);}
6030 /* Register variable[10]: Local variable */
6031 variable[10] = variable[5] /*nodearraylist2*/;
6032 /* Register variable[11]: Result */
6033 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6034 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2088); nit_exit(1);}
6035 /* Register variable[11]: Local variable */
6036 variable[11] = variable[4] /*nodearraylist3*/;
6037 /* Register variable[12]: Result */
6038 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode5*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6039 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction29___action, LOCATE_parser, 2090); nit_exit(1);}
6040 /* Register variable[12]: Result */
6041 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::==*/)))))));
6042 if (UNTAG_Bool(variable[12])) { /*if*/
6043 /* Register variable[12]: Result */
6044 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
6045 if (UNTAG_Bool(variable[12])) { /*if*/
6046 variable[8] = variable[10] /*listnode4*/ /*listnode6=*/;
6047 } else { /*if*/
6048 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
6049 }
6050 }
6051 /* Register variable[12]: Result */
6052 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::==*/)))))));
6053 if (UNTAG_Bool(variable[12])) { /*if*/
6054 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*pclassdefnode5*/) /*AbstractArray::add*/;
6055 }
6056 /* Register variable[12]: Local variable */
6057 /* Register variable[13]: Result */
6058 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( variable[9] /*ppackagedeclnode2*/, variable[7] /*listnode3*/, variable[8] /*listnode6*/) /*new AModule*/;
6059 variable[12] = variable[13];
6060 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
6061 /* Register variable[13]: Result */
6062 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6063 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
6064 return_label90: while(false);
6065 tracehead = trace.prev;
6066 return;
6067 }
6068 void parser___ReduceAction29___init(val_t self, int* init_table) {
6069 struct trace_t trace = {NULL, NULL, 2109, LOCATE_parser___ReduceAction29___init};
6070 val_t variable[2];
6071 struct WBT_ **closurevariable = NULL;
6072 trace.prev = tracehead; tracehead = &trace;
6073 trace.file = LOCATE_parser;
6074 /* Register variable[0]: Local variable */
6075 variable[0] = self;
6076 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction29].i]) return;
6077 /* Register variable[1]: Method return value and escape marker */
6078 return_label91: while(false);
6079 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction29].i] = 1;
6080 tracehead = trace.prev;
6081 return;
6082 }
6083 void parser___ReduceAction30___action(val_t self, val_t param0) {
6084 struct trace_t trace = {NULL, NULL, 2113, LOCATE_parser___ReduceAction30___action};
6085 val_t variable[14];
6086 struct WBT_ **closurevariable = NULL;
6087 trace.prev = tracehead; tracehead = &trace;
6088 trace.file = LOCATE_parser;
6089 /* Register variable[0]: Local variable */
6090 variable[0] = self;
6091 /* Register variable[1]: Local variable */
6092 variable[1] = param0;
6093 /* Register variable[2]: Method return value and escape marker */
6094 /* Register variable[3]: Local variable */
6095 variable[3] = NIT_NULL /*null*/;
6096 /* Register variable[4]: Local variable */
6097 /* Register variable[5]: Result */
6098 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6099 variable[4] = variable[5];
6100 /* Register variable[5]: Local variable */
6101 /* Register variable[6]: Result */
6102 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6103 variable[5] = variable[6];
6104 /* Register variable[6]: Local variable */
6105 /* Register variable[7]: Result */
6106 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6107 variable[6] = variable[7];
6108 /* Register variable[7]: Local variable */
6109 /* Register variable[8]: Result */
6110 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6111 variable[7] = variable[8];
6112 /* Register variable[8]: Local variable */
6113 /* Register variable[9]: Result */
6114 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6115 variable[8] = variable[9];
6116 /* Register variable[9]: Local variable */
6117 variable[9] = variable[6] /*nodearraylist1*/;
6118 /* Register variable[10]: Result */
6119 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6120 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2122); nit_exit(1);}
6121 /* Register variable[10]: Result */
6122 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::==*/)))))));
6123 if (UNTAG_Bool(variable[10])) { /*if*/
6124 /* Register variable[10]: Result */
6125 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
6126 if (UNTAG_Bool(variable[10])) { /*if*/
6127 variable[7] = variable[9] /*listnode3*/ /*listnode4=*/;
6128 } else { /*if*/
6129 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
6130 }
6131 }
6132 /* Register variable[10]: Local variable */
6133 variable[10] = variable[5] /*nodearraylist2*/;
6134 /* Register variable[11]: Result */
6135 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6136 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2131); nit_exit(1);}
6137 /* Register variable[11]: Local variable */
6138 variable[11] = variable[4] /*nodearraylist3*/;
6139 /* Register variable[12]: Result */
6140 variable[12] = TAG_Bool(( variable[11] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6141 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction30___action, LOCATE_parser, 2133); nit_exit(1);}
6142 /* Register variable[12]: Result */
6143 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::==*/)))))));
6144 if (UNTAG_Bool(variable[12])) { /*if*/
6145 /* Register variable[12]: Result */
6146 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
6147 if (UNTAG_Bool(variable[12])) { /*if*/
6148 variable[8] = variable[10] /*listnode5*/ /*listnode7=*/;
6149 } else { /*if*/
6150 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
6151 }
6152 }
6153 /* Register variable[12]: Result */
6154 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::==*/)))))));
6155 if (UNTAG_Bool(variable[12])) { /*if*/
6156 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[11] /*pclassdefnode6*/) /*AbstractArray::add*/;
6157 }
6158 /* Register variable[12]: Local variable */
6159 /* Register variable[13]: Result */
6160 variable[13] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode4*/, variable[8] /*listnode7*/) /*new AModule*/;
6161 variable[12] = variable[13];
6162 variable[3] = variable[12] /*pmodulenode1*/ /*node_list=*/;
6163 /* Register variable[13]: Result */
6164 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6165 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
6166 return_label92: while(false);
6167 tracehead = trace.prev;
6168 return;
6169 }
6170 void parser___ReduceAction30___init(val_t self, int* init_table) {
6171 struct trace_t trace = {NULL, NULL, 2152, LOCATE_parser___ReduceAction30___init};
6172 val_t variable[2];
6173 struct WBT_ **closurevariable = NULL;
6174 trace.prev = tracehead; tracehead = &trace;
6175 trace.file = LOCATE_parser;
6176 /* Register variable[0]: Local variable */
6177 variable[0] = self;
6178 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction30].i]) return;
6179 /* Register variable[1]: Method return value and escape marker */
6180 return_label93: while(false);
6181 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction30].i] = 1;
6182 tracehead = trace.prev;
6183 return;
6184 }
6185 void parser___ReduceAction31___action(val_t self, val_t param0) {
6186 struct trace_t trace = {NULL, NULL, 2156, LOCATE_parser___ReduceAction31___action};
6187 val_t variable[16];
6188 struct WBT_ **closurevariable = NULL;
6189 trace.prev = tracehead; tracehead = &trace;
6190 trace.file = LOCATE_parser;
6191 /* Register variable[0]: Local variable */
6192 variable[0] = self;
6193 /* Register variable[1]: Local variable */
6194 variable[1] = param0;
6195 /* Register variable[2]: Method return value and escape marker */
6196 /* Register variable[3]: Local variable */
6197 variable[3] = NIT_NULL /*null*/;
6198 /* Register variable[4]: Local variable */
6199 /* Register variable[5]: Result */
6200 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6201 variable[4] = variable[5];
6202 /* Register variable[5]: Local variable */
6203 /* Register variable[6]: Result */
6204 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6205 variable[5] = variable[6];
6206 /* Register variable[6]: Local variable */
6207 /* Register variable[7]: Result */
6208 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6209 variable[6] = variable[7];
6210 /* Register variable[7]: Local variable */
6211 /* Register variable[8]: Result */
6212 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6213 variable[7] = variable[8];
6214 /* Register variable[8]: Local variable */
6215 /* Register variable[9]: Result */
6216 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6217 variable[8] = variable[9];
6218 /* Register variable[9]: Local variable */
6219 /* Register variable[10]: Result */
6220 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6221 variable[9] = variable[10];
6222 /* Register variable[10]: Local variable */
6223 variable[10] = variable[7] /*nodearraylist1*/;
6224 /* Register variable[11]: Result */
6225 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
6226 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2166); nit_exit(1);}
6227 /* Register variable[11]: Local variable */
6228 variable[11] = variable[6] /*nodearraylist2*/;
6229 /* Register variable[12]: Result */
6230 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6231 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2168); nit_exit(1);}
6232 /* Register variable[12]: Result */
6233 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::==*/)))))));
6234 if (UNTAG_Bool(variable[12])) { /*if*/
6235 /* Register variable[12]: Result */
6236 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
6237 if (UNTAG_Bool(variable[12])) { /*if*/
6238 variable[8] = variable[11] /*listnode3*/ /*listnode4=*/;
6239 } else { /*if*/
6240 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
6241 }
6242 }
6243 /* Register variable[12]: Local variable */
6244 variable[12] = variable[5] /*nodearraylist3*/;
6245 /* Register variable[13]: Result */
6246 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6247 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2177); nit_exit(1);}
6248 /* Register variable[13]: Local variable */
6249 variable[13] = variable[4] /*nodearraylist4*/;
6250 /* Register variable[14]: Result */
6251 variable[14] = TAG_Bool(( variable[13] /*pclassdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pclassdefnode6*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6252 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction31___action, LOCATE_parser, 2179); nit_exit(1);}
6253 /* Register variable[14]: Result */
6254 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::==*/)))))));
6255 if (UNTAG_Bool(variable[14])) { /*if*/
6256 /* Register variable[14]: Result */
6257 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode7*/)( variable[9] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
6258 if (UNTAG_Bool(variable[14])) { /*if*/
6259 variable[9] = variable[12] /*listnode5*/ /*listnode7=*/;
6260 } else { /*if*/
6261 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
6262 }
6263 }
6264 /* Register variable[14]: Result */
6265 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::==*/)))))));
6266 if (UNTAG_Bool(variable[14])) { /*if*/
6267 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode7*/)( variable[9] /*listnode7*/, variable[13] /*pclassdefnode6*/) /*AbstractArray::add*/;
6268 }
6269 /* Register variable[14]: Local variable */
6270 /* Register variable[15]: Result */
6271 variable[15] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode4*/, variable[9] /*listnode7*/) /*new AModule*/;
6272 variable[14] = variable[15];
6273 variable[3] = variable[14] /*pmodulenode1*/ /*node_list=*/;
6274 /* Register variable[15]: Result */
6275 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6276 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
6277 return_label94: while(false);
6278 tracehead = trace.prev;
6279 return;
6280 }
6281 void parser___ReduceAction31___init(val_t self, int* init_table) {
6282 struct trace_t trace = {NULL, NULL, 2198, LOCATE_parser___ReduceAction31___init};
6283 val_t variable[2];
6284 struct WBT_ **closurevariable = NULL;
6285 trace.prev = tracehead; tracehead = &trace;
6286 trace.file = LOCATE_parser;
6287 /* Register variable[0]: Local variable */
6288 variable[0] = self;
6289 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction31].i]) return;
6290 /* Register variable[1]: Method return value and escape marker */
6291 return_label95: while(false);
6292 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction31].i] = 1;
6293 tracehead = trace.prev;
6294 return;
6295 }
6296 void parser___ReduceAction32___action(val_t self, val_t param0) {
6297 struct trace_t trace = {NULL, NULL, 2202, LOCATE_parser___ReduceAction32___action};
6298 val_t variable[15];
6299 struct WBT_ **closurevariable = NULL;
6300 trace.prev = tracehead; tracehead = &trace;
6301 trace.file = LOCATE_parser;
6302 /* Register variable[0]: Local variable */
6303 variable[0] = self;
6304 /* Register variable[1]: Local variable */
6305 variable[1] = param0;
6306 /* Register variable[2]: Method return value and escape marker */
6307 /* Register variable[3]: Local variable */
6308 variable[3] = NIT_NULL /*null*/;
6309 /* Register variable[4]: Local variable */
6310 /* Register variable[5]: Result */
6311 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6312 variable[4] = variable[5];
6313 /* Register variable[5]: Local variable */
6314 /* Register variable[6]: Result */
6315 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6316 variable[5] = variable[6];
6317 /* Register variable[6]: Local variable */
6318 /* Register variable[7]: Result */
6319 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6320 variable[6] = variable[7];
6321 /* Register variable[7]: Local variable */
6322 /* Register variable[8]: Result */
6323 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6324 variable[7] = variable[8];
6325 /* Register variable[8]: Local variable */
6326 /* Register variable[9]: Result */
6327 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6328 variable[8] = variable[9];
6329 /* Register variable[9]: Local variable */
6330 /* Register variable[10]: Result */
6331 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6332 variable[9] = variable[10];
6333 /* Register variable[10]: Local variable */
6334 variable[10] = variable[6] /*nodearraylist1*/;
6335 /* Register variable[11]: Result */
6336 variable[11] = TAG_Bool(( variable[10] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6337 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2212); nit_exit(1);}
6338 /* Register variable[11]: Result */
6339 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::==*/)))))));
6340 if (UNTAG_Bool(variable[11])) { /*if*/
6341 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode6*/)( variable[9] /*listnode6*/, variable[10] /*ppropdefnode5*/) /*AbstractArray::add*/;
6342 }
6343 /* Register variable[11]: Local variable */
6344 /* Register variable[12]: Result */
6345 variable[12] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[9] /*listnode6*/) /*new ATopClassdef*/;
6346 variable[11] = variable[12];
6347 /* Register variable[12]: Local variable */
6348 variable[12] = variable[4] /*nodearraylist3*/;
6349 /* Register variable[13]: Result */
6350 variable[13] = TAG_Bool(( variable[12] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6351 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction32___action, LOCATE_parser, 2220); nit_exit(1);}
6352 /* Register variable[13]: Result */
6353 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::==*/)))))));
6354 if (UNTAG_Bool(variable[13])) { /*if*/
6355 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[11] /*pclassdefnode4*/) /*AbstractArray::add*/;
6356 }
6357 /* Register variable[13]: Result */
6358 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::==*/)))))));
6359 if (UNTAG_Bool(variable[13])) { /*if*/
6360 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode8*/)( variable[8] /*listnode8*/, variable[12] /*pclassdefnode7*/) /*AbstractArray::add*/;
6361 }
6362 /* Register variable[13]: Local variable */
6363 /* Register variable[14]: Result */
6364 variable[14] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[7] /*listnode3*/, variable[8] /*listnode8*/) /*new AModule*/;
6365 variable[13] = variable[14];
6366 variable[3] = variable[13] /*pmodulenode1*/ /*node_list=*/;
6367 /* Register variable[14]: Result */
6368 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6369 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
6370 return_label96: while(false);
6371 tracehead = trace.prev;
6372 return;
6373 }
6374 void parser___ReduceAction32___init(val_t self, int* init_table) {
6375 struct trace_t trace = {NULL, NULL, 2235, LOCATE_parser___ReduceAction32___init};
6376 val_t variable[2];
6377 struct WBT_ **closurevariable = NULL;
6378 trace.prev = tracehead; tracehead = &trace;
6379 trace.file = LOCATE_parser;
6380 /* Register variable[0]: Local variable */
6381 variable[0] = self;
6382 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction32].i]) return;
6383 /* Register variable[1]: Method return value and escape marker */
6384 return_label97: while(false);
6385 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction32].i] = 1;
6386 tracehead = trace.prev;
6387 return;
6388 }
6389 void parser___ReduceAction33___action(val_t self, val_t param0) {
6390 struct trace_t trace = {NULL, NULL, 2239, LOCATE_parser___ReduceAction33___action};
6391 val_t variable[17];
6392 struct WBT_ **closurevariable = NULL;
6393 trace.prev = tracehead; tracehead = &trace;
6394 trace.file = LOCATE_parser;
6395 /* Register variable[0]: Local variable */
6396 variable[0] = self;
6397 /* Register variable[1]: Local variable */
6398 variable[1] = param0;
6399 /* Register variable[2]: Method return value and escape marker */
6400 /* Register variable[3]: Local variable */
6401 variable[3] = NIT_NULL /*null*/;
6402 /* Register variable[4]: Local variable */
6403 /* Register variable[5]: Result */
6404 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6405 variable[4] = variable[5];
6406 /* Register variable[5]: Local variable */
6407 /* Register variable[6]: Result */
6408 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6409 variable[5] = variable[6];
6410 /* Register variable[6]: Local variable */
6411 /* Register variable[7]: Result */
6412 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6413 variable[6] = variable[7];
6414 /* Register variable[7]: Local variable */
6415 /* Register variable[8]: Result */
6416 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6417 variable[7] = variable[8];
6418 /* Register variable[8]: Local variable */
6419 /* Register variable[9]: Result */
6420 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6421 variable[8] = variable[9];
6422 /* Register variable[9]: Local variable */
6423 /* Register variable[10]: Result */
6424 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6425 variable[9] = variable[10];
6426 /* Register variable[10]: Local variable */
6427 /* Register variable[11]: Result */
6428 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6429 variable[10] = variable[11];
6430 /* Register variable[11]: Local variable */
6431 variable[11] = variable[7] /*nodearraylist1*/;
6432 /* Register variable[12]: Result */
6433 variable[12] = TAG_Bool(( variable[11] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6434 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2250); nit_exit(1);}
6435 /* Register variable[12]: Local variable */
6436 variable[12] = variable[5] /*nodearraylist3*/;
6437 /* Register variable[13]: Result */
6438 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6439 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2252); nit_exit(1);}
6440 /* Register variable[13]: Result */
6441 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::==*/)))))));
6442 if (UNTAG_Bool(variable[13])) { /*if*/
6443 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[11] /*ppropdefnode5*/) /*AbstractArray::add*/;
6444 }
6445 /* Register variable[13]: Result */
6446 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::==*/)))))));
6447 if (UNTAG_Bool(variable[13])) { /*if*/
6448 /* Register variable[13]: Result */
6449 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode7*/)( variable[10] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
6450 if (UNTAG_Bool(variable[13])) { /*if*/
6451 variable[10] = variable[12] /*listnode6*/ /*listnode7=*/;
6452 } else { /*if*/
6453 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode7*/)( variable[10] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
6454 }
6455 }
6456 /* Register variable[13]: Local variable */
6457 /* Register variable[14]: Result */
6458 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[10] /*listnode7*/) /*new ATopClassdef*/;
6459 variable[13] = variable[14];
6460 /* Register variable[14]: Local variable */
6461 variable[14] = variable[4] /*nodearraylist4*/;
6462 /* Register variable[15]: Result */
6463 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6464 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction33___action, LOCATE_parser, 2267); nit_exit(1);}
6465 /* Register variable[15]: Result */
6466 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::==*/)))))));
6467 if (UNTAG_Bool(variable[15])) { /*if*/
6468 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
6469 }
6470 /* Register variable[15]: Result */
6471 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::==*/)))))));
6472 if (UNTAG_Bool(variable[15])) { /*if*/
6473 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
6474 }
6475 /* Register variable[15]: Local variable */
6476 /* Register variable[16]: Result */
6477 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/) /*new AModule*/;
6478 variable[15] = variable[16];
6479 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
6480 /* Register variable[16]: Result */
6481 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6482 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
6483 return_label98: while(false);
6484 tracehead = trace.prev;
6485 return;
6486 }
6487 void parser___ReduceAction33___init(val_t self, int* init_table) {
6488 struct trace_t trace = {NULL, NULL, 2282, LOCATE_parser___ReduceAction33___init};
6489 val_t variable[2];
6490 struct WBT_ **closurevariable = NULL;
6491 trace.prev = tracehead; tracehead = &trace;
6492 trace.file = LOCATE_parser;
6493 /* Register variable[0]: Local variable */
6494 variable[0] = self;
6495 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction33].i]) return;
6496 /* Register variable[1]: Method return value and escape marker */
6497 return_label99: while(false);
6498 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction33].i] = 1;
6499 tracehead = trace.prev;
6500 return;
6501 }
6502 void parser___ReduceAction34___action(val_t self, val_t param0) {
6503 struct trace_t trace = {NULL, NULL, 2286, LOCATE_parser___ReduceAction34___action};
6504 val_t variable[17];
6505 struct WBT_ **closurevariable = NULL;
6506 trace.prev = tracehead; tracehead = &trace;
6507 trace.file = LOCATE_parser;
6508 /* Register variable[0]: Local variable */
6509 variable[0] = self;
6510 /* Register variable[1]: Local variable */
6511 variable[1] = param0;
6512 /* Register variable[2]: Method return value and escape marker */
6513 /* Register variable[3]: Local variable */
6514 variable[3] = NIT_NULL /*null*/;
6515 /* Register variable[4]: Local variable */
6516 /* Register variable[5]: Result */
6517 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6518 variable[4] = variable[5];
6519 /* Register variable[5]: Local variable */
6520 /* Register variable[6]: Result */
6521 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6522 variable[5] = variable[6];
6523 /* Register variable[6]: Local variable */
6524 /* Register variable[7]: Result */
6525 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6526 variable[6] = variable[7];
6527 /* Register variable[7]: Local variable */
6528 /* Register variable[8]: Result */
6529 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6530 variable[7] = variable[8];
6531 /* Register variable[8]: Local variable */
6532 /* Register variable[9]: Result */
6533 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6534 variable[8] = variable[9];
6535 /* Register variable[9]: Local variable */
6536 /* Register variable[10]: Result */
6537 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6538 variable[9] = variable[10];
6539 /* Register variable[10]: Local variable */
6540 variable[10] = variable[7] /*nodearraylist1*/;
6541 /* Register variable[11]: Result */
6542 variable[11] = TAG_Bool(( variable[10] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
6543 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2296); nit_exit(1);}
6544 /* Register variable[11]: Local variable */
6545 /* Register variable[12]: Result */
6546 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6547 variable[11] = variable[12];
6548 /* Register variable[12]: Local variable */
6549 variable[12] = variable[6] /*nodearraylist2*/;
6550 /* Register variable[13]: Result */
6551 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6552 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2299); nit_exit(1);}
6553 /* Register variable[13]: Result */
6554 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::==*/)))))));
6555 if (UNTAG_Bool(variable[13])) { /*if*/
6556 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[12] /*ppropdefnode5*/) /*AbstractArray::add*/;
6557 }
6558 /* Register variable[13]: Local variable */
6559 /* Register variable[14]: Result */
6560 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode6*/) /*new ATopClassdef*/;
6561 variable[13] = variable[14];
6562 /* Register variable[14]: Local variable */
6563 variable[14] = variable[4] /*nodearraylist4*/;
6564 /* Register variable[15]: Result */
6565 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode7*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6566 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction34___action, LOCATE_parser, 2307); nit_exit(1);}
6567 /* Register variable[15]: Result */
6568 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::==*/)))))));
6569 if (UNTAG_Bool(variable[15])) { /*if*/
6570 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[13] /*pclassdefnode4*/) /*AbstractArray::add*/;
6571 }
6572 /* Register variable[15]: Result */
6573 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::==*/)))))));
6574 if (UNTAG_Bool(variable[15])) { /*if*/
6575 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode8*/)( variable[9] /*listnode8*/, variable[14] /*pclassdefnode7*/) /*AbstractArray::add*/;
6576 }
6577 /* Register variable[15]: Local variable */
6578 /* Register variable[16]: Result */
6579 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( variable[10] /*ppackagedeclnode2*/, variable[8] /*listnode3*/, variable[9] /*listnode8*/) /*new AModule*/;
6580 variable[15] = variable[16];
6581 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
6582 /* Register variable[16]: Result */
6583 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6584 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
6585 return_label100: while(false);
6586 tracehead = trace.prev;
6587 return;
6588 }
6589 void parser___ReduceAction34___init(val_t self, int* init_table) {
6590 struct trace_t trace = {NULL, NULL, 2322, LOCATE_parser___ReduceAction34___init};
6591 val_t variable[2];
6592 struct WBT_ **closurevariable = NULL;
6593 trace.prev = tracehead; tracehead = &trace;
6594 trace.file = LOCATE_parser;
6595 /* Register variable[0]: Local variable */
6596 variable[0] = self;
6597 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction34].i]) return;
6598 /* Register variable[1]: Method return value and escape marker */
6599 return_label101: while(false);
6600 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction34].i] = 1;
6601 tracehead = trace.prev;
6602 return;
6603 }
6604 void parser___ReduceAction35___action(val_t self, val_t param0) {
6605 struct trace_t trace = {NULL, NULL, 2326, LOCATE_parser___ReduceAction35___action};
6606 val_t variable[19];
6607 struct WBT_ **closurevariable = NULL;
6608 trace.prev = tracehead; tracehead = &trace;
6609 trace.file = LOCATE_parser;
6610 /* Register variable[0]: Local variable */
6611 variable[0] = self;
6612 /* Register variable[1]: Local variable */
6613 variable[1] = param0;
6614 /* Register variable[2]: Method return value and escape marker */
6615 /* Register variable[3]: Local variable */
6616 variable[3] = NIT_NULL /*null*/;
6617 /* Register variable[4]: Local variable */
6618 /* Register variable[5]: Result */
6619 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6620 variable[4] = variable[5];
6621 /* Register variable[5]: Local variable */
6622 /* Register variable[6]: Result */
6623 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6624 variable[5] = variable[6];
6625 /* Register variable[6]: Local variable */
6626 /* Register variable[7]: Result */
6627 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6628 variable[6] = variable[7];
6629 /* Register variable[7]: Local variable */
6630 /* Register variable[8]: Result */
6631 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6632 variable[7] = variable[8];
6633 /* Register variable[8]: Local variable */
6634 /* Register variable[9]: Result */
6635 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6636 variable[8] = variable[9];
6637 /* Register variable[9]: Local variable */
6638 /* Register variable[10]: Result */
6639 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6640 variable[9] = variable[10];
6641 /* Register variable[10]: Local variable */
6642 /* Register variable[11]: Result */
6643 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6644 variable[10] = variable[11];
6645 /* Register variable[11]: Local variable */
6646 variable[11] = variable[8] /*nodearraylist1*/;
6647 /* Register variable[12]: Result */
6648 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
6649 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2337); nit_exit(1);}
6650 /* Register variable[12]: Local variable */
6651 /* Register variable[13]: Result */
6652 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6653 variable[12] = variable[13];
6654 /* Register variable[13]: Local variable */
6655 variable[13] = variable[7] /*nodearraylist2*/;
6656 /* Register variable[14]: Result */
6657 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode5*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6658 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2340); nit_exit(1);}
6659 /* Register variable[14]: Local variable */
6660 variable[14] = variable[5] /*nodearraylist4*/;
6661 /* Register variable[15]: Result */
6662 variable[15] = TAG_Bool(( variable[14] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6663 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2342); nit_exit(1);}
6664 /* Register variable[15]: Result */
6665 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::==*/)))))));
6666 if (UNTAG_Bool(variable[15])) { /*if*/
6667 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*ppropdefnode5*/) /*AbstractArray::add*/;
6668 }
6669 /* Register variable[15]: Result */
6670 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::==*/)))))));
6671 if (UNTAG_Bool(variable[15])) { /*if*/
6672 /* Register variable[15]: Result */
6673 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode7*/)( variable[12] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
6674 if (UNTAG_Bool(variable[15])) { /*if*/
6675 variable[12] = variable[14] /*listnode6*/ /*listnode7=*/;
6676 } else { /*if*/
6677 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[14] /*listnode6*/) /*IndexedCollection::append*/;
6678 }
6679 }
6680 /* Register variable[15]: Local variable */
6681 /* Register variable[16]: Result */
6682 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode7*/) /*new ATopClassdef*/;
6683 variable[15] = variable[16];
6684 /* Register variable[16]: Local variable */
6685 variable[16] = variable[4] /*nodearraylist5*/;
6686 /* Register variable[17]: Result */
6687 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6688 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction35___action, LOCATE_parser, 2357); nit_exit(1);}
6689 /* Register variable[17]: Result */
6690 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::==*/)))))));
6691 if (UNTAG_Bool(variable[17])) { /*if*/
6692 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode4*/) /*AbstractArray::add*/;
6693 }
6694 /* Register variable[17]: Result */
6695 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::==*/)))))));
6696 if (UNTAG_Bool(variable[17])) { /*if*/
6697 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
6698 }
6699 /* Register variable[17]: Local variable */
6700 /* Register variable[18]: Result */
6701 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/) /*new AModule*/;
6702 variable[17] = variable[18];
6703 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
6704 /* Register variable[18]: Result */
6705 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6706 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
6707 return_label102: while(false);
6708 tracehead = trace.prev;
6709 return;
6710 }
6711 void parser___ReduceAction35___init(val_t self, int* init_table) {
6712 struct trace_t trace = {NULL, NULL, 2372, LOCATE_parser___ReduceAction35___init};
6713 val_t variable[2];
6714 struct WBT_ **closurevariable = NULL;
6715 trace.prev = tracehead; tracehead = &trace;
6716 trace.file = LOCATE_parser;
6717 /* Register variable[0]: Local variable */
6718 variable[0] = self;
6719 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction35].i]) return;
6720 /* Register variable[1]: Method return value and escape marker */
6721 return_label103: while(false);
6722 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction35].i] = 1;
6723 tracehead = trace.prev;
6724 return;
6725 }
6726 void parser___ReduceAction36___action(val_t self, val_t param0) {
6727 struct trace_t trace = {NULL, NULL, 2376, LOCATE_parser___ReduceAction36___action};
6728 val_t variable[17];
6729 struct WBT_ **closurevariable = NULL;
6730 trace.prev = tracehead; tracehead = &trace;
6731 trace.file = LOCATE_parser;
6732 /* Register variable[0]: Local variable */
6733 variable[0] = self;
6734 /* Register variable[1]: Local variable */
6735 variable[1] = param0;
6736 /* Register variable[2]: Method return value and escape marker */
6737 /* Register variable[3]: Local variable */
6738 variable[3] = NIT_NULL /*null*/;
6739 /* Register variable[4]: Local variable */
6740 /* Register variable[5]: Result */
6741 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6742 variable[4] = variable[5];
6743 /* Register variable[5]: Local variable */
6744 /* Register variable[6]: Result */
6745 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6746 variable[5] = variable[6];
6747 /* Register variable[6]: Local variable */
6748 /* Register variable[7]: Result */
6749 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6750 variable[6] = variable[7];
6751 /* Register variable[7]: Local variable */
6752 /* Register variable[8]: Result */
6753 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6754 variable[7] = variable[8];
6755 /* Register variable[8]: Local variable */
6756 /* Register variable[9]: Result */
6757 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6758 variable[8] = variable[9];
6759 /* Register variable[9]: Local variable */
6760 /* Register variable[10]: Result */
6761 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6762 variable[9] = variable[10];
6763 /* Register variable[10]: Local variable */
6764 variable[10] = variable[7] /*nodearraylist1*/;
6765 /* Register variable[11]: Result */
6766 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6767 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2386); nit_exit(1);}
6768 /* Register variable[11]: Result */
6769 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::==*/)))))));
6770 if (UNTAG_Bool(variable[11])) { /*if*/
6771 /* Register variable[11]: Result */
6772 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
6773 if (UNTAG_Bool(variable[11])) { /*if*/
6774 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
6775 } else { /*if*/
6776 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
6777 }
6778 }
6779 /* Register variable[11]: Local variable */
6780 /* Register variable[12]: Result */
6781 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6782 variable[11] = variable[12];
6783 /* Register variable[12]: Local variable */
6784 variable[12] = variable[6] /*nodearraylist2*/;
6785 /* Register variable[13]: Result */
6786 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6787 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2396); nit_exit(1);}
6788 /* Register variable[13]: Result */
6789 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::==*/)))))));
6790 if (UNTAG_Bool(variable[13])) { /*if*/
6791 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
6792 }
6793 /* Register variable[13]: Local variable */
6794 /* Register variable[14]: Result */
6795 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/) /*new ATopClassdef*/;
6796 variable[13] = variable[14];
6797 /* Register variable[14]: Local variable */
6798 variable[14] = variable[4] /*nodearraylist4*/;
6799 /* Register variable[15]: Result */
6800 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6801 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction36___action, LOCATE_parser, 2404); nit_exit(1);}
6802 /* Register variable[15]: Result */
6803 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::==*/)))))));
6804 if (UNTAG_Bool(variable[15])) { /*if*/
6805 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
6806 }
6807 /* Register variable[15]: Result */
6808 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::==*/)))))));
6809 if (UNTAG_Bool(variable[15])) { /*if*/
6810 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
6811 }
6812 /* Register variable[15]: Local variable */
6813 /* Register variable[16]: Result */
6814 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode4*/, variable[9] /*listnode9*/) /*new AModule*/;
6815 variable[15] = variable[16];
6816 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
6817 /* Register variable[16]: Result */
6818 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6819 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
6820 return_label104: while(false);
6821 tracehead = trace.prev;
6822 return;
6823 }
6824 void parser___ReduceAction36___init(val_t self, int* init_table) {
6825 struct trace_t trace = {NULL, NULL, 2419, LOCATE_parser___ReduceAction36___init};
6826 val_t variable[2];
6827 struct WBT_ **closurevariable = NULL;
6828 trace.prev = tracehead; tracehead = &trace;
6829 trace.file = LOCATE_parser;
6830 /* Register variable[0]: Local variable */
6831 variable[0] = self;
6832 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction36].i]) return;
6833 /* Register variable[1]: Method return value and escape marker */
6834 return_label105: while(false);
6835 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction36].i] = 1;
6836 tracehead = trace.prev;
6837 return;
6838 }
6839 void parser___ReduceAction37___action(val_t self, val_t param0) {
6840 struct trace_t trace = {NULL, NULL, 2423, LOCATE_parser___ReduceAction37___action};
6841 val_t variable[19];
6842 struct WBT_ **closurevariable = NULL;
6843 trace.prev = tracehead; tracehead = &trace;
6844 trace.file = LOCATE_parser;
6845 /* Register variable[0]: Local variable */
6846 variable[0] = self;
6847 /* Register variable[1]: Local variable */
6848 variable[1] = param0;
6849 /* Register variable[2]: Method return value and escape marker */
6850 /* Register variable[3]: Local variable */
6851 variable[3] = NIT_NULL /*null*/;
6852 /* Register variable[4]: Local variable */
6853 /* Register variable[5]: Result */
6854 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6855 variable[4] = variable[5];
6856 /* Register variable[5]: Local variable */
6857 /* Register variable[6]: Result */
6858 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6859 variable[5] = variable[6];
6860 /* Register variable[6]: Local variable */
6861 /* Register variable[7]: Result */
6862 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6863 variable[6] = variable[7];
6864 /* Register variable[7]: Local variable */
6865 /* Register variable[8]: Result */
6866 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6867 variable[7] = variable[8];
6868 /* Register variable[8]: Local variable */
6869 /* Register variable[9]: Result */
6870 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6871 variable[8] = variable[9];
6872 /* Register variable[9]: Local variable */
6873 /* Register variable[10]: Result */
6874 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6875 variable[9] = variable[10];
6876 /* Register variable[10]: Local variable */
6877 /* Register variable[11]: Result */
6878 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6879 variable[10] = variable[11];
6880 /* Register variable[11]: Local variable */
6881 variable[11] = variable[8] /*nodearraylist1*/;
6882 /* Register variable[12]: Result */
6883 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6884 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2434); nit_exit(1);}
6885 /* Register variable[12]: Result */
6886 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::==*/)))))));
6887 if (UNTAG_Bool(variable[12])) { /*if*/
6888 /* Register variable[12]: Result */
6889 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
6890 if (UNTAG_Bool(variable[12])) { /*if*/
6891 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
6892 } else { /*if*/
6893 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
6894 }
6895 }
6896 /* Register variable[12]: Local variable */
6897 /* Register variable[13]: Result */
6898 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
6899 variable[12] = variable[13];
6900 /* Register variable[13]: Local variable */
6901 variable[13] = variable[7] /*nodearraylist2*/;
6902 /* Register variable[14]: Result */
6903 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
6904 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2444); nit_exit(1);}
6905 /* Register variable[14]: Local variable */
6906 variable[14] = variable[5] /*nodearraylist4*/;
6907 /* Register variable[15]: Result */
6908 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
6909 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2446); nit_exit(1);}
6910 /* Register variable[15]: Result */
6911 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::==*/)))))));
6912 if (UNTAG_Bool(variable[15])) { /*if*/
6913 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
6914 }
6915 /* Register variable[15]: Result */
6916 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::==*/)))))));
6917 if (UNTAG_Bool(variable[15])) { /*if*/
6918 /* Register variable[15]: Result */
6919 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
6920 if (UNTAG_Bool(variable[15])) { /*if*/
6921 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
6922 } else { /*if*/
6923 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
6924 }
6925 }
6926 /* Register variable[15]: Local variable */
6927 /* Register variable[16]: Result */
6928 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/) /*new ATopClassdef*/;
6929 variable[15] = variable[16];
6930 /* Register variable[16]: Local variable */
6931 variable[16] = variable[4] /*nodearraylist5*/;
6932 /* Register variable[17]: Result */
6933 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
6934 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction37___action, LOCATE_parser, 2461); nit_exit(1);}
6935 /* Register variable[17]: Result */
6936 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::==*/)))))));
6937 if (UNTAG_Bool(variable[17])) { /*if*/
6938 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
6939 }
6940 /* Register variable[17]: Result */
6941 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::==*/)))))));
6942 if (UNTAG_Bool(variable[17])) { /*if*/
6943 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
6944 }
6945 /* Register variable[17]: Local variable */
6946 /* Register variable[18]: Result */
6947 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/) /*new AModule*/;
6948 variable[17] = variable[18];
6949 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
6950 /* Register variable[18]: Result */
6951 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
6952 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
6953 return_label106: while(false);
6954 tracehead = trace.prev;
6955 return;
6956 }
6957 void parser___ReduceAction37___init(val_t self, int* init_table) {
6958 struct trace_t trace = {NULL, NULL, 2476, LOCATE_parser___ReduceAction37___init};
6959 val_t variable[2];
6960 struct WBT_ **closurevariable = NULL;
6961 trace.prev = tracehead; tracehead = &trace;
6962 trace.file = LOCATE_parser;
6963 /* Register variable[0]: Local variable */
6964 variable[0] = self;
6965 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction37].i]) return;
6966 /* Register variable[1]: Method return value and escape marker */
6967 return_label107: while(false);
6968 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction37].i] = 1;
6969 tracehead = trace.prev;
6970 return;
6971 }
6972 void parser___ReduceAction38___action(val_t self, val_t param0) {
6973 struct trace_t trace = {NULL, NULL, 2480, LOCATE_parser___ReduceAction38___action};
6974 val_t variable[19];
6975 struct WBT_ **closurevariable = NULL;
6976 trace.prev = tracehead; tracehead = &trace;
6977 trace.file = LOCATE_parser;
6978 /* Register variable[0]: Local variable */
6979 variable[0] = self;
6980 /* Register variable[1]: Local variable */
6981 variable[1] = param0;
6982 /* Register variable[2]: Method return value and escape marker */
6983 /* Register variable[3]: Local variable */
6984 variable[3] = NIT_NULL /*null*/;
6985 /* Register variable[4]: Local variable */
6986 /* Register variable[5]: Result */
6987 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6988 variable[4] = variable[5];
6989 /* Register variable[5]: Local variable */
6990 /* Register variable[6]: Result */
6991 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6992 variable[5] = variable[6];
6993 /* Register variable[6]: Local variable */
6994 /* Register variable[7]: Result */
6995 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
6996 variable[6] = variable[7];
6997 /* Register variable[7]: Local variable */
6998 /* Register variable[8]: Result */
6999 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7000 variable[7] = variable[8];
7001 /* Register variable[8]: Local variable */
7002 /* Register variable[9]: Result */
7003 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7004 variable[8] = variable[9];
7005 /* Register variable[9]: Local variable */
7006 /* Register variable[10]: Result */
7007 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7008 variable[9] = variable[10];
7009 /* Register variable[10]: Local variable */
7010 /* Register variable[11]: Result */
7011 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7012 variable[10] = variable[11];
7013 /* Register variable[11]: Local variable */
7014 variable[11] = variable[8] /*nodearraylist1*/;
7015 /* Register variable[12]: Result */
7016 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
7017 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2491); nit_exit(1);}
7018 /* Register variable[12]: Local variable */
7019 variable[12] = variable[7] /*nodearraylist2*/;
7020 /* Register variable[13]: Result */
7021 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7022 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2493); nit_exit(1);}
7023 /* Register variable[13]: Result */
7024 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::==*/)))))));
7025 if (UNTAG_Bool(variable[13])) { /*if*/
7026 /* Register variable[13]: Result */
7027 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
7028 if (UNTAG_Bool(variable[13])) { /*if*/
7029 variable[9] = variable[12] /*listnode3*/ /*listnode4=*/;
7030 } else { /*if*/
7031 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
7032 }
7033 }
7034 /* Register variable[13]: Local variable */
7035 /* Register variable[14]: Result */
7036 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7037 variable[13] = variable[14];
7038 /* Register variable[14]: Local variable */
7039 variable[14] = variable[6] /*nodearraylist3*/;
7040 /* Register variable[15]: Result */
7041 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7042 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2503); nit_exit(1);}
7043 /* Register variable[15]: Result */
7044 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::==*/)))))));
7045 if (UNTAG_Bool(variable[15])) { /*if*/
7046 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
7047 }
7048 /* Register variable[15]: Local variable */
7049 /* Register variable[16]: Result */
7050 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/) /*new ATopClassdef*/;
7051 variable[15] = variable[16];
7052 /* Register variable[16]: Local variable */
7053 variable[16] = variable[4] /*nodearraylist5*/;
7054 /* Register variable[17]: Result */
7055 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7056 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction38___action, LOCATE_parser, 2511); nit_exit(1);}
7057 /* Register variable[17]: Result */
7058 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::==*/)))))));
7059 if (UNTAG_Bool(variable[17])) { /*if*/
7060 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
7061 }
7062 /* Register variable[17]: Result */
7063 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::==*/)))))));
7064 if (UNTAG_Bool(variable[17])) { /*if*/
7065 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
7066 }
7067 /* Register variable[17]: Local variable */
7068 /* Register variable[18]: Result */
7069 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode4*/, variable[10] /*listnode9*/) /*new AModule*/;
7070 variable[17] = variable[18];
7071 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
7072 /* Register variable[18]: Result */
7073 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7074 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
7075 return_label108: while(false);
7076 tracehead = trace.prev;
7077 return;
7078 }
7079 void parser___ReduceAction38___init(val_t self, int* init_table) {
7080 struct trace_t trace = {NULL, NULL, 2526, LOCATE_parser___ReduceAction38___init};
7081 val_t variable[2];
7082 struct WBT_ **closurevariable = NULL;
7083 trace.prev = tracehead; tracehead = &trace;
7084 trace.file = LOCATE_parser;
7085 /* Register variable[0]: Local variable */
7086 variable[0] = self;
7087 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction38].i]) return;
7088 /* Register variable[1]: Method return value and escape marker */
7089 return_label109: while(false);
7090 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction38].i] = 1;
7091 tracehead = trace.prev;
7092 return;
7093 }
7094 void parser___ReduceAction39___action(val_t self, val_t param0) {
7095 struct trace_t trace = {NULL, NULL, 2530, LOCATE_parser___ReduceAction39___action};
7096 val_t variable[21];
7097 struct WBT_ **closurevariable = NULL;
7098 trace.prev = tracehead; tracehead = &trace;
7099 trace.file = LOCATE_parser;
7100 /* Register variable[0]: Local variable */
7101 variable[0] = self;
7102 /* Register variable[1]: Local variable */
7103 variable[1] = param0;
7104 /* Register variable[2]: Method return value and escape marker */
7105 /* Register variable[3]: Local variable */
7106 variable[3] = NIT_NULL /*null*/;
7107 /* Register variable[4]: Local variable */
7108 /* Register variable[5]: Result */
7109 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7110 variable[4] = variable[5];
7111 /* Register variable[5]: Local variable */
7112 /* Register variable[6]: Result */
7113 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7114 variable[5] = variable[6];
7115 /* Register variable[6]: Local variable */
7116 /* Register variable[7]: Result */
7117 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7118 variable[6] = variable[7];
7119 /* Register variable[7]: Local variable */
7120 /* Register variable[8]: Result */
7121 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7122 variable[7] = variable[8];
7123 /* Register variable[8]: Local variable */
7124 /* Register variable[9]: Result */
7125 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7126 variable[8] = variable[9];
7127 /* Register variable[9]: Local variable */
7128 /* Register variable[10]: Result */
7129 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7130 variable[9] = variable[10];
7131 /* Register variable[10]: Local variable */
7132 /* Register variable[11]: Result */
7133 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7134 variable[10] = variable[11];
7135 /* Register variable[11]: Local variable */
7136 /* Register variable[12]: Result */
7137 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7138 variable[11] = variable[12];
7139 /* Register variable[12]: Local variable */
7140 variable[12] = variable[9] /*nodearraylist1*/;
7141 /* Register variable[13]: Result */
7142 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
7143 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2542); nit_exit(1);}
7144 /* Register variable[13]: Local variable */
7145 variable[13] = variable[8] /*nodearraylist2*/;
7146 /* Register variable[14]: Result */
7147 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7148 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2544); nit_exit(1);}
7149 /* Register variable[14]: Result */
7150 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::==*/)))))));
7151 if (UNTAG_Bool(variable[14])) { /*if*/
7152 /* Register variable[14]: Result */
7153 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
7154 if (UNTAG_Bool(variable[14])) { /*if*/
7155 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
7156 } else { /*if*/
7157 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
7158 }
7159 }
7160 /* Register variable[14]: Local variable */
7161 /* Register variable[15]: Result */
7162 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7163 variable[14] = variable[15];
7164 /* Register variable[15]: Local variable */
7165 variable[15] = variable[7] /*nodearraylist3*/;
7166 /* Register variable[16]: Result */
7167 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7168 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2554); nit_exit(1);}
7169 /* Register variable[16]: Local variable */
7170 variable[16] = variable[5] /*nodearraylist5*/;
7171 /* Register variable[17]: Result */
7172 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7173 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2556); nit_exit(1);}
7174 /* Register variable[17]: Result */
7175 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::==*/)))))));
7176 if (UNTAG_Bool(variable[17])) { /*if*/
7177 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
7178 }
7179 /* Register variable[17]: Result */
7180 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::==*/)))))));
7181 if (UNTAG_Bool(variable[17])) { /*if*/
7182 /* Register variable[17]: Result */
7183 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
7184 if (UNTAG_Bool(variable[17])) { /*if*/
7185 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
7186 } else { /*if*/
7187 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
7188 }
7189 }
7190 /* Register variable[17]: Local variable */
7191 /* Register variable[18]: Result */
7192 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/) /*new ATopClassdef*/;
7193 variable[17] = variable[18];
7194 /* Register variable[18]: Local variable */
7195 variable[18] = variable[4] /*nodearraylist6*/;
7196 /* Register variable[19]: Result */
7197 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7198 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction39___action, LOCATE_parser, 2571); nit_exit(1);}
7199 /* Register variable[19]: Result */
7200 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::==*/)))))));
7201 if (UNTAG_Bool(variable[19])) { /*if*/
7202 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
7203 }
7204 /* Register variable[19]: Result */
7205 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::==*/)))))));
7206 if (UNTAG_Bool(variable[19])) { /*if*/
7207 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
7208 }
7209 /* Register variable[19]: Local variable */
7210 /* Register variable[20]: Result */
7211 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/) /*new AModule*/;
7212 variable[19] = variable[20];
7213 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
7214 /* Register variable[20]: Result */
7215 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7216 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
7217 return_label110: while(false);
7218 tracehead = trace.prev;
7219 return;
7220 }
7221 void parser___ReduceAction39___init(val_t self, int* init_table) {
7222 struct trace_t trace = {NULL, NULL, 2586, LOCATE_parser___ReduceAction39___init};
7223 val_t variable[2];
7224 struct WBT_ **closurevariable = NULL;
7225 trace.prev = tracehead; tracehead = &trace;
7226 trace.file = LOCATE_parser;
7227 /* Register variable[0]: Local variable */
7228 variable[0] = self;
7229 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction39].i]) return;
7230 /* Register variable[1]: Method return value and escape marker */
7231 return_label111: while(false);
7232 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction39].i] = 1;
7233 tracehead = trace.prev;
7234 return;
7235 }
7236 void parser___ReduceAction40___action(val_t self, val_t param0) {
7237 struct trace_t trace = {NULL, NULL, 2590, LOCATE_parser___ReduceAction40___action};
7238 val_t variable[17];
7239 struct WBT_ **closurevariable = NULL;
7240 trace.prev = tracehead; tracehead = &trace;
7241 trace.file = LOCATE_parser;
7242 /* Register variable[0]: Local variable */
7243 variable[0] = self;
7244 /* Register variable[1]: Local variable */
7245 variable[1] = param0;
7246 /* Register variable[2]: Method return value and escape marker */
7247 /* Register variable[3]: Local variable */
7248 variable[3] = NIT_NULL /*null*/;
7249 /* Register variable[4]: Local variable */
7250 /* Register variable[5]: Result */
7251 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7252 variable[4] = variable[5];
7253 /* Register variable[5]: Local variable */
7254 /* Register variable[6]: Result */
7255 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7256 variable[5] = variable[6];
7257 /* Register variable[6]: Local variable */
7258 /* Register variable[7]: Result */
7259 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7260 variable[6] = variable[7];
7261 /* Register variable[7]: Local variable */
7262 /* Register variable[8]: Result */
7263 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7264 variable[7] = variable[8];
7265 /* Register variable[8]: Local variable */
7266 /* Register variable[9]: Result */
7267 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7268 variable[8] = variable[9];
7269 /* Register variable[9]: Local variable */
7270 /* Register variable[10]: Result */
7271 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7272 variable[9] = variable[10];
7273 /* Register variable[10]: Local variable */
7274 variable[10] = variable[7] /*nodearraylist1*/;
7275 /* Register variable[11]: Result */
7276 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7277 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2600); nit_exit(1);}
7278 /* Register variable[11]: Local variable */
7279 /* Register variable[12]: Result */
7280 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7281 variable[11] = variable[12];
7282 /* Register variable[12]: Local variable */
7283 variable[12] = variable[6] /*nodearraylist2*/;
7284 /* Register variable[13]: Result */
7285 variable[13] = TAG_Bool(( variable[12] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7286 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2603); nit_exit(1);}
7287 /* Register variable[13]: Result */
7288 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::==*/)))))));
7289 if (UNTAG_Bool(variable[13])) { /*if*/
7290 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[12] /*ppropdefnode6*/) /*AbstractArray::add*/;
7291 }
7292 /* Register variable[13]: Local variable */
7293 /* Register variable[14]: Result */
7294 variable[14] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[11] /*listnode7*/) /*new ATopClassdef*/;
7295 variable[13] = variable[14];
7296 /* Register variable[14]: Local variable */
7297 variable[14] = variable[4] /*nodearraylist4*/;
7298 /* Register variable[15]: Result */
7299 variable[15] = TAG_Bool(( variable[14] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7300 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction40___action, LOCATE_parser, 2611); nit_exit(1);}
7301 /* Register variable[15]: Result */
7302 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::==*/)))))));
7303 if (UNTAG_Bool(variable[15])) { /*if*/
7304 /* Register variable[15]: Result */
7305 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode9*/)( variable[9] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
7306 if (UNTAG_Bool(variable[15])) { /*if*/
7307 variable[9] = variable[10] /*listnode4*/ /*listnode9=*/;
7308 } else { /*if*/
7309 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
7310 }
7311 }
7312 /* Register variable[15]: Result */
7313 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::==*/)))))));
7314 if (UNTAG_Bool(variable[15])) { /*if*/
7315 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[13] /*pclassdefnode5*/) /*AbstractArray::add*/;
7316 }
7317 /* Register variable[15]: Result */
7318 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::==*/)))))));
7319 if (UNTAG_Bool(variable[15])) { /*if*/
7320 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode9*/)( variable[9] /*listnode9*/, variable[14] /*pclassdefnode8*/) /*AbstractArray::add*/;
7321 }
7322 /* Register variable[15]: Local variable */
7323 /* Register variable[16]: Result */
7324 variable[16] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[8] /*listnode3*/, variable[9] /*listnode9*/) /*new AModule*/;
7325 variable[15] = variable[16];
7326 variable[3] = variable[15] /*pmodulenode1*/ /*node_list=*/;
7327 /* Register variable[16]: Result */
7328 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7329 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
7330 return_label112: while(false);
7331 tracehead = trace.prev;
7332 return;
7333 }
7334 void parser___ReduceAction40___init(val_t self, int* init_table) {
7335 struct trace_t trace = {NULL, NULL, 2633, LOCATE_parser___ReduceAction40___init};
7336 val_t variable[2];
7337 struct WBT_ **closurevariable = NULL;
7338 trace.prev = tracehead; tracehead = &trace;
7339 trace.file = LOCATE_parser;
7340 /* Register variable[0]: Local variable */
7341 variable[0] = self;
7342 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction40].i]) return;
7343 /* Register variable[1]: Method return value and escape marker */
7344 return_label113: while(false);
7345 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction40].i] = 1;
7346 tracehead = trace.prev;
7347 return;
7348 }
7349 void parser___ReduceAction41___action(val_t self, val_t param0) {
7350 struct trace_t trace = {NULL, NULL, 2637, LOCATE_parser___ReduceAction41___action};
7351 val_t variable[19];
7352 struct WBT_ **closurevariable = NULL;
7353 trace.prev = tracehead; tracehead = &trace;
7354 trace.file = LOCATE_parser;
7355 /* Register variable[0]: Local variable */
7356 variable[0] = self;
7357 /* Register variable[1]: Local variable */
7358 variable[1] = param0;
7359 /* Register variable[2]: Method return value and escape marker */
7360 /* Register variable[3]: Local variable */
7361 variable[3] = NIT_NULL /*null*/;
7362 /* Register variable[4]: Local variable */
7363 /* Register variable[5]: Result */
7364 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7365 variable[4] = variable[5];
7366 /* Register variable[5]: Local variable */
7367 /* Register variable[6]: Result */
7368 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7369 variable[5] = variable[6];
7370 /* Register variable[6]: Local variable */
7371 /* Register variable[7]: Result */
7372 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7373 variable[6] = variable[7];
7374 /* Register variable[7]: Local variable */
7375 /* Register variable[8]: Result */
7376 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7377 variable[7] = variable[8];
7378 /* Register variable[8]: Local variable */
7379 /* Register variable[9]: Result */
7380 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7381 variable[8] = variable[9];
7382 /* Register variable[9]: Local variable */
7383 /* Register variable[10]: Result */
7384 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7385 variable[9] = variable[10];
7386 /* Register variable[10]: Local variable */
7387 /* Register variable[11]: Result */
7388 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7389 variable[10] = variable[11];
7390 /* Register variable[11]: Local variable */
7391 variable[11] = variable[8] /*nodearraylist1*/;
7392 /* Register variable[12]: Result */
7393 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7394 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2648); nit_exit(1);}
7395 /* Register variable[12]: Local variable */
7396 /* Register variable[13]: Result */
7397 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7398 variable[12] = variable[13];
7399 /* Register variable[13]: Local variable */
7400 variable[13] = variable[7] /*nodearraylist2*/;
7401 /* Register variable[14]: Result */
7402 variable[14] = TAG_Bool(( variable[13] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7403 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2651); nit_exit(1);}
7404 /* Register variable[14]: Local variable */
7405 variable[14] = variable[5] /*nodearraylist4*/;
7406 /* Register variable[15]: Result */
7407 variable[15] = TAG_Bool(( variable[14] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7408 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2653); nit_exit(1);}
7409 /* Register variable[15]: Result */
7410 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::==*/)))))));
7411 if (UNTAG_Bool(variable[15])) { /*if*/
7412 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[13] /*ppropdefnode6*/) /*AbstractArray::add*/;
7413 }
7414 /* Register variable[15]: Result */
7415 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::==*/)))))));
7416 if (UNTAG_Bool(variable[15])) { /*if*/
7417 /* Register variable[15]: Result */
7418 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
7419 if (UNTAG_Bool(variable[15])) { /*if*/
7420 variable[12] = variable[14] /*listnode7*/ /*listnode8=*/;
7421 } else { /*if*/
7422 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[14] /*listnode7*/) /*IndexedCollection::append*/;
7423 }
7424 }
7425 /* Register variable[15]: Local variable */
7426 /* Register variable[16]: Result */
7427 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[12] /*listnode8*/) /*new ATopClassdef*/;
7428 variable[15] = variable[16];
7429 /* Register variable[16]: Local variable */
7430 variable[16] = variable[4] /*nodearraylist5*/;
7431 /* Register variable[17]: Result */
7432 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7433 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction41___action, LOCATE_parser, 2668); nit_exit(1);}
7434 /* Register variable[17]: Result */
7435 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::==*/)))))));
7436 if (UNTAG_Bool(variable[17])) { /*if*/
7437 /* Register variable[17]: Result */
7438 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
7439 if (UNTAG_Bool(variable[17])) { /*if*/
7440 variable[10] = variable[11] /*listnode4*/ /*listnode10=*/;
7441 } else { /*if*/
7442 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
7443 }
7444 }
7445 /* Register variable[17]: Result */
7446 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::==*/)))))));
7447 if (UNTAG_Bool(variable[17])) { /*if*/
7448 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
7449 }
7450 /* Register variable[17]: Result */
7451 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::==*/)))))));
7452 if (UNTAG_Bool(variable[17])) { /*if*/
7453 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
7454 }
7455 /* Register variable[17]: Local variable */
7456 /* Register variable[18]: Result */
7457 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode3*/, variable[10] /*listnode10*/) /*new AModule*/;
7458 variable[17] = variable[18];
7459 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
7460 /* Register variable[18]: Result */
7461 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7462 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
7463 return_label114: while(false);
7464 tracehead = trace.prev;
7465 return;
7466 }
7467 void parser___ReduceAction41___init(val_t self, int* init_table) {
7468 struct trace_t trace = {NULL, NULL, 2690, LOCATE_parser___ReduceAction41___init};
7469 val_t variable[2];
7470 struct WBT_ **closurevariable = NULL;
7471 trace.prev = tracehead; tracehead = &trace;
7472 trace.file = LOCATE_parser;
7473 /* Register variable[0]: Local variable */
7474 variable[0] = self;
7475 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction41].i]) return;
7476 /* Register variable[1]: Method return value and escape marker */
7477 return_label115: while(false);
7478 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction41].i] = 1;
7479 tracehead = trace.prev;
7480 return;
7481 }
7482 void parser___ReduceAction42___action(val_t self, val_t param0) {
7483 struct trace_t trace = {NULL, NULL, 2694, LOCATE_parser___ReduceAction42___action};
7484 val_t variable[19];
7485 struct WBT_ **closurevariable = NULL;
7486 trace.prev = tracehead; tracehead = &trace;
7487 trace.file = LOCATE_parser;
7488 /* Register variable[0]: Local variable */
7489 variable[0] = self;
7490 /* Register variable[1]: Local variable */
7491 variable[1] = param0;
7492 /* Register variable[2]: Method return value and escape marker */
7493 /* Register variable[3]: Local variable */
7494 variable[3] = NIT_NULL /*null*/;
7495 /* Register variable[4]: Local variable */
7496 /* Register variable[5]: Result */
7497 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7498 variable[4] = variable[5];
7499 /* Register variable[5]: Local variable */
7500 /* Register variable[6]: Result */
7501 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7502 variable[5] = variable[6];
7503 /* Register variable[6]: Local variable */
7504 /* Register variable[7]: Result */
7505 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7506 variable[6] = variable[7];
7507 /* Register variable[7]: Local variable */
7508 /* Register variable[8]: Result */
7509 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7510 variable[7] = variable[8];
7511 /* Register variable[8]: Local variable */
7512 /* Register variable[9]: Result */
7513 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7514 variable[8] = variable[9];
7515 /* Register variable[9]: Local variable */
7516 /* Register variable[10]: Result */
7517 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7518 variable[9] = variable[10];
7519 /* Register variable[10]: Local variable */
7520 /* Register variable[11]: Result */
7521 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7522 variable[10] = variable[11];
7523 /* Register variable[11]: Local variable */
7524 variable[11] = variable[8] /*nodearraylist1*/;
7525 /* Register variable[12]: Result */
7526 variable[12] = TAG_Bool(( variable[11] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
7527 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2705); nit_exit(1);}
7528 /* Register variable[12]: Local variable */
7529 variable[12] = variable[7] /*nodearraylist2*/;
7530 /* Register variable[13]: Result */
7531 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7532 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2707); nit_exit(1);}
7533 /* Register variable[13]: Local variable */
7534 /* Register variable[14]: Result */
7535 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7536 variable[13] = variable[14];
7537 /* Register variable[14]: Local variable */
7538 variable[14] = variable[6] /*nodearraylist3*/;
7539 /* Register variable[15]: Result */
7540 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7541 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2710); nit_exit(1);}
7542 /* Register variable[15]: Result */
7543 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::==*/)))))));
7544 if (UNTAG_Bool(variable[15])) { /*if*/
7545 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode7*/)( variable[13] /*listnode7*/, variable[14] /*ppropdefnode6*/) /*AbstractArray::add*/;
7546 }
7547 /* Register variable[15]: Local variable */
7548 /* Register variable[16]: Result */
7549 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode7*/) /*new ATopClassdef*/;
7550 variable[15] = variable[16];
7551 /* Register variable[16]: Local variable */
7552 variable[16] = variable[4] /*nodearraylist5*/;
7553 /* Register variable[17]: Result */
7554 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode8*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7555 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction42___action, LOCATE_parser, 2718); nit_exit(1);}
7556 /* Register variable[17]: Result */
7557 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::==*/)))))));
7558 if (UNTAG_Bool(variable[17])) { /*if*/
7559 /* Register variable[17]: Result */
7560 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode9*/)( variable[10] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
7561 if (UNTAG_Bool(variable[17])) { /*if*/
7562 variable[10] = variable[12] /*listnode4*/ /*listnode9=*/;
7563 } else { /*if*/
7564 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
7565 }
7566 }
7567 /* Register variable[17]: Result */
7568 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::==*/)))))));
7569 if (UNTAG_Bool(variable[17])) { /*if*/
7570 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[15] /*pclassdefnode5*/) /*AbstractArray::add*/;
7571 }
7572 /* Register variable[17]: Result */
7573 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::==*/)))))));
7574 if (UNTAG_Bool(variable[17])) { /*if*/
7575 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode9*/)( variable[10] /*listnode9*/, variable[16] /*pclassdefnode8*/) /*AbstractArray::add*/;
7576 }
7577 /* Register variable[17]: Local variable */
7578 /* Register variable[18]: Result */
7579 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( variable[11] /*ppackagedeclnode2*/, variable[9] /*listnode3*/, variable[10] /*listnode9*/) /*new AModule*/;
7580 variable[17] = variable[18];
7581 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
7582 /* Register variable[18]: Result */
7583 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7584 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
7585 return_label116: while(false);
7586 tracehead = trace.prev;
7587 return;
7588 }
7589 void parser___ReduceAction42___init(val_t self, int* init_table) {
7590 struct trace_t trace = {NULL, NULL, 2740, LOCATE_parser___ReduceAction42___init};
7591 val_t variable[2];
7592 struct WBT_ **closurevariable = NULL;
7593 trace.prev = tracehead; tracehead = &trace;
7594 trace.file = LOCATE_parser;
7595 /* Register variable[0]: Local variable */
7596 variable[0] = self;
7597 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction42].i]) return;
7598 /* Register variable[1]: Method return value and escape marker */
7599 return_label117: while(false);
7600 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction42].i] = 1;
7601 tracehead = trace.prev;
7602 return;
7603 }
7604 void parser___ReduceAction43___action(val_t self, val_t param0) {
7605 struct trace_t trace = {NULL, NULL, 2744, LOCATE_parser___ReduceAction43___action};
7606 val_t variable[21];
7607 struct WBT_ **closurevariable = NULL;
7608 trace.prev = tracehead; tracehead = &trace;
7609 trace.file = LOCATE_parser;
7610 /* Register variable[0]: Local variable */
7611 variable[0] = self;
7612 /* Register variable[1]: Local variable */
7613 variable[1] = param0;
7614 /* Register variable[2]: Method return value and escape marker */
7615 /* Register variable[3]: Local variable */
7616 variable[3] = NIT_NULL /*null*/;
7617 /* Register variable[4]: Local variable */
7618 /* Register variable[5]: Result */
7619 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7620 variable[4] = variable[5];
7621 /* Register variable[5]: Local variable */
7622 /* Register variable[6]: Result */
7623 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7624 variable[5] = variable[6];
7625 /* Register variable[6]: Local variable */
7626 /* Register variable[7]: Result */
7627 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7628 variable[6] = variable[7];
7629 /* Register variable[7]: Local variable */
7630 /* Register variable[8]: Result */
7631 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7632 variable[7] = variable[8];
7633 /* Register variable[8]: Local variable */
7634 /* Register variable[9]: Result */
7635 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7636 variable[8] = variable[9];
7637 /* Register variable[9]: Local variable */
7638 /* Register variable[10]: Result */
7639 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7640 variable[9] = variable[10];
7641 /* Register variable[10]: Local variable */
7642 /* Register variable[11]: Result */
7643 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7644 variable[10] = variable[11];
7645 /* Register variable[11]: Local variable */
7646 /* Register variable[12]: Result */
7647 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7648 variable[11] = variable[12];
7649 /* Register variable[12]: Local variable */
7650 variable[12] = variable[9] /*nodearraylist1*/;
7651 /* Register variable[13]: Result */
7652 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
7653 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2756); nit_exit(1);}
7654 /* Register variable[13]: Local variable */
7655 variable[13] = variable[8] /*nodearraylist2*/;
7656 /* Register variable[14]: Result */
7657 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7658 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2758); nit_exit(1);}
7659 /* Register variable[14]: Local variable */
7660 /* Register variable[15]: Result */
7661 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7662 variable[14] = variable[15];
7663 /* Register variable[15]: Local variable */
7664 variable[15] = variable[7] /*nodearraylist3*/;
7665 /* Register variable[16]: Result */
7666 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode6*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7667 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2761); nit_exit(1);}
7668 /* Register variable[16]: Local variable */
7669 variable[16] = variable[5] /*nodearraylist5*/;
7670 /* Register variable[17]: Result */
7671 variable[17] = TAG_Bool(( variable[16] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7672 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2763); nit_exit(1);}
7673 /* Register variable[17]: Result */
7674 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::==*/)))))));
7675 if (UNTAG_Bool(variable[17])) { /*if*/
7676 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*ppropdefnode6*/) /*AbstractArray::add*/;
7677 }
7678 /* Register variable[17]: Result */
7679 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::==*/)))))));
7680 if (UNTAG_Bool(variable[17])) { /*if*/
7681 /* Register variable[17]: Result */
7682 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
7683 if (UNTAG_Bool(variable[17])) { /*if*/
7684 variable[14] = variable[16] /*listnode7*/ /*listnode8=*/;
7685 } else { /*if*/
7686 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[16] /*listnode7*/) /*IndexedCollection::append*/;
7687 }
7688 }
7689 /* Register variable[17]: Local variable */
7690 /* Register variable[18]: Result */
7691 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode8*/) /*new ATopClassdef*/;
7692 variable[17] = variable[18];
7693 /* Register variable[18]: Local variable */
7694 variable[18] = variable[4] /*nodearraylist6*/;
7695 /* Register variable[19]: Result */
7696 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7697 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction43___action, LOCATE_parser, 2778); nit_exit(1);}
7698 /* Register variable[19]: Result */
7699 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::==*/)))))));
7700 if (UNTAG_Bool(variable[19])) { /*if*/
7701 /* Register variable[19]: Result */
7702 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
7703 if (UNTAG_Bool(variable[19])) { /*if*/
7704 variable[11] = variable[13] /*listnode4*/ /*listnode10=*/;
7705 } else { /*if*/
7706 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
7707 }
7708 }
7709 /* Register variable[19]: Result */
7710 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::==*/)))))));
7711 if (UNTAG_Bool(variable[19])) { /*if*/
7712 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode5*/) /*AbstractArray::add*/;
7713 }
7714 /* Register variable[19]: Result */
7715 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::==*/)))))));
7716 if (UNTAG_Bool(variable[19])) { /*if*/
7717 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
7718 }
7719 /* Register variable[19]: Local variable */
7720 /* Register variable[20]: Result */
7721 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode3*/, variable[11] /*listnode10*/) /*new AModule*/;
7722 variable[19] = variable[20];
7723 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
7724 /* Register variable[20]: Result */
7725 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7726 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
7727 return_label118: while(false);
7728 tracehead = trace.prev;
7729 return;
7730 }
7731 void parser___ReduceAction43___init(val_t self, int* init_table) {
7732 struct trace_t trace = {NULL, NULL, 2800, LOCATE_parser___ReduceAction43___init};
7733 val_t variable[2];
7734 struct WBT_ **closurevariable = NULL;
7735 trace.prev = tracehead; tracehead = &trace;
7736 trace.file = LOCATE_parser;
7737 /* Register variable[0]: Local variable */
7738 variable[0] = self;
7739 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction43].i]) return;
7740 /* Register variable[1]: Method return value and escape marker */
7741 return_label119: while(false);
7742 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction43].i] = 1;
7743 tracehead = trace.prev;
7744 return;
7745 }
7746 void parser___ReduceAction44___action(val_t self, val_t param0) {
7747 struct trace_t trace = {NULL, NULL, 2804, LOCATE_parser___ReduceAction44___action};
7748 val_t variable[19];
7749 struct WBT_ **closurevariable = NULL;
7750 trace.prev = tracehead; tracehead = &trace;
7751 trace.file = LOCATE_parser;
7752 /* Register variable[0]: Local variable */
7753 variable[0] = self;
7754 /* Register variable[1]: Local variable */
7755 variable[1] = param0;
7756 /* Register variable[2]: Method return value and escape marker */
7757 /* Register variable[3]: Local variable */
7758 variable[3] = NIT_NULL /*null*/;
7759 /* Register variable[4]: Local variable */
7760 /* Register variable[5]: Result */
7761 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7762 variable[4] = variable[5];
7763 /* Register variable[5]: Local variable */
7764 /* Register variable[6]: Result */
7765 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7766 variable[5] = variable[6];
7767 /* Register variable[6]: Local variable */
7768 /* Register variable[7]: Result */
7769 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7770 variable[6] = variable[7];
7771 /* Register variable[7]: Local variable */
7772 /* Register variable[8]: Result */
7773 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7774 variable[7] = variable[8];
7775 /* Register variable[8]: Local variable */
7776 /* Register variable[9]: Result */
7777 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7778 variable[8] = variable[9];
7779 /* Register variable[9]: Local variable */
7780 /* Register variable[10]: Result */
7781 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7782 variable[9] = variable[10];
7783 /* Register variable[10]: Local variable */
7784 /* Register variable[11]: Result */
7785 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7786 variable[10] = variable[11];
7787 /* Register variable[11]: Local variable */
7788 variable[11] = variable[8] /*nodearraylist1*/;
7789 /* Register variable[12]: Result */
7790 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7791 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2815); nit_exit(1);}
7792 /* Register variable[12]: Result */
7793 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::==*/)))))));
7794 if (UNTAG_Bool(variable[12])) { /*if*/
7795 /* Register variable[12]: Result */
7796 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
7797 if (UNTAG_Bool(variable[12])) { /*if*/
7798 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
7799 } else { /*if*/
7800 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
7801 }
7802 }
7803 /* Register variable[12]: Local variable */
7804 variable[12] = variable[7] /*nodearraylist2*/;
7805 /* Register variable[13]: Result */
7806 variable[13] = TAG_Bool(( variable[12] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7807 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2824); nit_exit(1);}
7808 /* Register variable[13]: Local variable */
7809 /* Register variable[14]: Result */
7810 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7811 variable[13] = variable[14];
7812 /* Register variable[14]: Local variable */
7813 variable[14] = variable[6] /*nodearraylist3*/;
7814 /* Register variable[15]: Result */
7815 variable[15] = TAG_Bool(( variable[14] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7816 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2827); nit_exit(1);}
7817 /* Register variable[15]: Result */
7818 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::==*/)))))));
7819 if (UNTAG_Bool(variable[15])) { /*if*/
7820 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*ppropdefnode7*/) /*AbstractArray::add*/;
7821 }
7822 /* Register variable[15]: Local variable */
7823 /* Register variable[16]: Result */
7824 variable[16] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[13] /*listnode8*/) /*new ATopClassdef*/;
7825 variable[15] = variable[16];
7826 /* Register variable[16]: Local variable */
7827 variable[16] = variable[4] /*nodearraylist5*/;
7828 /* Register variable[17]: Result */
7829 variable[17] = TAG_Bool(( variable[16] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7830 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction44___action, LOCATE_parser, 2835); nit_exit(1);}
7831 /* Register variable[17]: Result */
7832 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::==*/)))))));
7833 if (UNTAG_Bool(variable[17])) { /*if*/
7834 /* Register variable[17]: Result */
7835 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode10*/)( variable[10] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
7836 if (UNTAG_Bool(variable[17])) { /*if*/
7837 variable[10] = variable[12] /*listnode5*/ /*listnode10=*/;
7838 } else { /*if*/
7839 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[12] /*listnode5*/) /*IndexedCollection::append*/;
7840 }
7841 }
7842 /* Register variable[17]: Result */
7843 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::==*/)))))));
7844 if (UNTAG_Bool(variable[17])) { /*if*/
7845 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[15] /*pclassdefnode6*/) /*AbstractArray::add*/;
7846 }
7847 /* Register variable[17]: Result */
7848 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::==*/)))))));
7849 if (UNTAG_Bool(variable[17])) { /*if*/
7850 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode10*/)( variable[10] /*listnode10*/, variable[16] /*pclassdefnode9*/) /*AbstractArray::add*/;
7851 }
7852 /* Register variable[17]: Local variable */
7853 /* Register variable[18]: Result */
7854 variable[18] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[9] /*listnode4*/, variable[10] /*listnode10*/) /*new AModule*/;
7855 variable[17] = variable[18];
7856 variable[3] = variable[17] /*pmodulenode1*/ /*node_list=*/;
7857 /* Register variable[18]: Result */
7858 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
7859 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
7860 return_label120: while(false);
7861 tracehead = trace.prev;
7862 return;
7863 }
7864 void parser___ReduceAction44___init(val_t self, int* init_table) {
7865 struct trace_t trace = {NULL, NULL, 2857, LOCATE_parser___ReduceAction44___init};
7866 val_t variable[2];
7867 struct WBT_ **closurevariable = NULL;
7868 trace.prev = tracehead; tracehead = &trace;
7869 trace.file = LOCATE_parser;
7870 /* Register variable[0]: Local variable */
7871 variable[0] = self;
7872 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction44].i]) return;
7873 /* Register variable[1]: Method return value and escape marker */
7874 return_label121: while(false);
7875 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction44].i] = 1;
7876 tracehead = trace.prev;
7877 return;
7878 }
7879 void parser___ReduceAction45___action(val_t self, val_t param0) {
7880 struct trace_t trace = {NULL, NULL, 2861, LOCATE_parser___ReduceAction45___action};
7881 val_t variable[21];
7882 struct WBT_ **closurevariable = NULL;
7883 trace.prev = tracehead; tracehead = &trace;
7884 trace.file = LOCATE_parser;
7885 /* Register variable[0]: Local variable */
7886 variable[0] = self;
7887 /* Register variable[1]: Local variable */
7888 variable[1] = param0;
7889 /* Register variable[2]: Method return value and escape marker */
7890 /* Register variable[3]: Local variable */
7891 variable[3] = NIT_NULL /*null*/;
7892 /* Register variable[4]: Local variable */
7893 /* Register variable[5]: Result */
7894 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7895 variable[4] = variable[5];
7896 /* Register variable[5]: Local variable */
7897 /* Register variable[6]: Result */
7898 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7899 variable[5] = variable[6];
7900 /* Register variable[6]: Local variable */
7901 /* Register variable[7]: Result */
7902 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7903 variable[6] = variable[7];
7904 /* Register variable[7]: Local variable */
7905 /* Register variable[8]: Result */
7906 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7907 variable[7] = variable[8];
7908 /* Register variable[8]: Local variable */
7909 /* Register variable[9]: Result */
7910 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7911 variable[8] = variable[9];
7912 /* Register variable[9]: Local variable */
7913 /* Register variable[10]: Result */
7914 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
7915 variable[9] = variable[10];
7916 /* Register variable[10]: Local variable */
7917 /* Register variable[11]: Result */
7918 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7919 variable[10] = variable[11];
7920 /* Register variable[11]: Local variable */
7921 /* Register variable[12]: Result */
7922 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7923 variable[11] = variable[12];
7924 /* Register variable[12]: Local variable */
7925 variable[12] = variable[9] /*nodearraylist1*/;
7926 /* Register variable[13]: Result */
7927 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7928 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2873); nit_exit(1);}
7929 /* Register variable[13]: Result */
7930 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::==*/)))))));
7931 if (UNTAG_Bool(variable[13])) { /*if*/
7932 /* Register variable[13]: Result */
7933 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
7934 if (UNTAG_Bool(variable[13])) { /*if*/
7935 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
7936 } else { /*if*/
7937 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
7938 }
7939 }
7940 /* Register variable[13]: Local variable */
7941 variable[13] = variable[8] /*nodearraylist2*/;
7942 /* Register variable[14]: Result */
7943 variable[14] = TAG_Bool(( variable[13] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7944 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2882); nit_exit(1);}
7945 /* Register variable[14]: Local variable */
7946 /* Register variable[15]: Result */
7947 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
7948 variable[14] = variable[15];
7949 /* Register variable[15]: Local variable */
7950 variable[15] = variable[7] /*nodearraylist3*/;
7951 /* Register variable[16]: Result */
7952 variable[16] = TAG_Bool(( variable[15] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
7953 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2885); nit_exit(1);}
7954 /* Register variable[16]: Local variable */
7955 variable[16] = variable[5] /*nodearraylist5*/;
7956 /* Register variable[17]: Result */
7957 variable[17] = TAG_Bool(( variable[16] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
7958 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2887); nit_exit(1);}
7959 /* Register variable[17]: Result */
7960 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::==*/)))))));
7961 if (UNTAG_Bool(variable[17])) { /*if*/
7962 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[15] /*ppropdefnode7*/) /*AbstractArray::add*/;
7963 }
7964 /* Register variable[17]: Result */
7965 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::==*/)))))));
7966 if (UNTAG_Bool(variable[17])) { /*if*/
7967 /* Register variable[17]: Result */
7968 variable[17] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode9*/)( variable[14] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
7969 if (UNTAG_Bool(variable[17])) { /*if*/
7970 variable[14] = variable[16] /*listnode8*/ /*listnode9=*/;
7971 } else { /*if*/
7972 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[16] /*listnode8*/) /*IndexedCollection::append*/;
7973 }
7974 }
7975 /* Register variable[17]: Local variable */
7976 /* Register variable[18]: Result */
7977 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[14] /*listnode9*/) /*new ATopClassdef*/;
7978 variable[17] = variable[18];
7979 /* Register variable[18]: Local variable */
7980 variable[18] = variable[4] /*nodearraylist6*/;
7981 /* Register variable[19]: Result */
7982 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
7983 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction45___action, LOCATE_parser, 2902); nit_exit(1);}
7984 /* Register variable[19]: Result */
7985 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::==*/)))))));
7986 if (UNTAG_Bool(variable[19])) { /*if*/
7987 /* Register variable[19]: Result */
7988 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode11*/)( variable[11] /*listnode11*/) /*AbstractArrayRead::is_empty*/;
7989 if (UNTAG_Bool(variable[19])) { /*if*/
7990 variable[11] = variable[13] /*listnode5*/ /*listnode11=*/;
7991 } else { /*if*/
7992 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[13] /*listnode5*/) /*IndexedCollection::append*/;
7993 }
7994 }
7995 /* Register variable[19]: Result */
7996 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::==*/)))))));
7997 if (UNTAG_Bool(variable[19])) { /*if*/
7998 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
7999 }
8000 /* Register variable[19]: Result */
8001 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::==*/)))))));
8002 if (UNTAG_Bool(variable[19])) { /*if*/
8003 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode11*/)( variable[11] /*listnode11*/, variable[18] /*pclassdefnode10*/) /*AbstractArray::add*/;
8004 }
8005 /* Register variable[19]: Local variable */
8006 /* Register variable[20]: Result */
8007 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( NIT_NULL /*null*/, variable[10] /*listnode4*/, variable[11] /*listnode11*/) /*new AModule*/;
8008 variable[19] = variable[20];
8009 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
8010 /* Register variable[20]: Result */
8011 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
8012 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
8013 return_label122: while(false);
8014 tracehead = trace.prev;
8015 return;
8016 }
8017 void parser___ReduceAction45___init(val_t self, int* init_table) {
8018 struct trace_t trace = {NULL, NULL, 2924, LOCATE_parser___ReduceAction45___init};
8019 val_t variable[2];
8020 struct WBT_ **closurevariable = NULL;
8021 trace.prev = tracehead; tracehead = &trace;
8022 trace.file = LOCATE_parser;
8023 /* Register variable[0]: Local variable */
8024 variable[0] = self;
8025 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction45].i]) return;
8026 /* Register variable[1]: Method return value and escape marker */
8027 return_label123: while(false);
8028 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction45].i] = 1;
8029 tracehead = trace.prev;
8030 return;
8031 }
8032 void parser___ReduceAction46___action(val_t self, val_t param0) {
8033 struct trace_t trace = {NULL, NULL, 2928, LOCATE_parser___ReduceAction46___action};
8034 val_t variable[21];
8035 struct WBT_ **closurevariable = NULL;
8036 trace.prev = tracehead; tracehead = &trace;
8037 trace.file = LOCATE_parser;
8038 /* Register variable[0]: Local variable */
8039 variable[0] = self;
8040 /* Register variable[1]: Local variable */
8041 variable[1] = param0;
8042 /* Register variable[2]: Method return value and escape marker */
8043 /* Register variable[3]: Local variable */
8044 variable[3] = NIT_NULL /*null*/;
8045 /* Register variable[4]: Local variable */
8046 /* Register variable[5]: Result */
8047 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8048 variable[4] = variable[5];
8049 /* Register variable[5]: Local variable */
8050 /* Register variable[6]: Result */
8051 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8052 variable[5] = variable[6];
8053 /* Register variable[6]: Local variable */
8054 /* Register variable[7]: Result */
8055 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8056 variable[6] = variable[7];
8057 /* Register variable[7]: Local variable */
8058 /* Register variable[8]: Result */
8059 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8060 variable[7] = variable[8];
8061 /* Register variable[8]: Local variable */
8062 /* Register variable[9]: Result */
8063 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8064 variable[8] = variable[9];
8065 /* Register variable[9]: Local variable */
8066 /* Register variable[10]: Result */
8067 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8068 variable[9] = variable[10];
8069 /* Register variable[10]: Local variable */
8070 /* Register variable[11]: Result */
8071 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8072 variable[10] = variable[11];
8073 /* Register variable[11]: Local variable */
8074 /* Register variable[12]: Result */
8075 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8076 variable[11] = variable[12];
8077 /* Register variable[12]: Local variable */
8078 variable[12] = variable[9] /*nodearraylist1*/;
8079 /* Register variable[13]: Result */
8080 variable[13] = TAG_Bool(( variable[12] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
8081 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2940); nit_exit(1);}
8082 /* Register variable[13]: Local variable */
8083 variable[13] = variable[8] /*nodearraylist2*/;
8084 /* Register variable[14]: Result */
8085 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8086 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2942); nit_exit(1);}
8087 /* Register variable[14]: Result */
8088 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::==*/)))))));
8089 if (UNTAG_Bool(variable[14])) { /*if*/
8090 /* Register variable[14]: Result */
8091 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
8092 if (UNTAG_Bool(variable[14])) { /*if*/
8093 variable[10] = variable[13] /*listnode3*/ /*listnode4=*/;
8094 } else { /*if*/
8095 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
8096 }
8097 }
8098 /* Register variable[14]: Local variable */
8099 variable[14] = variable[7] /*nodearraylist3*/;
8100 /* Register variable[15]: Result */
8101 variable[15] = TAG_Bool(( variable[14] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8102 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2951); nit_exit(1);}
8103 /* Register variable[15]: Local variable */
8104 /* Register variable[16]: Result */
8105 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8106 variable[15] = variable[16];
8107 /* Register variable[16]: Local variable */
8108 variable[16] = variable[6] /*nodearraylist4*/;
8109 /* Register variable[17]: Result */
8110 variable[17] = TAG_Bool(( variable[16] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8111 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2954); nit_exit(1);}
8112 /* Register variable[17]: Result */
8113 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::==*/)))))));
8114 if (UNTAG_Bool(variable[17])) { /*if*/
8115 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[16] /*ppropdefnode7*/) /*AbstractArray::add*/;
8116 }
8117 /* Register variable[17]: Local variable */
8118 /* Register variable[18]: Result */
8119 variable[18] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[15] /*listnode8*/) /*new ATopClassdef*/;
8120 variable[17] = variable[18];
8121 /* Register variable[18]: Local variable */
8122 variable[18] = variable[4] /*nodearraylist6*/;
8123 /* Register variable[19]: Result */
8124 variable[19] = TAG_Bool(( variable[18] /*pclassdefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*pclassdefnode9*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
8125 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction46___action, LOCATE_parser, 2962); nit_exit(1);}
8126 /* Register variable[19]: Result */
8127 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::==*/)))))));
8128 if (UNTAG_Bool(variable[19])) { /*if*/
8129 /* Register variable[19]: Result */
8130 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode10*/)( variable[11] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
8131 if (UNTAG_Bool(variable[19])) { /*if*/
8132 variable[11] = variable[14] /*listnode5*/ /*listnode10=*/;
8133 } else { /*if*/
8134 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[14] /*listnode5*/) /*IndexedCollection::append*/;
8135 }
8136 }
8137 /* Register variable[19]: Result */
8138 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::==*/)))))));
8139 if (UNTAG_Bool(variable[19])) { /*if*/
8140 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[17] /*pclassdefnode6*/) /*AbstractArray::add*/;
8141 }
8142 /* Register variable[19]: Result */
8143 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::==*/)))))));
8144 if (UNTAG_Bool(variable[19])) { /*if*/
8145 CALL_abstract_collection___SimpleCollection___add( variable[11] /*listnode10*/)( variable[11] /*listnode10*/, variable[18] /*pclassdefnode9*/) /*AbstractArray::add*/;
8146 }
8147 /* Register variable[19]: Local variable */
8148 /* Register variable[20]: Result */
8149 variable[20] = NEW_AModule_parser_prod___AModule___init_amodule( variable[12] /*ppackagedeclnode2*/, variable[10] /*listnode4*/, variable[11] /*listnode10*/) /*new AModule*/;
8150 variable[19] = variable[20];
8151 variable[3] = variable[19] /*pmodulenode1*/ /*node_list=*/;
8152 /* Register variable[20]: Result */
8153 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
8154 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
8155 return_label124: while(false);
8156 tracehead = trace.prev;
8157 return;
8158 }
8159 void parser___ReduceAction46___init(val_t self, int* init_table) {
8160 struct trace_t trace = {NULL, NULL, 2984, LOCATE_parser___ReduceAction46___init};
8161 val_t variable[2];
8162 struct WBT_ **closurevariable = NULL;
8163 trace.prev = tracehead; tracehead = &trace;
8164 trace.file = LOCATE_parser;
8165 /* Register variable[0]: Local variable */
8166 variable[0] = self;
8167 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction46].i]) return;
8168 /* Register variable[1]: Method return value and escape marker */
8169 return_label125: while(false);
8170 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction46].i] = 1;
8171 tracehead = trace.prev;
8172 return;
8173 }
8174 void parser___ReduceAction47___action(val_t self, val_t param0) {
8175 struct trace_t trace = {NULL, NULL, 2988, LOCATE_parser___ReduceAction47___action};
8176 val_t variable[23];
8177 struct WBT_ **closurevariable = NULL;
8178 trace.prev = tracehead; tracehead = &trace;
8179 trace.file = LOCATE_parser;
8180 /* Register variable[0]: Local variable */
8181 variable[0] = self;
8182 /* Register variable[1]: Local variable */
8183 variable[1] = param0;
8184 /* Register variable[2]: Method return value and escape marker */
8185 /* Register variable[3]: Local variable */
8186 variable[3] = NIT_NULL /*null*/;
8187 /* Register variable[4]: Local variable */
8188 /* Register variable[5]: Result */
8189 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8190 variable[4] = variable[5];
8191 /* Register variable[5]: Local variable */
8192 /* Register variable[6]: Result */
8193 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8194 variable[5] = variable[6];
8195 /* Register variable[6]: Local variable */
8196 /* Register variable[7]: Result */
8197 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8198 variable[6] = variable[7];
8199 /* Register variable[7]: Local variable */
8200 /* Register variable[8]: Result */
8201 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8202 variable[7] = variable[8];
8203 /* Register variable[8]: Local variable */
8204 /* Register variable[9]: Result */
8205 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8206 variable[8] = variable[9];
8207 /* Register variable[9]: Local variable */
8208 /* Register variable[10]: Result */
8209 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8210 variable[9] = variable[10];
8211 /* Register variable[10]: Local variable */
8212 /* Register variable[11]: Result */
8213 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8214 variable[10] = variable[11];
8215 /* Register variable[11]: Local variable */
8216 /* Register variable[12]: Result */
8217 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8218 variable[11] = variable[12];
8219 /* Register variable[12]: Local variable */
8220 /* Register variable[13]: Result */
8221 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8222 variable[12] = variable[13];
8223 /* Register variable[13]: Local variable */
8224 variable[13] = variable[10] /*nodearraylist1*/;
8225 /* Register variable[14]: Result */
8226 variable[14] = TAG_Bool(( variable[13] /*ppackagedeclnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*ppackagedeclnode2*/, COLOR_PPackagedecl, ID_PPackagedecl)) /*cast PPackagedecl*/;
8227 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3001); nit_exit(1);}
8228 /* Register variable[14]: Local variable */
8229 variable[14] = variable[9] /*nodearraylist2*/;
8230 /* Register variable[15]: Result */
8231 variable[15] = TAG_Bool(( variable[14] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8232 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3003); nit_exit(1);}
8233 /* Register variable[15]: Result */
8234 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::==*/)))))));
8235 if (UNTAG_Bool(variable[15])) { /*if*/
8236 /* Register variable[15]: Result */
8237 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode4*/)( variable[11] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
8238 if (UNTAG_Bool(variable[15])) { /*if*/
8239 variable[11] = variable[14] /*listnode3*/ /*listnode4=*/;
8240 } else { /*if*/
8241 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, variable[14] /*listnode3*/) /*IndexedCollection::append*/;
8242 }
8243 }
8244 /* Register variable[15]: Local variable */
8245 variable[15] = variable[8] /*nodearraylist3*/;
8246 /* Register variable[16]: Result */
8247 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8248 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3012); nit_exit(1);}
8249 /* Register variable[16]: Local variable */
8250 /* Register variable[17]: Result */
8251 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8252 variable[16] = variable[17];
8253 /* Register variable[17]: Local variable */
8254 variable[17] = variable[7] /*nodearraylist4*/;
8255 /* Register variable[18]: Result */
8256 variable[18] = TAG_Bool(( variable[17] /*ppropdefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*ppropdefnode7*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8257 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3015); nit_exit(1);}
8258 /* Register variable[18]: Local variable */
8259 variable[18] = variable[5] /*nodearraylist6*/;
8260 /* Register variable[19]: Result */
8261 variable[19] = TAG_Bool(( variable[18] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8262 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3017); nit_exit(1);}
8263 /* Register variable[19]: Result */
8264 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::==*/)))))));
8265 if (UNTAG_Bool(variable[19])) { /*if*/
8266 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[17] /*ppropdefnode7*/) /*AbstractArray::add*/;
8267 }
8268 /* Register variable[19]: Result */
8269 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::==*/)))))));
8270 if (UNTAG_Bool(variable[19])) { /*if*/
8271 /* Register variable[19]: Result */
8272 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
8273 if (UNTAG_Bool(variable[19])) { /*if*/
8274 variable[16] = variable[18] /*listnode8*/ /*listnode9=*/;
8275 } else { /*if*/
8276 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[18] /*listnode8*/) /*IndexedCollection::append*/;
8277 }
8278 }
8279 /* Register variable[19]: Local variable */
8280 /* Register variable[20]: Result */
8281 variable[20] = NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef( variable[16] /*listnode9*/) /*new ATopClassdef*/;
8282 variable[19] = variable[20];
8283 /* Register variable[20]: Local variable */
8284 variable[20] = variable[4] /*nodearraylist7*/;
8285 /* Register variable[21]: Result */
8286 variable[21] = TAG_Bool(( variable[20] /*pclassdefnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pclassdefnode10*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
8287 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction47___action, LOCATE_parser, 3032); nit_exit(1);}
8288 /* Register variable[21]: Result */
8289 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::==*/)))))));
8290 if (UNTAG_Bool(variable[21])) { /*if*/
8291 /* Register variable[21]: Result */
8292 variable[21] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode11*/)( variable[12] /*listnode11*/) /*AbstractArrayRead::is_empty*/;
8293 if (UNTAG_Bool(variable[21])) { /*if*/
8294 variable[12] = variable[15] /*listnode5*/ /*listnode11=*/;
8295 } else { /*if*/
8296 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
8297 }
8298 }
8299 /* Register variable[21]: Result */
8300 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::==*/)))))));
8301 if (UNTAG_Bool(variable[21])) { /*if*/
8302 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[19] /*pclassdefnode6*/) /*AbstractArray::add*/;
8303 }
8304 /* Register variable[21]: Result */
8305 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::==*/)))))));
8306 if (UNTAG_Bool(variable[21])) { /*if*/
8307 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode11*/)( variable[12] /*listnode11*/, variable[20] /*pclassdefnode10*/) /*AbstractArray::add*/;
8308 }
8309 /* Register variable[21]: Local variable */
8310 /* Register variable[22]: Result */
8311 variable[22] = NEW_AModule_parser_prod___AModule___init_amodule( variable[13] /*ppackagedeclnode2*/, variable[11] /*listnode4*/, variable[12] /*listnode11*/) /*new AModule*/;
8312 variable[21] = variable[22];
8313 variable[3] = variable[21] /*pmodulenode1*/ /*node_list=*/;
8314 /* Register variable[22]: Result */
8315 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(0)) /*Parser::go_to*/;
8316 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
8317 return_label126: while(false);
8318 tracehead = trace.prev;
8319 return;
8320 }
8321 void parser___ReduceAction47___init(val_t self, int* init_table) {
8322 struct trace_t trace = {NULL, NULL, 3054, LOCATE_parser___ReduceAction47___init};
8323 val_t variable[2];
8324 struct WBT_ **closurevariable = NULL;
8325 trace.prev = tracehead; tracehead = &trace;
8326 trace.file = LOCATE_parser;
8327 /* Register variable[0]: Local variable */
8328 variable[0] = self;
8329 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction47].i]) return;
8330 /* Register variable[1]: Method return value and escape marker */
8331 return_label127: while(false);
8332 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction47].i] = 1;
8333 tracehead = trace.prev;
8334 return;
8335 }
8336 void parser___ReduceAction48___action(val_t self, val_t param0) {
8337 struct trace_t trace = {NULL, NULL, 3058, LOCATE_parser___ReduceAction48___action};
8338 val_t variable[14];
8339 struct WBT_ **closurevariable = NULL;
8340 trace.prev = tracehead; tracehead = &trace;
8341 trace.file = LOCATE_parser;
8342 /* Register variable[0]: Local variable */
8343 variable[0] = self;
8344 /* Register variable[1]: Local variable */
8345 variable[1] = param0;
8346 /* Register variable[2]: Method return value and escape marker */
8347 /* Register variable[3]: Local variable */
8348 variable[3] = NIT_NULL /*null*/;
8349 /* Register variable[4]: Local variable */
8350 /* Register variable[5]: Result */
8351 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8352 variable[4] = variable[5];
8353 /* Register variable[5]: Local variable */
8354 /* Register variable[6]: Result */
8355 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8356 variable[5] = variable[6];
8357 /* Register variable[6]: Local variable */
8358 /* Register variable[7]: Result */
8359 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8360 variable[6] = variable[7];
8361 /* Register variable[7]: Local variable */
8362 /* Register variable[8]: Result */
8363 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8364 variable[7] = variable[8];
8365 /* Register variable[8]: Local variable */
8366 /* Register variable[9]: Result */
8367 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8368 variable[8] = variable[9];
8369 /* Register variable[9]: Local variable */
8370 variable[9] = variable[8] /*nodearraylist1*/;
8371 /* Register variable[10]: Result */
8372 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8373 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3067); nit_exit(1);}
8374 /* Register variable[10]: Local variable */
8375 variable[10] = variable[7] /*nodearraylist2*/;
8376 /* Register variable[11]: Result */
8377 variable[11] = TAG_Bool(( variable[10] /*tkwpackagenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwpackagenode3*/, COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
8378 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3069); nit_exit(1);}
8379 /* Register variable[11]: Local variable */
8380 variable[11] = variable[5] /*nodearraylist4*/;
8381 /* Register variable[12]: Result */
8382 variable[12] = TAG_Bool(( variable[11] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
8383 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction48___action, LOCATE_parser, 3071); nit_exit(1);}
8384 /* Register variable[12]: Local variable */
8385 /* Register variable[13]: Result */
8386 variable[13] = NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl( variable[9] /*pdocnode2*/, variable[10] /*tkwpackagenode3*/, variable[11] /*tidnode4*/) /*new APackagedecl*/;
8387 variable[12] = variable[13];
8388 variable[3] = variable[12] /*ppackagedeclnode1*/ /*node_list=*/;
8389 /* Register variable[13]: Result */
8390 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(1)) /*Parser::go_to*/;
8391 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
8392 return_label128: while(false);
8393 tracehead = trace.prev;
8394 return;
8395 }
8396 void parser___ReduceAction48___init(val_t self, int* init_table) {
8397 struct trace_t trace = {NULL, NULL, 3080, LOCATE_parser___ReduceAction48___init};
8398 val_t variable[2];
8399 struct WBT_ **closurevariable = NULL;
8400 trace.prev = tracehead; tracehead = &trace;
8401 trace.file = LOCATE_parser;
8402 /* Register variable[0]: Local variable */
8403 variable[0] = self;
8404 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction48].i]) return;
8405 /* Register variable[1]: Method return value and escape marker */
8406 return_label129: while(false);
8407 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction48].i] = 1;
8408 tracehead = trace.prev;
8409 return;
8410 }
8411 void parser___ReduceAction49___action(val_t self, val_t param0) {
8412 struct trace_t trace = {NULL, NULL, 3084, LOCATE_parser___ReduceAction49___action};
8413 val_t variable[15];
8414 struct WBT_ **closurevariable = NULL;
8415 trace.prev = tracehead; tracehead = &trace;
8416 trace.file = LOCATE_parser;
8417 /* Register variable[0]: Local variable */
8418 variable[0] = self;
8419 /* Register variable[1]: Local variable */
8420 variable[1] = param0;
8421 /* Register variable[2]: Method return value and escape marker */
8422 /* Register variable[3]: Local variable */
8423 variable[3] = NIT_NULL /*null*/;
8424 /* Register variable[4]: Local variable */
8425 /* Register variable[5]: Result */
8426 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8427 variable[4] = variable[5];
8428 /* Register variable[5]: Local variable */
8429 /* Register variable[6]: Result */
8430 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8431 variable[5] = variable[6];
8432 /* Register variable[6]: Local variable */
8433 /* Register variable[7]: Result */
8434 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8435 variable[6] = variable[7];
8436 /* Register variable[7]: Local variable */
8437 /* Register variable[8]: Result */
8438 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8439 variable[7] = variable[8];
8440 /* Register variable[8]: Local variable */
8441 /* Register variable[9]: Result */
8442 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8443 variable[8] = variable[9];
8444 /* Register variable[9]: Local variable */
8445 /* Register variable[10]: Result */
8446 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8447 variable[9] = variable[10];
8448 /* Register variable[10]: Local variable */
8449 variable[10] = variable[8] /*nodearraylist2*/;
8450 /* Register variable[11]: Result */
8451 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8452 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3094); nit_exit(1);}
8453 /* Register variable[11]: Local variable */
8454 variable[11] = variable[7] /*nodearraylist3*/;
8455 /* Register variable[12]: Result */
8456 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
8457 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3096); nit_exit(1);}
8458 /* Register variable[12]: Local variable */
8459 variable[12] = variable[5] /*nodearraylist5*/;
8460 /* Register variable[13]: Result */
8461 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
8462 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction49___action, LOCATE_parser, 3098); nit_exit(1);}
8463 /* Register variable[13]: Local variable */
8464 /* Register variable[14]: Result */
8465 variable[14] = NEW_AImport_parser_prod___AImport___init_aimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tidnode4*/) /*new AImport*/;
8466 variable[13] = variable[14];
8467 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
8468 /* Register variable[14]: Result */
8469 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
8470 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
8471 return_label130: while(false);
8472 tracehead = trace.prev;
8473 return;
8474 }
8475 void parser___ReduceAction49___init(val_t self, int* init_table) {
8476 struct trace_t trace = {NULL, NULL, 3107, LOCATE_parser___ReduceAction49___init};
8477 val_t variable[2];
8478 struct WBT_ **closurevariable = NULL;
8479 trace.prev = tracehead; tracehead = &trace;
8480 trace.file = LOCATE_parser;
8481 /* Register variable[0]: Local variable */
8482 variable[0] = self;
8483 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction49].i]) return;
8484 /* Register variable[1]: Method return value and escape marker */
8485 return_label131: while(false);
8486 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction49].i] = 1;
8487 tracehead = trace.prev;
8488 return;
8489 }
8490 void parser___ReduceAction50___action(val_t self, val_t param0) {
8491 struct trace_t trace = {NULL, NULL, 3111, LOCATE_parser___ReduceAction50___action};
8492 val_t variable[15];
8493 struct WBT_ **closurevariable = NULL;
8494 trace.prev = tracehead; tracehead = &trace;
8495 trace.file = LOCATE_parser;
8496 /* Register variable[0]: Local variable */
8497 variable[0] = self;
8498 /* Register variable[1]: Local variable */
8499 variable[1] = param0;
8500 /* Register variable[2]: Method return value and escape marker */
8501 /* Register variable[3]: Local variable */
8502 variable[3] = NIT_NULL /*null*/;
8503 /* Register variable[4]: Local variable */
8504 /* Register variable[5]: Result */
8505 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8506 variable[4] = variable[5];
8507 /* Register variable[5]: Local variable */
8508 /* Register variable[6]: Result */
8509 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8510 variable[5] = variable[6];
8511 /* Register variable[6]: Local variable */
8512 /* Register variable[7]: Result */
8513 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8514 variable[6] = variable[7];
8515 /* Register variable[7]: Local variable */
8516 /* Register variable[8]: Result */
8517 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8518 variable[7] = variable[8];
8519 /* Register variable[8]: Local variable */
8520 /* Register variable[9]: Result */
8521 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8522 variable[8] = variable[9];
8523 /* Register variable[9]: Local variable */
8524 /* Register variable[10]: Result */
8525 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8526 variable[9] = variable[10];
8527 /* Register variable[10]: Local variable */
8528 variable[10] = variable[8] /*nodearraylist2*/;
8529 /* Register variable[11]: Result */
8530 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode2*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8531 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3121); nit_exit(1);}
8532 /* Register variable[11]: Local variable */
8533 variable[11] = variable[7] /*nodearraylist3*/;
8534 /* Register variable[12]: Result */
8535 variable[12] = TAG_Bool(( variable[11] /*tkwimportnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwimportnode3*/, COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
8536 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3123); nit_exit(1);}
8537 /* Register variable[12]: Local variable */
8538 variable[12] = variable[5] /*nodearraylist5*/;
8539 /* Register variable[13]: Result */
8540 variable[13] = TAG_Bool(( variable[12] /*tkwendnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwendnode4*/, COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
8541 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction50___action, LOCATE_parser, 3125); nit_exit(1);}
8542 /* Register variable[13]: Local variable */
8543 /* Register variable[14]: Result */
8544 variable[14] = NEW_ANoImport_parser_prod___ANoImport___init_anoimport( variable[10] /*pvisibilitynode2*/, variable[11] /*tkwimportnode3*/, variable[12] /*tkwendnode4*/) /*new ANoImport*/;
8545 variable[13] = variable[14];
8546 variable[3] = variable[13] /*pimportnode1*/ /*node_list=*/;
8547 /* Register variable[14]: Result */
8548 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(2)) /*Parser::go_to*/;
8549 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
8550 return_label132: while(false);
8551 tracehead = trace.prev;
8552 return;
8553 }
8554 void parser___ReduceAction50___init(val_t self, int* init_table) {
8555 struct trace_t trace = {NULL, NULL, 3134, LOCATE_parser___ReduceAction50___init};
8556 val_t variable[2];
8557 struct WBT_ **closurevariable = NULL;
8558 trace.prev = tracehead; tracehead = &trace;
8559 trace.file = LOCATE_parser;
8560 /* Register variable[0]: Local variable */
8561 variable[0] = self;
8562 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction50].i]) return;
8563 /* Register variable[1]: Method return value and escape marker */
8564 return_label133: while(false);
8565 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction50].i] = 1;
8566 tracehead = trace.prev;
8567 return;
8568 }
8569 void parser___ReduceAction51___action(val_t self, val_t param0) {
8570 struct trace_t trace = {NULL, NULL, 3138, LOCATE_parser___ReduceAction51___action};
8571 val_t variable[9];
8572 struct WBT_ **closurevariable = NULL;
8573 trace.prev = tracehead; tracehead = &trace;
8574 trace.file = LOCATE_parser;
8575 /* Register variable[0]: Local variable */
8576 variable[0] = self;
8577 /* Register variable[1]: Local variable */
8578 variable[1] = param0;
8579 /* Register variable[2]: Method return value and escape marker */
8580 /* Register variable[3]: Local variable */
8581 variable[3] = NIT_NULL /*null*/;
8582 /* Register variable[4]: Local variable */
8583 /* Register variable[5]: Result */
8584 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8585 variable[4] = variable[5];
8586 /* Register variable[5]: Local variable */
8587 /* Register variable[6]: Result */
8588 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8589 variable[5] = variable[6];
8590 /* Register variable[6]: Local variable */
8591 variable[6] = variable[4] /*nodearraylist1*/;
8592 /* Register variable[7]: Result */
8593 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
8594 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction51___action, LOCATE_parser, 3144); nit_exit(1);}
8595 /* Register variable[7]: Result */
8596 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::==*/)))))));
8597 if (UNTAG_Bool(variable[7])) { /*if*/
8598 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*ppropdefnode2*/) /*AbstractArray::add*/;
8599 }
8600 /* Register variable[7]: Local variable */
8601 /* Register variable[8]: Result */
8602 variable[8] = NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef( variable[5] /*listnode3*/) /*new AMainClassdef*/;
8603 variable[7] = variable[8];
8604 variable[3] = variable[7] /*pclassdefnode1*/ /*node_list=*/;
8605 /* Register variable[8]: Result */
8606 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
8607 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
8608 return_label134: while(false);
8609 tracehead = trace.prev;
8610 return;
8611 }
8612 void parser___ReduceAction51___init(val_t self, int* init_table) {
8613 struct trace_t trace = {NULL, NULL, 3154, LOCATE_parser___ReduceAction51___init};
8614 val_t variable[2];
8615 struct WBT_ **closurevariable = NULL;
8616 trace.prev = tracehead; tracehead = &trace;
8617 trace.file = LOCATE_parser;
8618 /* Register variable[0]: Local variable */
8619 variable[0] = self;
8620 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction51].i]) return;
8621 /* Register variable[1]: Method return value and escape marker */
8622 return_label135: while(false);
8623 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction51].i] = 1;
8624 tracehead = trace.prev;
8625 return;
8626 }
8627 void parser___ReduceAction52___action(val_t self, val_t param0) {
8628 struct trace_t trace = {NULL, NULL, 3158, LOCATE_parser___ReduceAction52___action};
8629 val_t variable[6];
8630 struct WBT_ **closurevariable = NULL;
8631 trace.prev = tracehead; tracehead = &trace;
8632 trace.file = LOCATE_parser;
8633 /* Register variable[0]: Local variable */
8634 variable[0] = self;
8635 /* Register variable[1]: Local variable */
8636 variable[1] = param0;
8637 /* Register variable[2]: Method return value and escape marker */
8638 /* Register variable[3]: Local variable */
8639 variable[3] = NIT_NULL /*null*/;
8640 /* Register variable[4]: Local variable */
8641 /* Register variable[5]: Result */
8642 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8643 variable[4] = variable[5];
8644 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
8645 /* Register variable[5]: Result */
8646 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(3)) /*Parser::go_to*/;
8647 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
8648 return_label136: while(false);
8649 tracehead = trace.prev;
8650 return;
8651 }
8652 void parser___ReduceAction52___init(val_t self, int* init_table) {
8653 struct trace_t trace = {NULL, NULL, 3165, LOCATE_parser___ReduceAction52___init};
8654 val_t variable[2];
8655 struct WBT_ **closurevariable = NULL;
8656 trace.prev = tracehead; tracehead = &trace;
8657 trace.file = LOCATE_parser;
8658 /* Register variable[0]: Local variable */
8659 variable[0] = self;
8660 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction52].i]) return;
8661 /* Register variable[1]: Method return value and escape marker */
8662 return_label137: while(false);
8663 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction52].i] = 1;
8664 tracehead = trace.prev;
8665 return;
8666 }
8667 void parser___ReduceAction53___action(val_t self, val_t param0) {
8668 struct trace_t trace = {NULL, NULL, 3169, LOCATE_parser___ReduceAction53___action};
8669 val_t variable[12];
8670 struct WBT_ **closurevariable = NULL;
8671 trace.prev = tracehead; tracehead = &trace;
8672 trace.file = LOCATE_parser;
8673 /* Register variable[0]: Local variable */
8674 variable[0] = self;
8675 /* Register variable[1]: Local variable */
8676 variable[1] = param0;
8677 /* Register variable[2]: Method return value and escape marker */
8678 /* Register variable[3]: Local variable */
8679 variable[3] = NIT_NULL /*null*/;
8680 /* Register variable[4]: Local variable */
8681 /* Register variable[5]: Result */
8682 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8683 variable[4] = variable[5];
8684 /* Register variable[5]: Local variable */
8685 /* Register variable[6]: Result */
8686 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8687 variable[5] = variable[6];
8688 /* Register variable[6]: Local variable */
8689 /* Register variable[7]: Result */
8690 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8691 variable[6] = variable[7];
8692 /* Register variable[7]: Local variable */
8693 /* Register variable[8]: Result */
8694 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8695 variable[7] = variable[8];
8696 /* Register variable[8]: Local variable */
8697 variable[8] = variable[5] /*nodearraylist2*/;
8698 /* Register variable[9]: Result */
8699 variable[9] = TAG_Bool(( variable[8] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
8700 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction53___action, LOCATE_parser, 3177); nit_exit(1);}
8701 /* Register variable[9]: Result */
8702 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::==*/)))))));
8703 if (UNTAG_Bool(variable[9])) { /*if*/
8704 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[8] /*pexprnode4*/) /*AbstractArray::add*/;
8705 }
8706 /* Register variable[9]: Local variable */
8707 /* Register variable[10]: Result */
8708 variable[10] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[7] /*listnode5*/) /*new ABlockExpr*/;
8709 variable[9] = variable[10];
8710 /* Register variable[10]: Local variable */
8711 /* Register variable[11]: Result */
8712 variable[11] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[9] /*pexprnode3*/) /*new AMainMethPropdef*/;
8713 variable[10] = variable[11];
8714 variable[3] = variable[10] /*ppropdefnode1*/ /*node_list=*/;
8715 /* Register variable[11]: Result */
8716 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
8717 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
8718 return_label138: while(false);
8719 tracehead = trace.prev;
8720 return;
8721 }
8722 void parser___ReduceAction53___init(val_t self, int* init_table) {
8723 struct trace_t trace = {NULL, NULL, 3191, LOCATE_parser___ReduceAction53___init};
8724 val_t variable[2];
8725 struct WBT_ **closurevariable = NULL;
8726 trace.prev = tracehead; tracehead = &trace;
8727 trace.file = LOCATE_parser;
8728 /* Register variable[0]: Local variable */
8729 variable[0] = self;
8730 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction53].i]) return;
8731 /* Register variable[1]: Method return value and escape marker */
8732 return_label139: while(false);
8733 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction53].i] = 1;
8734 tracehead = trace.prev;
8735 return;
8736 }
8737 void parser___ReduceAction54___action(val_t self, val_t param0) {
8738 struct trace_t trace = {NULL, NULL, 3195, LOCATE_parser___ReduceAction54___action};
8739 val_t variable[14];
8740 struct WBT_ **closurevariable = NULL;
8741 trace.prev = tracehead; tracehead = &trace;
8742 trace.file = LOCATE_parser;
8743 /* Register variable[0]: Local variable */
8744 variable[0] = self;
8745 /* Register variable[1]: Local variable */
8746 variable[1] = param0;
8747 /* Register variable[2]: Method return value and escape marker */
8748 /* Register variable[3]: Local variable */
8749 variable[3] = NIT_NULL /*null*/;
8750 /* Register variable[4]: Local variable */
8751 /* Register variable[5]: Result */
8752 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8753 variable[4] = variable[5];
8754 /* Register variable[5]: Local variable */
8755 /* Register variable[6]: Result */
8756 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8757 variable[5] = variable[6];
8758 /* Register variable[6]: Local variable */
8759 /* Register variable[7]: Result */
8760 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8761 variable[6] = variable[7];
8762 /* Register variable[7]: Local variable */
8763 /* Register variable[8]: Result */
8764 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8765 variable[7] = variable[8];
8766 /* Register variable[8]: Local variable */
8767 /* Register variable[9]: Result */
8768 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8769 variable[8] = variable[9];
8770 /* Register variable[9]: Local variable */
8771 variable[9] = variable[6] /*nodearraylist2*/;
8772 /* Register variable[10]: Result */
8773 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
8774 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3204); nit_exit(1);}
8775 /* Register variable[10]: Local variable */
8776 variable[10] = variable[5] /*nodearraylist3*/;
8777 /* Register variable[11]: Result */
8778 variable[11] = TAG_Bool(( variable[10] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
8779 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction54___action, LOCATE_parser, 3206); nit_exit(1);}
8780 /* Register variable[11]: Result */
8781 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::==*/)))))));
8782 if (UNTAG_Bool(variable[11])) { /*if*/
8783 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[9] /*pexprnode4*/) /*AbstractArray::add*/;
8784 }
8785 /* Register variable[11]: Result */
8786 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::==*/)))))));
8787 if (UNTAG_Bool(variable[11])) { /*if*/
8788 /* Register variable[11]: Result */
8789 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
8790 if (UNTAG_Bool(variable[11])) { /*if*/
8791 variable[8] = variable[10] /*listnode5*/ /*listnode6=*/;
8792 } else { /*if*/
8793 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[10] /*listnode5*/) /*IndexedCollection::append*/;
8794 }
8795 }
8796 /* Register variable[11]: Local variable */
8797 /* Register variable[12]: Result */
8798 variable[12] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode6*/) /*new ABlockExpr*/;
8799 variable[11] = variable[12];
8800 /* Register variable[12]: Local variable */
8801 /* Register variable[13]: Result */
8802 variable[13] = NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef( NIT_NULL /*null*/, variable[11] /*pexprnode3*/) /*new AMainMethPropdef*/;
8803 variable[12] = variable[13];
8804 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
8805 /* Register variable[13]: Result */
8806 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(4)) /*Parser::go_to*/;
8807 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
8808 return_label140: while(false);
8809 tracehead = trace.prev;
8810 return;
8811 }
8812 void parser___ReduceAction54___init(val_t self, int* init_table) {
8813 struct trace_t trace = {NULL, NULL, 3227, LOCATE_parser___ReduceAction54___init};
8814 val_t variable[2];
8815 struct WBT_ **closurevariable = NULL;
8816 trace.prev = tracehead; tracehead = &trace;
8817 trace.file = LOCATE_parser;
8818 /* Register variable[0]: Local variable */
8819 variable[0] = self;
8820 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction54].i]) return;
8821 /* Register variable[1]: Method return value and escape marker */
8822 return_label141: while(false);
8823 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction54].i] = 1;
8824 tracehead = trace.prev;
8825 return;
8826 }
8827 void parser___ReduceAction55___action(val_t self, val_t param0) {
8828 struct trace_t trace = {NULL, NULL, 3231, LOCATE_parser___ReduceAction55___action};
8829 val_t variable[20];
8830 struct WBT_ **closurevariable = NULL;
8831 trace.prev = tracehead; tracehead = &trace;
8832 trace.file = LOCATE_parser;
8833 /* Register variable[0]: Local variable */
8834 variable[0] = self;
8835 /* Register variable[1]: Local variable */
8836 variable[1] = param0;
8837 /* Register variable[2]: Method return value and escape marker */
8838 /* Register variable[3]: Local variable */
8839 variable[3] = NIT_NULL /*null*/;
8840 /* Register variable[4]: Local variable */
8841 /* Register variable[5]: Result */
8842 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8843 variable[4] = variable[5];
8844 /* Register variable[5]: Local variable */
8845 /* Register variable[6]: Result */
8846 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8847 variable[5] = variable[6];
8848 /* Register variable[6]: Local variable */
8849 /* Register variable[7]: Result */
8850 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8851 variable[6] = variable[7];
8852 /* Register variable[7]: Local variable */
8853 /* Register variable[8]: Result */
8854 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8855 variable[7] = variable[8];
8856 /* Register variable[8]: Local variable */
8857 /* Register variable[9]: Result */
8858 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8859 variable[8] = variable[9];
8860 /* Register variable[9]: Local variable */
8861 /* Register variable[10]: Result */
8862 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8863 variable[9] = variable[10];
8864 /* Register variable[10]: Local variable */
8865 /* Register variable[11]: Result */
8866 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8867 variable[10] = variable[11];
8868 /* Register variable[11]: Local variable */
8869 /* Register variable[12]: Result */
8870 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8871 variable[11] = variable[12];
8872 /* Register variable[12]: Local variable */
8873 /* Register variable[13]: Result */
8874 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8875 variable[12] = variable[13];
8876 /* Register variable[13]: Local variable */
8877 /* Register variable[14]: Result */
8878 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8879 variable[13] = variable[14];
8880 /* Register variable[14]: Local variable */
8881 variable[14] = variable[10] /*nodearraylist1*/;
8882 /* Register variable[15]: Result */
8883 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8884 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3245); nit_exit(1);}
8885 /* Register variable[15]: Local variable */
8886 variable[15] = variable[9] /*nodearraylist2*/;
8887 /* Register variable[16]: Result */
8888 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8889 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3247); nit_exit(1);}
8890 /* Register variable[16]: Local variable */
8891 variable[16] = variable[8] /*nodearraylist3*/;
8892 /* Register variable[17]: Result */
8893 variable[17] = TAG_Bool(( variable[16] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
8894 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3249); nit_exit(1);}
8895 /* Register variable[17]: Local variable */
8896 variable[17] = variable[6] /*nodearraylist5*/;
8897 /* Register variable[18]: Result */
8898 variable[18] = TAG_Bool(( variable[17] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
8899 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction55___action, LOCATE_parser, 3251); nit_exit(1);}
8900 /* Register variable[18]: Local variable */
8901 /* Register variable[19]: Result */
8902 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*/;
8903 variable[18] = variable[19];
8904 variable[3] = variable[18] /*pclassdefnode1*/ /*node_list=*/;
8905 /* Register variable[19]: Result */
8906 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
8907 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
8908 return_label142: while(false);
8909 tracehead = trace.prev;
8910 return;
8911 }
8912 void parser___ReduceAction55___init(val_t self, int* init_table) {
8913 struct trace_t trace = {NULL, NULL, 3265, LOCATE_parser___ReduceAction55___init};
8914 val_t variable[2];
8915 struct WBT_ **closurevariable = NULL;
8916 trace.prev = tracehead; tracehead = &trace;
8917 trace.file = LOCATE_parser;
8918 /* Register variable[0]: Local variable */
8919 variable[0] = self;
8920 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction55].i]) return;
8921 /* Register variable[1]: Method return value and escape marker */
8922 return_label143: while(false);
8923 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction55].i] = 1;
8924 tracehead = trace.prev;
8925 return;
8926 }
8927 void parser___ReduceAction56___action(val_t self, val_t param0) {
8928 struct trace_t trace = {NULL, NULL, 3269, LOCATE_parser___ReduceAction56___action};
8929 val_t variable[22];
8930 struct WBT_ **closurevariable = NULL;
8931 trace.prev = tracehead; tracehead = &trace;
8932 trace.file = LOCATE_parser;
8933 /* Register variable[0]: Local variable */
8934 variable[0] = self;
8935 /* Register variable[1]: Local variable */
8936 variable[1] = param0;
8937 /* Register variable[2]: Method return value and escape marker */
8938 /* Register variable[3]: Local variable */
8939 variable[3] = NIT_NULL /*null*/;
8940 /* Register variable[4]: Local variable */
8941 /* Register variable[5]: Result */
8942 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8943 variable[4] = variable[5];
8944 /* Register variable[5]: Local variable */
8945 /* Register variable[6]: Result */
8946 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8947 variable[5] = variable[6];
8948 /* Register variable[6]: Local variable */
8949 /* Register variable[7]: Result */
8950 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8951 variable[6] = variable[7];
8952 /* Register variable[7]: Local variable */
8953 /* Register variable[8]: Result */
8954 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8955 variable[7] = variable[8];
8956 /* Register variable[8]: Local variable */
8957 /* Register variable[9]: Result */
8958 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8959 variable[8] = variable[9];
8960 /* Register variable[9]: Local variable */
8961 /* Register variable[10]: Result */
8962 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8963 variable[9] = variable[10];
8964 /* Register variable[10]: Local variable */
8965 /* Register variable[11]: Result */
8966 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8967 variable[10] = variable[11];
8968 /* Register variable[11]: Local variable */
8969 /* Register variable[12]: Result */
8970 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
8971 variable[11] = variable[12];
8972 /* Register variable[12]: Local variable */
8973 /* Register variable[13]: Result */
8974 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8975 variable[12] = variable[13];
8976 /* Register variable[13]: Local variable */
8977 /* Register variable[14]: Result */
8978 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8979 variable[13] = variable[14];
8980 /* Register variable[14]: Local variable */
8981 /* Register variable[15]: Result */
8982 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
8983 variable[14] = variable[15];
8984 /* Register variable[15]: Local variable */
8985 variable[15] = variable[11] /*nodearraylist1*/;
8986 /* Register variable[16]: Result */
8987 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
8988 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3284); nit_exit(1);}
8989 /* Register variable[16]: Local variable */
8990 variable[16] = variable[10] /*nodearraylist2*/;
8991 /* Register variable[17]: Result */
8992 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8993 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3286); nit_exit(1);}
8994 /* Register variable[17]: Local variable */
8995 variable[17] = variable[9] /*nodearraylist3*/;
8996 /* Register variable[18]: Result */
8997 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
8998 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3288); nit_exit(1);}
8999 /* Register variable[18]: Local variable */
9000 variable[18] = variable[8] /*nodearraylist4*/;
9001 /* Register variable[19]: Result */
9002 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9003 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3290); nit_exit(1);}
9004 /* Register variable[19]: Local variable */
9005 variable[19] = variable[6] /*nodearraylist6*/;
9006 /* Register variable[20]: Result */
9007 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9008 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction56___action, LOCATE_parser, 3292); nit_exit(1);}
9009 /* Register variable[20]: Local variable */
9010 /* Register variable[21]: Result */
9011 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*/;
9012 variable[20] = variable[21];
9013 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
9014 /* Register variable[21]: Result */
9015 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9016 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9017 return_label144: while(false);
9018 tracehead = trace.prev;
9019 return;
9020 }
9021 void parser___ReduceAction56___init(val_t self, int* init_table) {
9022 struct trace_t trace = {NULL, NULL, 3306, LOCATE_parser___ReduceAction56___init};
9023 val_t variable[2];
9024 struct WBT_ **closurevariable = NULL;
9025 trace.prev = tracehead; tracehead = &trace;
9026 trace.file = LOCATE_parser;
9027 /* Register variable[0]: Local variable */
9028 variable[0] = self;
9029 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction56].i]) return;
9030 /* Register variable[1]: Method return value and escape marker */
9031 return_label145: while(false);
9032 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction56].i] = 1;
9033 tracehead = trace.prev;
9034 return;
9035 }
9036 void parser___ReduceAction57___action(val_t self, val_t param0) {
9037 struct trace_t trace = {NULL, NULL, 3310, LOCATE_parser___ReduceAction57___action};
9038 val_t variable[22];
9039 struct WBT_ **closurevariable = NULL;
9040 trace.prev = tracehead; tracehead = &trace;
9041 trace.file = LOCATE_parser;
9042 /* Register variable[0]: Local variable */
9043 variable[0] = self;
9044 /* Register variable[1]: Local variable */
9045 variable[1] = param0;
9046 /* Register variable[2]: Method return value and escape marker */
9047 /* Register variable[3]: Local variable */
9048 variable[3] = NIT_NULL /*null*/;
9049 /* Register variable[4]: Local variable */
9050 /* Register variable[5]: Result */
9051 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9052 variable[4] = variable[5];
9053 /* Register variable[5]: Local variable */
9054 /* Register variable[6]: Result */
9055 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9056 variable[5] = variable[6];
9057 /* Register variable[6]: Local variable */
9058 /* Register variable[7]: Result */
9059 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9060 variable[6] = variable[7];
9061 /* Register variable[7]: Local variable */
9062 /* Register variable[8]: Result */
9063 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9064 variable[7] = variable[8];
9065 /* Register variable[8]: Local variable */
9066 /* Register variable[9]: Result */
9067 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9068 variable[8] = variable[9];
9069 /* Register variable[9]: Local variable */
9070 /* Register variable[10]: Result */
9071 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9072 variable[9] = variable[10];
9073 /* Register variable[10]: Local variable */
9074 /* Register variable[11]: Result */
9075 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9076 variable[10] = variable[11];
9077 /* Register variable[11]: Local variable */
9078 /* Register variable[12]: Result */
9079 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9080 variable[11] = variable[12];
9081 /* Register variable[12]: Local variable */
9082 /* Register variable[13]: Result */
9083 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9084 variable[12] = variable[13];
9085 /* Register variable[13]: Local variable */
9086 /* Register variable[14]: Result */
9087 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9088 variable[13] = variable[14];
9089 /* Register variable[14]: Local variable */
9090 /* Register variable[15]: Result */
9091 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9092 variable[14] = variable[15];
9093 /* Register variable[15]: Local variable */
9094 variable[15] = variable[11] /*nodearraylist1*/;
9095 /* Register variable[16]: Result */
9096 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9097 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3325); nit_exit(1);}
9098 /* Register variable[16]: Local variable */
9099 variable[16] = variable[10] /*nodearraylist2*/;
9100 /* Register variable[17]: Result */
9101 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9102 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3327); nit_exit(1);}
9103 /* Register variable[17]: Local variable */
9104 variable[17] = variable[9] /*nodearraylist3*/;
9105 /* Register variable[18]: Result */
9106 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9107 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3329); nit_exit(1);}
9108 /* Register variable[18]: Local variable */
9109 variable[18] = variable[7] /*nodearraylist5*/;
9110 /* Register variable[19]: Result */
9111 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9112 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3331); nit_exit(1);}
9113 /* Register variable[19]: Local variable */
9114 variable[19] = variable[6] /*nodearraylist6*/;
9115 /* Register variable[20]: Result */
9116 variable[20] = TAG_Bool(( variable[19] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9117 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction57___action, LOCATE_parser, 3333); nit_exit(1);}
9118 /* Register variable[20]: Result */
9119 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::==*/)))))));
9120 if (UNTAG_Bool(variable[20])) { /*if*/
9121 /* Register variable[20]: Result */
9122 variable[20] = CALL_abstract_collection___Collection___is_empty( variable[12] /*listnode8*/)( variable[12] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
9123 if (UNTAG_Bool(variable[20])) { /*if*/
9124 variable[12] = variable[19] /*listnode7*/ /*listnode8=*/;
9125 } else { /*if*/
9126 CALL_abstract_collection___IndexedCollection___append( variable[12] /*listnode8*/)( variable[12] /*listnode8*/, variable[19] /*listnode7*/) /*IndexedCollection::append*/;
9127 }
9128 }
9129 /* Register variable[20]: Local variable */
9130 /* Register variable[21]: Result */
9131 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*/;
9132 variable[20] = variable[21];
9133 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
9134 /* Register variable[21]: Result */
9135 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9136 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9137 return_label146: while(false);
9138 tracehead = trace.prev;
9139 return;
9140 }
9141 void parser___ReduceAction57___init(val_t self, int* init_table) {
9142 struct trace_t trace = {NULL, NULL, 3354, LOCATE_parser___ReduceAction57___init};
9143 val_t variable[2];
9144 struct WBT_ **closurevariable = NULL;
9145 trace.prev = tracehead; tracehead = &trace;
9146 trace.file = LOCATE_parser;
9147 /* Register variable[0]: Local variable */
9148 variable[0] = self;
9149 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction57].i]) return;
9150 /* Register variable[1]: Method return value and escape marker */
9151 return_label147: while(false);
9152 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction57].i] = 1;
9153 tracehead = trace.prev;
9154 return;
9155 }
9156 void parser___ReduceAction58___action(val_t self, val_t param0) {
9157 struct trace_t trace = {NULL, NULL, 3358, LOCATE_parser___ReduceAction58___action};
9158 val_t variable[24];
9159 struct WBT_ **closurevariable = NULL;
9160 trace.prev = tracehead; tracehead = &trace;
9161 trace.file = LOCATE_parser;
9162 /* Register variable[0]: Local variable */
9163 variable[0] = self;
9164 /* Register variable[1]: Local variable */
9165 variable[1] = param0;
9166 /* Register variable[2]: Method return value and escape marker */
9167 /* Register variable[3]: Local variable */
9168 variable[3] = NIT_NULL /*null*/;
9169 /* Register variable[4]: Local variable */
9170 /* Register variable[5]: Result */
9171 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9172 variable[4] = variable[5];
9173 /* Register variable[5]: Local variable */
9174 /* Register variable[6]: Result */
9175 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9176 variable[5] = variable[6];
9177 /* Register variable[6]: Local variable */
9178 /* Register variable[7]: Result */
9179 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9180 variable[6] = variable[7];
9181 /* Register variable[7]: Local variable */
9182 /* Register variable[8]: Result */
9183 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9184 variable[7] = variable[8];
9185 /* Register variable[8]: Local variable */
9186 /* Register variable[9]: Result */
9187 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9188 variable[8] = variable[9];
9189 /* Register variable[9]: Local variable */
9190 /* Register variable[10]: Result */
9191 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9192 variable[9] = variable[10];
9193 /* Register variable[10]: Local variable */
9194 /* Register variable[11]: Result */
9195 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9196 variable[10] = variable[11];
9197 /* Register variable[11]: Local variable */
9198 /* Register variable[12]: Result */
9199 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9200 variable[11] = variable[12];
9201 /* Register variable[12]: Local variable */
9202 /* Register variable[13]: Result */
9203 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9204 variable[12] = variable[13];
9205 /* Register variable[13]: Local variable */
9206 /* Register variable[14]: Result */
9207 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9208 variable[13] = variable[14];
9209 /* Register variable[14]: Local variable */
9210 /* Register variable[15]: Result */
9211 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9212 variable[14] = variable[15];
9213 /* Register variable[15]: Local variable */
9214 /* Register variable[16]: Result */
9215 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9216 variable[15] = variable[16];
9217 /* Register variable[16]: Local variable */
9218 variable[16] = variable[12] /*nodearraylist1*/;
9219 /* Register variable[17]: Result */
9220 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9221 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3374); nit_exit(1);}
9222 /* Register variable[17]: Local variable */
9223 variable[17] = variable[11] /*nodearraylist2*/;
9224 /* Register variable[18]: Result */
9225 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9226 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3376); nit_exit(1);}
9227 /* Register variable[18]: Local variable */
9228 variable[18] = variable[10] /*nodearraylist3*/;
9229 /* Register variable[19]: Result */
9230 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9231 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3378); nit_exit(1);}
9232 /* Register variable[19]: Local variable */
9233 variable[19] = variable[9] /*nodearraylist4*/;
9234 /* Register variable[20]: Result */
9235 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9236 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3380); nit_exit(1);}
9237 /* Register variable[20]: Local variable */
9238 variable[20] = variable[7] /*nodearraylist6*/;
9239 /* Register variable[21]: Result */
9240 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9241 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3382); nit_exit(1);}
9242 /* Register variable[21]: Local variable */
9243 variable[21] = variable[6] /*nodearraylist7*/;
9244 /* Register variable[22]: Result */
9245 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9246 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction58___action, LOCATE_parser, 3384); nit_exit(1);}
9247 /* Register variable[22]: Result */
9248 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::==*/)))))));
9249 if (UNTAG_Bool(variable[22])) { /*if*/
9250 /* Register variable[22]: Result */
9251 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
9252 if (UNTAG_Bool(variable[22])) { /*if*/
9253 variable[13] = variable[21] /*listnode7*/ /*listnode8=*/;
9254 } else { /*if*/
9255 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
9256 }
9257 }
9258 /* Register variable[22]: Local variable */
9259 /* Register variable[23]: Result */
9260 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*/;
9261 variable[22] = variable[23];
9262 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
9263 /* Register variable[23]: Result */
9264 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9265 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9266 return_label148: while(false);
9267 tracehead = trace.prev;
9268 return;
9269 }
9270 void parser___ReduceAction58___init(val_t self, int* init_table) {
9271 struct trace_t trace = {NULL, NULL, 3405, LOCATE_parser___ReduceAction58___init};
9272 val_t variable[2];
9273 struct WBT_ **closurevariable = NULL;
9274 trace.prev = tracehead; tracehead = &trace;
9275 trace.file = LOCATE_parser;
9276 /* Register variable[0]: Local variable */
9277 variable[0] = self;
9278 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction58].i]) return;
9279 /* Register variable[1]: Method return value and escape marker */
9280 return_label149: while(false);
9281 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction58].i] = 1;
9282 tracehead = trace.prev;
9283 return;
9284 }
9285 void parser___ReduceAction59___action(val_t self, val_t param0) {
9286 struct trace_t trace = {NULL, NULL, 3409, LOCATE_parser___ReduceAction59___action};
9287 val_t variable[22];
9288 struct WBT_ **closurevariable = NULL;
9289 trace.prev = tracehead; tracehead = &trace;
9290 trace.file = LOCATE_parser;
9291 /* Register variable[0]: Local variable */
9292 variable[0] = self;
9293 /* Register variable[1]: Local variable */
9294 variable[1] = param0;
9295 /* Register variable[2]: Method return value and escape marker */
9296 /* Register variable[3]: Local variable */
9297 variable[3] = NIT_NULL /*null*/;
9298 /* Register variable[4]: Local variable */
9299 /* Register variable[5]: Result */
9300 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9301 variable[4] = variable[5];
9302 /* Register variable[5]: Local variable */
9303 /* Register variable[6]: Result */
9304 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9305 variable[5] = variable[6];
9306 /* Register variable[6]: Local variable */
9307 /* Register variable[7]: Result */
9308 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9309 variable[6] = variable[7];
9310 /* Register variable[7]: Local variable */
9311 /* Register variable[8]: Result */
9312 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9313 variable[7] = variable[8];
9314 /* Register variable[8]: Local variable */
9315 /* Register variable[9]: Result */
9316 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9317 variable[8] = variable[9];
9318 /* Register variable[9]: Local variable */
9319 /* Register variable[10]: Result */
9320 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9321 variable[9] = variable[10];
9322 /* Register variable[10]: Local variable */
9323 /* Register variable[11]: Result */
9324 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9325 variable[10] = variable[11];
9326 /* Register variable[11]: Local variable */
9327 /* Register variable[12]: Result */
9328 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9329 variable[11] = variable[12];
9330 /* Register variable[12]: Local variable */
9331 /* Register variable[13]: Result */
9332 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9333 variable[12] = variable[13];
9334 /* Register variable[13]: Local variable */
9335 /* Register variable[14]: Result */
9336 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9337 variable[13] = variable[14];
9338 /* Register variable[14]: Local variable */
9339 /* Register variable[15]: Result */
9340 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9341 variable[14] = variable[15];
9342 /* Register variable[15]: Local variable */
9343 variable[15] = variable[11] /*nodearraylist1*/;
9344 /* Register variable[16]: Result */
9345 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9346 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3424); nit_exit(1);}
9347 /* Register variable[16]: Local variable */
9348 variable[16] = variable[10] /*nodearraylist2*/;
9349 /* Register variable[17]: Result */
9350 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9351 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3426); nit_exit(1);}
9352 /* Register variable[17]: Local variable */
9353 variable[17] = variable[9] /*nodearraylist3*/;
9354 /* Register variable[18]: Result */
9355 variable[18] = TAG_Bool(( variable[17] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9356 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3428); nit_exit(1);}
9357 /* Register variable[18]: Local variable */
9358 variable[18] = variable[7] /*nodearraylist5*/;
9359 /* Register variable[19]: Result */
9360 variable[19] = TAG_Bool(( variable[18] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9361 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3430); nit_exit(1);}
9362 /* Register variable[19]: Local variable */
9363 variable[19] = variable[6] /*nodearraylist6*/;
9364 /* Register variable[20]: Result */
9365 variable[20] = TAG_Bool(( variable[19] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9366 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction59___action, LOCATE_parser, 3432); nit_exit(1);}
9367 /* Register variable[20]: Result */
9368 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::==*/)))))));
9369 if (UNTAG_Bool(variable[20])) { /*if*/
9370 /* Register variable[20]: Result */
9371 variable[20] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode9*/)( variable[13] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
9372 if (UNTAG_Bool(variable[20])) { /*if*/
9373 variable[13] = variable[19] /*listnode8*/ /*listnode9=*/;
9374 } else { /*if*/
9375 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode9*/)( variable[13] /*listnode9*/, variable[19] /*listnode8*/) /*IndexedCollection::append*/;
9376 }
9377 }
9378 /* Register variable[20]: Local variable */
9379 /* Register variable[21]: Result */
9380 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*/;
9381 variable[20] = variable[21];
9382 variable[3] = variable[20] /*pclassdefnode1*/ /*node_list=*/;
9383 /* Register variable[21]: Result */
9384 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9385 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
9386 return_label150: while(false);
9387 tracehead = trace.prev;
9388 return;
9389 }
9390 void parser___ReduceAction59___init(val_t self, int* init_table) {
9391 struct trace_t trace = {NULL, NULL, 3453, LOCATE_parser___ReduceAction59___init};
9392 val_t variable[2];
9393 struct WBT_ **closurevariable = NULL;
9394 trace.prev = tracehead; tracehead = &trace;
9395 trace.file = LOCATE_parser;
9396 /* Register variable[0]: Local variable */
9397 variable[0] = self;
9398 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction59].i]) return;
9399 /* Register variable[1]: Method return value and escape marker */
9400 return_label151: while(false);
9401 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction59].i] = 1;
9402 tracehead = trace.prev;
9403 return;
9404 }
9405 void parser___ReduceAction60___action(val_t self, val_t param0) {
9406 struct trace_t trace = {NULL, NULL, 3457, LOCATE_parser___ReduceAction60___action};
9407 val_t variable[24];
9408 struct WBT_ **closurevariable = NULL;
9409 trace.prev = tracehead; tracehead = &trace;
9410 trace.file = LOCATE_parser;
9411 /* Register variable[0]: Local variable */
9412 variable[0] = self;
9413 /* Register variable[1]: Local variable */
9414 variable[1] = param0;
9415 /* Register variable[2]: Method return value and escape marker */
9416 /* Register variable[3]: Local variable */
9417 variable[3] = NIT_NULL /*null*/;
9418 /* Register variable[4]: Local variable */
9419 /* Register variable[5]: Result */
9420 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9421 variable[4] = variable[5];
9422 /* Register variable[5]: Local variable */
9423 /* Register variable[6]: Result */
9424 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9425 variable[5] = variable[6];
9426 /* Register variable[6]: Local variable */
9427 /* Register variable[7]: Result */
9428 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9429 variable[6] = variable[7];
9430 /* Register variable[7]: Local variable */
9431 /* Register variable[8]: Result */
9432 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9433 variable[7] = variable[8];
9434 /* Register variable[8]: Local variable */
9435 /* Register variable[9]: Result */
9436 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9437 variable[8] = variable[9];
9438 /* Register variable[9]: Local variable */
9439 /* Register variable[10]: Result */
9440 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9441 variable[9] = variable[10];
9442 /* Register variable[10]: Local variable */
9443 /* Register variable[11]: Result */
9444 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9445 variable[10] = variable[11];
9446 /* Register variable[11]: Local variable */
9447 /* Register variable[12]: Result */
9448 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9449 variable[11] = variable[12];
9450 /* Register variable[12]: Local variable */
9451 /* Register variable[13]: Result */
9452 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9453 variable[12] = variable[13];
9454 /* Register variable[13]: Local variable */
9455 /* Register variable[14]: Result */
9456 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9457 variable[13] = variable[14];
9458 /* Register variable[14]: Local variable */
9459 /* Register variable[15]: Result */
9460 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9461 variable[14] = variable[15];
9462 /* Register variable[15]: Local variable */
9463 /* Register variable[16]: Result */
9464 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9465 variable[15] = variable[16];
9466 /* Register variable[16]: Local variable */
9467 variable[16] = variable[12] /*nodearraylist1*/;
9468 /* Register variable[17]: Result */
9469 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9470 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3473); nit_exit(1);}
9471 /* Register variable[17]: Local variable */
9472 variable[17] = variable[11] /*nodearraylist2*/;
9473 /* Register variable[18]: Result */
9474 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9475 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3475); nit_exit(1);}
9476 /* Register variable[18]: Local variable */
9477 variable[18] = variable[10] /*nodearraylist3*/;
9478 /* Register variable[19]: Result */
9479 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9480 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3477); nit_exit(1);}
9481 /* Register variable[19]: Local variable */
9482 variable[19] = variable[9] /*nodearraylist4*/;
9483 /* Register variable[20]: Result */
9484 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9485 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3479); nit_exit(1);}
9486 /* Register variable[20]: Local variable */
9487 variable[20] = variable[7] /*nodearraylist6*/;
9488 /* Register variable[21]: Result */
9489 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9490 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3481); nit_exit(1);}
9491 /* Register variable[21]: Local variable */
9492 variable[21] = variable[6] /*nodearraylist7*/;
9493 /* Register variable[22]: Result */
9494 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9495 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction60___action, LOCATE_parser, 3483); nit_exit(1);}
9496 /* Register variable[22]: Result */
9497 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::==*/)))))));
9498 if (UNTAG_Bool(variable[22])) { /*if*/
9499 /* Register variable[22]: Result */
9500 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode9*/)( variable[14] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
9501 if (UNTAG_Bool(variable[22])) { /*if*/
9502 variable[14] = variable[21] /*listnode8*/ /*listnode9=*/;
9503 } else { /*if*/
9504 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode9*/)( variable[14] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
9505 }
9506 }
9507 /* Register variable[22]: Local variable */
9508 /* Register variable[23]: Result */
9509 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*/;
9510 variable[22] = variable[23];
9511 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
9512 /* Register variable[23]: Result */
9513 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9514 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9515 return_label152: while(false);
9516 tracehead = trace.prev;
9517 return;
9518 }
9519 void parser___ReduceAction60___init(val_t self, int* init_table) {
9520 struct trace_t trace = {NULL, NULL, 3504, LOCATE_parser___ReduceAction60___init};
9521 val_t variable[2];
9522 struct WBT_ **closurevariable = NULL;
9523 trace.prev = tracehead; tracehead = &trace;
9524 trace.file = LOCATE_parser;
9525 /* Register variable[0]: Local variable */
9526 variable[0] = self;
9527 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction60].i]) return;
9528 /* Register variable[1]: Method return value and escape marker */
9529 return_label153: while(false);
9530 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction60].i] = 1;
9531 tracehead = trace.prev;
9532 return;
9533 }
9534 void parser___ReduceAction61___action(val_t self, val_t param0) {
9535 struct trace_t trace = {NULL, NULL, 3508, LOCATE_parser___ReduceAction61___action};
9536 val_t variable[24];
9537 struct WBT_ **closurevariable = NULL;
9538 trace.prev = tracehead; tracehead = &trace;
9539 trace.file = LOCATE_parser;
9540 /* Register variable[0]: Local variable */
9541 variable[0] = self;
9542 /* Register variable[1]: Local variable */
9543 variable[1] = param0;
9544 /* Register variable[2]: Method return value and escape marker */
9545 /* Register variable[3]: Local variable */
9546 variable[3] = NIT_NULL /*null*/;
9547 /* Register variable[4]: Local variable */
9548 /* Register variable[5]: Result */
9549 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9550 variable[4] = variable[5];
9551 /* Register variable[5]: Local variable */
9552 /* Register variable[6]: Result */
9553 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9554 variable[5] = variable[6];
9555 /* Register variable[6]: Local variable */
9556 /* Register variable[7]: Result */
9557 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9558 variable[6] = variable[7];
9559 /* Register variable[7]: Local variable */
9560 /* Register variable[8]: Result */
9561 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9562 variable[7] = variable[8];
9563 /* Register variable[8]: Local variable */
9564 /* Register variable[9]: Result */
9565 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9566 variable[8] = variable[9];
9567 /* Register variable[9]: Local variable */
9568 /* Register variable[10]: Result */
9569 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9570 variable[9] = variable[10];
9571 /* Register variable[10]: Local variable */
9572 /* Register variable[11]: Result */
9573 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9574 variable[10] = variable[11];
9575 /* Register variable[11]: Local variable */
9576 /* Register variable[12]: Result */
9577 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9578 variable[11] = variable[12];
9579 /* Register variable[12]: Local variable */
9580 /* Register variable[13]: Result */
9581 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9582 variable[12] = variable[13];
9583 /* Register variable[13]: Local variable */
9584 /* Register variable[14]: Result */
9585 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9586 variable[13] = variable[14];
9587 /* Register variable[14]: Local variable */
9588 /* Register variable[15]: Result */
9589 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9590 variable[14] = variable[15];
9591 /* Register variable[15]: Local variable */
9592 /* Register variable[16]: Result */
9593 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9594 variable[15] = variable[16];
9595 /* Register variable[16]: Local variable */
9596 variable[16] = variable[12] /*nodearraylist1*/;
9597 /* Register variable[17]: Result */
9598 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9599 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3524); nit_exit(1);}
9600 /* Register variable[17]: Local variable */
9601 variable[17] = variable[11] /*nodearraylist2*/;
9602 /* Register variable[18]: Result */
9603 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9604 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3526); nit_exit(1);}
9605 /* Register variable[18]: Local variable */
9606 variable[18] = variable[10] /*nodearraylist3*/;
9607 /* Register variable[19]: Result */
9608 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9609 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3528); nit_exit(1);}
9610 /* Register variable[19]: Local variable */
9611 variable[19] = variable[8] /*nodearraylist5*/;
9612 /* Register variable[20]: Result */
9613 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9614 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3530); nit_exit(1);}
9615 /* Register variable[20]: Local variable */
9616 variable[20] = variable[7] /*nodearraylist6*/;
9617 /* Register variable[21]: Result */
9618 variable[21] = TAG_Bool(( variable[20] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9619 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3532); nit_exit(1);}
9620 /* Register variable[21]: Result */
9621 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::==*/)))))));
9622 if (UNTAG_Bool(variable[21])) { /*if*/
9623 /* Register variable[21]: Result */
9624 variable[21] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
9625 if (UNTAG_Bool(variable[21])) { /*if*/
9626 variable[13] = variable[20] /*listnode7*/ /*listnode8=*/;
9627 } else { /*if*/
9628 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[20] /*listnode7*/) /*IndexedCollection::append*/;
9629 }
9630 }
9631 /* Register variable[21]: Local variable */
9632 variable[21] = variable[6] /*nodearraylist7*/;
9633 /* Register variable[22]: Result */
9634 variable[22] = TAG_Bool(( variable[21] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9635 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction61___action, LOCATE_parser, 3541); nit_exit(1);}
9636 /* Register variable[22]: Result */
9637 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::==*/)))))));
9638 if (UNTAG_Bool(variable[22])) { /*if*/
9639 /* Register variable[22]: Result */
9640 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode10*/)( variable[14] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
9641 if (UNTAG_Bool(variable[22])) { /*if*/
9642 variable[14] = variable[21] /*listnode9*/ /*listnode10=*/;
9643 } else { /*if*/
9644 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode10*/)( variable[14] /*listnode10*/, variable[21] /*listnode9*/) /*IndexedCollection::append*/;
9645 }
9646 }
9647 /* Register variable[22]: Local variable */
9648 /* Register variable[23]: Result */
9649 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*/;
9650 variable[22] = variable[23];
9651 variable[3] = variable[22] /*pclassdefnode1*/ /*node_list=*/;
9652 /* Register variable[23]: Result */
9653 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9654 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
9655 return_label154: while(false);
9656 tracehead = trace.prev;
9657 return;
9658 }
9659 void parser___ReduceAction61___init(val_t self, int* init_table) {
9660 struct trace_t trace = {NULL, NULL, 3562, LOCATE_parser___ReduceAction61___init};
9661 val_t variable[2];
9662 struct WBT_ **closurevariable = NULL;
9663 trace.prev = tracehead; tracehead = &trace;
9664 trace.file = LOCATE_parser;
9665 /* Register variable[0]: Local variable */
9666 variable[0] = self;
9667 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction61].i]) return;
9668 /* Register variable[1]: Method return value and escape marker */
9669 return_label155: while(false);
9670 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction61].i] = 1;
9671 tracehead = trace.prev;
9672 return;
9673 }
9674 void parser___ReduceAction62___action(val_t self, val_t param0) {
9675 struct trace_t trace = {NULL, NULL, 3566, LOCATE_parser___ReduceAction62___action};
9676 val_t variable[26];
9677 struct WBT_ **closurevariable = NULL;
9678 trace.prev = tracehead; tracehead = &trace;
9679 trace.file = LOCATE_parser;
9680 /* Register variable[0]: Local variable */
9681 variable[0] = self;
9682 /* Register variable[1]: Local variable */
9683 variable[1] = param0;
9684 /* Register variable[2]: Method return value and escape marker */
9685 /* Register variable[3]: Local variable */
9686 variable[3] = NIT_NULL /*null*/;
9687 /* Register variable[4]: Local variable */
9688 /* Register variable[5]: Result */
9689 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9690 variable[4] = variable[5];
9691 /* Register variable[5]: Local variable */
9692 /* Register variable[6]: Result */
9693 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9694 variable[5] = variable[6];
9695 /* Register variable[6]: Local variable */
9696 /* Register variable[7]: Result */
9697 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9698 variable[6] = variable[7];
9699 /* Register variable[7]: Local variable */
9700 /* Register variable[8]: Result */
9701 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9702 variable[7] = variable[8];
9703 /* Register variable[8]: Local variable */
9704 /* Register variable[9]: Result */
9705 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9706 variable[8] = variable[9];
9707 /* Register variable[9]: Local variable */
9708 /* Register variable[10]: Result */
9709 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9710 variable[9] = variable[10];
9711 /* Register variable[10]: Local variable */
9712 /* Register variable[11]: Result */
9713 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9714 variable[10] = variable[11];
9715 /* Register variable[11]: Local variable */
9716 /* Register variable[12]: Result */
9717 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9718 variable[11] = variable[12];
9719 /* Register variable[12]: Local variable */
9720 /* Register variable[13]: Result */
9721 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9722 variable[12] = variable[13];
9723 /* Register variable[13]: Local variable */
9724 /* Register variable[14]: Result */
9725 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9726 variable[13] = variable[14];
9727 /* Register variable[14]: Local variable */
9728 /* Register variable[15]: Result */
9729 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9730 variable[14] = variable[15];
9731 /* Register variable[15]: Local variable */
9732 /* Register variable[16]: Result */
9733 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9734 variable[15] = variable[16];
9735 /* Register variable[16]: Local variable */
9736 /* Register variable[17]: Result */
9737 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9738 variable[16] = variable[17];
9739 /* Register variable[17]: Local variable */
9740 variable[17] = variable[13] /*nodearraylist1*/;
9741 /* Register variable[18]: Result */
9742 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9743 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3583); nit_exit(1);}
9744 /* Register variable[18]: Local variable */
9745 variable[18] = variable[12] /*nodearraylist2*/;
9746 /* Register variable[19]: Result */
9747 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9748 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3585); nit_exit(1);}
9749 /* Register variable[19]: Local variable */
9750 variable[19] = variable[11] /*nodearraylist3*/;
9751 /* Register variable[20]: Result */
9752 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9753 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3587); nit_exit(1);}
9754 /* Register variable[20]: Local variable */
9755 variable[20] = variable[10] /*nodearraylist4*/;
9756 /* Register variable[21]: Result */
9757 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9758 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3589); nit_exit(1);}
9759 /* Register variable[21]: Local variable */
9760 variable[21] = variable[8] /*nodearraylist6*/;
9761 /* Register variable[22]: Result */
9762 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9763 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3591); nit_exit(1);}
9764 /* Register variable[22]: Local variable */
9765 variable[22] = variable[7] /*nodearraylist7*/;
9766 /* Register variable[23]: Result */
9767 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9768 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3593); nit_exit(1);}
9769 /* Register variable[23]: Result */
9770 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::==*/)))))));
9771 if (UNTAG_Bool(variable[23])) { /*if*/
9772 /* Register variable[23]: Result */
9773 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
9774 if (UNTAG_Bool(variable[23])) { /*if*/
9775 variable[14] = variable[22] /*listnode7*/ /*listnode8=*/;
9776 } else { /*if*/
9777 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
9778 }
9779 }
9780 /* Register variable[23]: Local variable */
9781 variable[23] = variable[6] /*nodearraylist8*/;
9782 /* Register variable[24]: Result */
9783 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
9784 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction62___action, LOCATE_parser, 3602); nit_exit(1);}
9785 /* Register variable[24]: Result */
9786 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::==*/)))))));
9787 if (UNTAG_Bool(variable[24])) { /*if*/
9788 /* Register variable[24]: Result */
9789 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode10*/)( variable[15] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
9790 if (UNTAG_Bool(variable[24])) { /*if*/
9791 variable[15] = variable[23] /*listnode9*/ /*listnode10=*/;
9792 } else { /*if*/
9793 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode10*/)( variable[15] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
9794 }
9795 }
9796 /* Register variable[24]: Local variable */
9797 /* Register variable[25]: Result */
9798 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*/;
9799 variable[24] = variable[25];
9800 variable[3] = variable[24] /*pclassdefnode1*/ /*node_list=*/;
9801 /* Register variable[25]: Result */
9802 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9803 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
9804 return_label156: while(false);
9805 tracehead = trace.prev;
9806 return;
9807 }
9808 void parser___ReduceAction62___init(val_t self, int* init_table) {
9809 struct trace_t trace = {NULL, NULL, 3623, LOCATE_parser___ReduceAction62___init};
9810 val_t variable[2];
9811 struct WBT_ **closurevariable = NULL;
9812 trace.prev = tracehead; tracehead = &trace;
9813 trace.file = LOCATE_parser;
9814 /* Register variable[0]: Local variable */
9815 variable[0] = self;
9816 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction62].i]) return;
9817 /* Register variable[1]: Method return value and escape marker */
9818 return_label157: while(false);
9819 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction62].i] = 1;
9820 tracehead = trace.prev;
9821 return;
9822 }
9823 void parser___ReduceAction63___action(val_t self, val_t param0) {
9824 struct trace_t trace = {NULL, NULL, 3627, LOCATE_parser___ReduceAction63___action};
9825 val_t variable[23];
9826 struct WBT_ **closurevariable = NULL;
9827 trace.prev = tracehead; tracehead = &trace;
9828 trace.file = LOCATE_parser;
9829 /* Register variable[0]: Local variable */
9830 variable[0] = self;
9831 /* Register variable[1]: Local variable */
9832 variable[1] = param0;
9833 /* Register variable[2]: Method return value and escape marker */
9834 /* Register variable[3]: Local variable */
9835 variable[3] = NIT_NULL /*null*/;
9836 /* Register variable[4]: Local variable */
9837 /* Register variable[5]: Result */
9838 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9839 variable[4] = variable[5];
9840 /* Register variable[5]: Local variable */
9841 /* Register variable[6]: Result */
9842 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9843 variable[5] = variable[6];
9844 /* Register variable[6]: Local variable */
9845 /* Register variable[7]: Result */
9846 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9847 variable[6] = variable[7];
9848 /* Register variable[7]: Local variable */
9849 /* Register variable[8]: Result */
9850 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9851 variable[7] = variable[8];
9852 /* Register variable[8]: Local variable */
9853 /* Register variable[9]: Result */
9854 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9855 variable[8] = variable[9];
9856 /* Register variable[9]: Local variable */
9857 /* Register variable[10]: Result */
9858 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9859 variable[9] = variable[10];
9860 /* Register variable[10]: Local variable */
9861 /* Register variable[11]: Result */
9862 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9863 variable[10] = variable[11];
9864 /* Register variable[11]: Local variable */
9865 /* Register variable[12]: Result */
9866 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9867 variable[11] = variable[12];
9868 /* Register variable[12]: Local variable */
9869 /* Register variable[13]: Result */
9870 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9871 variable[12] = variable[13];
9872 /* Register variable[13]: Local variable */
9873 /* Register variable[14]: Result */
9874 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9875 variable[13] = variable[14];
9876 /* Register variable[14]: Local variable */
9877 /* Register variable[15]: Result */
9878 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9879 variable[14] = variable[15];
9880 /* Register variable[15]: Local variable */
9881 /* Register variable[16]: Result */
9882 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9883 variable[15] = variable[16];
9884 /* Register variable[16]: Local variable */
9885 variable[16] = variable[12] /*nodearraylist1*/;
9886 /* Register variable[17]: Result */
9887 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
9888 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3643); nit_exit(1);}
9889 /* Register variable[17]: Local variable */
9890 variable[17] = variable[11] /*nodearraylist2*/;
9891 /* Register variable[18]: Result */
9892 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
9893 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3645); nit_exit(1);}
9894 /* Register variable[18]: Local variable */
9895 variable[18] = variable[10] /*nodearraylist3*/;
9896 /* Register variable[19]: Result */
9897 variable[19] = TAG_Bool(( variable[18] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
9898 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3647); nit_exit(1);}
9899 /* Register variable[19]: Local variable */
9900 variable[19] = variable[8] /*nodearraylist5*/;
9901 /* Register variable[20]: Result */
9902 variable[20] = TAG_Bool(( variable[19] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
9903 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3649); nit_exit(1);}
9904 /* Register variable[20]: Local variable */
9905 variable[20] = variable[7] /*nodearraylist6*/;
9906 /* Register variable[21]: Result */
9907 variable[21] = TAG_Bool(( variable[20] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
9908 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction63___action, LOCATE_parser, 3651); nit_exit(1);}
9909 /* Register variable[21]: Result */
9910 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::==*/)))))));
9911 if (UNTAG_Bool(variable[21])) { /*if*/
9912 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode10*/)( variable[15] /*listnode10*/, variable[20] /*ppropdefnode9*/) /*AbstractArray::add*/;
9913 }
9914 /* Register variable[21]: Local variable */
9915 /* Register variable[22]: Result */
9916 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*/;
9917 variable[21] = variable[22];
9918 variable[3] = variable[21] /*pclassdefnode1*/ /*node_list=*/;
9919 /* Register variable[22]: Result */
9920 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
9921 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
9922 return_label158: while(false);
9923 tracehead = trace.prev;
9924 return;
9925 }
9926 void parser___ReduceAction63___init(val_t self, int* init_table) {
9927 struct trace_t trace = {NULL, NULL, 3668, LOCATE_parser___ReduceAction63___init};
9928 val_t variable[2];
9929 struct WBT_ **closurevariable = NULL;
9930 trace.prev = tracehead; tracehead = &trace;
9931 trace.file = LOCATE_parser;
9932 /* Register variable[0]: Local variable */
9933 variable[0] = self;
9934 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction63].i]) return;
9935 /* Register variable[1]: Method return value and escape marker */
9936 return_label159: while(false);
9937 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction63].i] = 1;
9938 tracehead = trace.prev;
9939 return;
9940 }
9941 void parser___ReduceAction64___action(val_t self, val_t param0) {
9942 struct trace_t trace = {NULL, NULL, 3672, LOCATE_parser___ReduceAction64___action};
9943 val_t variable[25];
9944 struct WBT_ **closurevariable = NULL;
9945 trace.prev = tracehead; tracehead = &trace;
9946 trace.file = LOCATE_parser;
9947 /* Register variable[0]: Local variable */
9948 variable[0] = self;
9949 /* Register variable[1]: Local variable */
9950 variable[1] = param0;
9951 /* Register variable[2]: Method return value and escape marker */
9952 /* Register variable[3]: Local variable */
9953 variable[3] = NIT_NULL /*null*/;
9954 /* Register variable[4]: Local variable */
9955 /* Register variable[5]: Result */
9956 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9957 variable[4] = variable[5];
9958 /* Register variable[5]: Local variable */
9959 /* Register variable[6]: Result */
9960 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9961 variable[5] = variable[6];
9962 /* Register variable[6]: Local variable */
9963 /* Register variable[7]: Result */
9964 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9965 variable[6] = variable[7];
9966 /* Register variable[7]: Local variable */
9967 /* Register variable[8]: Result */
9968 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9969 variable[7] = variable[8];
9970 /* Register variable[8]: Local variable */
9971 /* Register variable[9]: Result */
9972 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9973 variable[8] = variable[9];
9974 /* Register variable[9]: Local variable */
9975 /* Register variable[10]: Result */
9976 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9977 variable[9] = variable[10];
9978 /* Register variable[10]: Local variable */
9979 /* Register variable[11]: Result */
9980 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9981 variable[10] = variable[11];
9982 /* Register variable[11]: Local variable */
9983 /* Register variable[12]: Result */
9984 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9985 variable[11] = variable[12];
9986 /* Register variable[12]: Local variable */
9987 /* Register variable[13]: Result */
9988 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9989 variable[12] = variable[13];
9990 /* Register variable[13]: Local variable */
9991 /* Register variable[14]: Result */
9992 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
9993 variable[13] = variable[14];
9994 /* Register variable[14]: Local variable */
9995 /* Register variable[15]: Result */
9996 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
9997 variable[14] = variable[15];
9998 /* Register variable[15]: Local variable */
9999 /* Register variable[16]: Result */
10000 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10001 variable[15] = variable[16];
10002 /* Register variable[16]: Local variable */
10003 /* Register variable[17]: Result */
10004 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10005 variable[16] = variable[17];
10006 /* Register variable[17]: Local variable */
10007 variable[17] = variable[13] /*nodearraylist1*/;
10008 /* Register variable[18]: Result */
10009 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10010 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3689); nit_exit(1);}
10011 /* Register variable[18]: Local variable */
10012 variable[18] = variable[12] /*nodearraylist2*/;
10013 /* Register variable[19]: Result */
10014 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10015 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3691); nit_exit(1);}
10016 /* Register variable[19]: Local variable */
10017 variable[19] = variable[11] /*nodearraylist3*/;
10018 /* Register variable[20]: Result */
10019 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10020 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3693); nit_exit(1);}
10021 /* Register variable[20]: Local variable */
10022 variable[20] = variable[9] /*nodearraylist5*/;
10023 /* Register variable[21]: Result */
10024 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10025 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3695); nit_exit(1);}
10026 /* Register variable[21]: Local variable */
10027 variable[21] = variable[8] /*nodearraylist6*/;
10028 /* Register variable[22]: Result */
10029 variable[22] = TAG_Bool(( variable[21] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10030 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3697); nit_exit(1);}
10031 /* Register variable[22]: Local variable */
10032 variable[22] = variable[6] /*nodearraylist8*/;
10033 /* Register variable[23]: Result */
10034 variable[23] = TAG_Bool(( variable[22] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10035 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction64___action, LOCATE_parser, 3699); nit_exit(1);}
10036 /* Register variable[23]: Result */
10037 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::==*/)))))));
10038 if (UNTAG_Bool(variable[23])) { /*if*/
10039 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[21] /*ppropdefnode9*/) /*AbstractArray::add*/;
10040 }
10041 /* Register variable[23]: Result */
10042 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::==*/)))))));
10043 if (UNTAG_Bool(variable[23])) { /*if*/
10044 /* Register variable[23]: Result */
10045 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode11*/)( variable[16] /*listnode11*/) /*AbstractArrayRead::is_empty*/;
10046 if (UNTAG_Bool(variable[23])) { /*if*/
10047 variable[16] = variable[22] /*listnode10*/ /*listnode11=*/;
10048 } else { /*if*/
10049 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*listnode10*/) /*IndexedCollection::append*/;
10050 }
10051 }
10052 /* Register variable[23]: Local variable */
10053 /* Register variable[24]: Result */
10054 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*/;
10055 variable[23] = variable[24];
10056 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
10057 /* Register variable[24]: Result */
10058 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10059 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
10060 return_label160: while(false);
10061 tracehead = trace.prev;
10062 return;
10063 }
10064 void parser___ReduceAction64___init(val_t self, int* init_table) {
10065 struct trace_t trace = {NULL, NULL, 3723, LOCATE_parser___ReduceAction64___init};
10066 val_t variable[2];
10067 struct WBT_ **closurevariable = NULL;
10068 trace.prev = tracehead; tracehead = &trace;
10069 trace.file = LOCATE_parser;
10070 /* Register variable[0]: Local variable */
10071 variable[0] = self;
10072 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction64].i]) return;
10073 /* Register variable[1]: Method return value and escape marker */
10074 return_label161: while(false);
10075 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction64].i] = 1;
10076 tracehead = trace.prev;
10077 return;
10078 }
10079 void parser___ReduceAction65___action(val_t self, val_t param0) {
10080 struct trace_t trace = {NULL, NULL, 3727, LOCATE_parser___ReduceAction65___action};
10081 val_t variable[25];
10082 struct WBT_ **closurevariable = NULL;
10083 trace.prev = tracehead; tracehead = &trace;
10084 trace.file = LOCATE_parser;
10085 /* Register variable[0]: Local variable */
10086 variable[0] = self;
10087 /* Register variable[1]: Local variable */
10088 variable[1] = param0;
10089 /* Register variable[2]: Method return value and escape marker */
10090 /* Register variable[3]: Local variable */
10091 variable[3] = NIT_NULL /*null*/;
10092 /* Register variable[4]: Local variable */
10093 /* Register variable[5]: Result */
10094 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10095 variable[4] = variable[5];
10096 /* Register variable[5]: Local variable */
10097 /* Register variable[6]: Result */
10098 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10099 variable[5] = variable[6];
10100 /* Register variable[6]: Local variable */
10101 /* Register variable[7]: Result */
10102 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10103 variable[6] = variable[7];
10104 /* Register variable[7]: Local variable */
10105 /* Register variable[8]: Result */
10106 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10107 variable[7] = variable[8];
10108 /* Register variable[8]: Local variable */
10109 /* Register variable[9]: Result */
10110 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10111 variable[8] = variable[9];
10112 /* Register variable[9]: Local variable */
10113 /* Register variable[10]: Result */
10114 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10115 variable[9] = variable[10];
10116 /* Register variable[10]: Local variable */
10117 /* Register variable[11]: Result */
10118 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10119 variable[10] = variable[11];
10120 /* Register variable[11]: Local variable */
10121 /* Register variable[12]: Result */
10122 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10123 variable[11] = variable[12];
10124 /* Register variable[12]: Local variable */
10125 /* Register variable[13]: Result */
10126 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10127 variable[12] = variable[13];
10128 /* Register variable[13]: Local variable */
10129 /* Register variable[14]: Result */
10130 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10131 variable[13] = variable[14];
10132 /* Register variable[14]: Local variable */
10133 /* Register variable[15]: Result */
10134 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10135 variable[14] = variable[15];
10136 /* Register variable[15]: Local variable */
10137 /* Register variable[16]: Result */
10138 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10139 variable[15] = variable[16];
10140 /* Register variable[16]: Local variable */
10141 /* Register variable[17]: Result */
10142 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10143 variable[16] = variable[17];
10144 /* Register variable[17]: Local variable */
10145 variable[17] = variable[13] /*nodearraylist1*/;
10146 /* Register variable[18]: Result */
10147 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10148 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3744); nit_exit(1);}
10149 /* Register variable[18]: Local variable */
10150 variable[18] = variable[12] /*nodearraylist2*/;
10151 /* Register variable[19]: Result */
10152 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10153 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3746); nit_exit(1);}
10154 /* Register variable[19]: Local variable */
10155 variable[19] = variable[11] /*nodearraylist3*/;
10156 /* Register variable[20]: Result */
10157 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10158 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3748); nit_exit(1);}
10159 /* Register variable[20]: Local variable */
10160 variable[20] = variable[10] /*nodearraylist4*/;
10161 /* Register variable[21]: Result */
10162 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10163 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3750); nit_exit(1);}
10164 /* Register variable[21]: Local variable */
10165 variable[21] = variable[8] /*nodearraylist6*/;
10166 /* Register variable[22]: Result */
10167 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10168 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3752); nit_exit(1);}
10169 /* Register variable[22]: Local variable */
10170 variable[22] = variable[7] /*nodearraylist7*/;
10171 /* Register variable[23]: Result */
10172 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10173 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction65___action, LOCATE_parser, 3754); nit_exit(1);}
10174 /* Register variable[23]: Result */
10175 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::==*/)))))));
10176 if (UNTAG_Bool(variable[23])) { /*if*/
10177 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode10*/)( variable[16] /*listnode10*/, variable[22] /*ppropdefnode9*/) /*AbstractArray::add*/;
10178 }
10179 /* Register variable[23]: Local variable */
10180 /* Register variable[24]: Result */
10181 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*/;
10182 variable[23] = variable[24];
10183 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
10184 /* Register variable[24]: Result */
10185 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10186 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
10187 return_label162: while(false);
10188 tracehead = trace.prev;
10189 return;
10190 }
10191 void parser___ReduceAction65___init(val_t self, int* init_table) {
10192 struct trace_t trace = {NULL, NULL, 3771, LOCATE_parser___ReduceAction65___init};
10193 val_t variable[2];
10194 struct WBT_ **closurevariable = NULL;
10195 trace.prev = tracehead; tracehead = &trace;
10196 trace.file = LOCATE_parser;
10197 /* Register variable[0]: Local variable */
10198 variable[0] = self;
10199 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction65].i]) return;
10200 /* Register variable[1]: Method return value and escape marker */
10201 return_label163: while(false);
10202 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction65].i] = 1;
10203 tracehead = trace.prev;
10204 return;
10205 }
10206 void parser___ReduceAction66___action(val_t self, val_t param0) {
10207 struct trace_t trace = {NULL, NULL, 3775, LOCATE_parser___ReduceAction66___action};
10208 val_t variable[27];
10209 struct WBT_ **closurevariable = NULL;
10210 trace.prev = tracehead; tracehead = &trace;
10211 trace.file = LOCATE_parser;
10212 /* Register variable[0]: Local variable */
10213 variable[0] = self;
10214 /* Register variable[1]: Local variable */
10215 variable[1] = param0;
10216 /* Register variable[2]: Method return value and escape marker */
10217 /* Register variable[3]: Local variable */
10218 variable[3] = NIT_NULL /*null*/;
10219 /* Register variable[4]: Local variable */
10220 /* Register variable[5]: Result */
10221 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10222 variable[4] = variable[5];
10223 /* Register variable[5]: Local variable */
10224 /* Register variable[6]: Result */
10225 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10226 variable[5] = variable[6];
10227 /* Register variable[6]: Local variable */
10228 /* Register variable[7]: Result */
10229 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10230 variable[6] = variable[7];
10231 /* Register variable[7]: Local variable */
10232 /* Register variable[8]: Result */
10233 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10234 variable[7] = variable[8];
10235 /* Register variable[8]: Local variable */
10236 /* Register variable[9]: Result */
10237 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10238 variable[8] = variable[9];
10239 /* Register variable[9]: Local variable */
10240 /* Register variable[10]: Result */
10241 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10242 variable[9] = variable[10];
10243 /* Register variable[10]: Local variable */
10244 /* Register variable[11]: Result */
10245 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10246 variable[10] = variable[11];
10247 /* Register variable[11]: Local variable */
10248 /* Register variable[12]: Result */
10249 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10250 variable[11] = variable[12];
10251 /* Register variable[12]: Local variable */
10252 /* Register variable[13]: Result */
10253 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10254 variable[12] = variable[13];
10255 /* Register variable[13]: Local variable */
10256 /* Register variable[14]: Result */
10257 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10258 variable[13] = variable[14];
10259 /* Register variable[14]: Local variable */
10260 /* Register variable[15]: Result */
10261 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10262 variable[14] = variable[15];
10263 /* Register variable[15]: Local variable */
10264 /* Register variable[16]: Result */
10265 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10266 variable[15] = variable[16];
10267 /* Register variable[16]: Local variable */
10268 /* Register variable[17]: Result */
10269 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10270 variable[16] = variable[17];
10271 /* Register variable[17]: Local variable */
10272 /* Register variable[18]: Result */
10273 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10274 variable[17] = variable[18];
10275 /* Register variable[18]: Local variable */
10276 variable[18] = variable[14] /*nodearraylist1*/;
10277 /* Register variable[19]: Result */
10278 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10279 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3793); nit_exit(1);}
10280 /* Register variable[19]: Local variable */
10281 variable[19] = variable[13] /*nodearraylist2*/;
10282 /* Register variable[20]: Result */
10283 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10284 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3795); nit_exit(1);}
10285 /* Register variable[20]: Local variable */
10286 variable[20] = variable[12] /*nodearraylist3*/;
10287 /* Register variable[21]: Result */
10288 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10289 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3797); nit_exit(1);}
10290 /* Register variable[21]: Local variable */
10291 variable[21] = variable[11] /*nodearraylist4*/;
10292 /* Register variable[22]: Result */
10293 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10294 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3799); nit_exit(1);}
10295 /* Register variable[22]: Local variable */
10296 variable[22] = variable[9] /*nodearraylist6*/;
10297 /* Register variable[23]: Result */
10298 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10299 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3801); nit_exit(1);}
10300 /* Register variable[23]: Local variable */
10301 variable[23] = variable[8] /*nodearraylist7*/;
10302 /* Register variable[24]: Result */
10303 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode9*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10304 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3803); nit_exit(1);}
10305 /* Register variable[24]: Local variable */
10306 variable[24] = variable[6] /*nodearraylist9*/;
10307 /* Register variable[25]: Result */
10308 variable[25] = TAG_Bool(( variable[24] /*listnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode10*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10309 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction66___action, LOCATE_parser, 3805); nit_exit(1);}
10310 /* Register variable[25]: Result */
10311 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::==*/)))))));
10312 if (UNTAG_Bool(variable[25])) { /*if*/
10313 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[23] /*ppropdefnode9*/) /*AbstractArray::add*/;
10314 }
10315 /* Register variable[25]: Result */
10316 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::==*/)))))));
10317 if (UNTAG_Bool(variable[25])) { /*if*/
10318 /* Register variable[25]: Result */
10319 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode11*/)( variable[17] /*listnode11*/) /*AbstractArrayRead::is_empty*/;
10320 if (UNTAG_Bool(variable[25])) { /*if*/
10321 variable[17] = variable[24] /*listnode10*/ /*listnode11=*/;
10322 } else { /*if*/
10323 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*listnode10*/) /*IndexedCollection::append*/;
10324 }
10325 }
10326 /* Register variable[25]: Local variable */
10327 /* Register variable[26]: Result */
10328 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*/;
10329 variable[25] = variable[26];
10330 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
10331 /* Register variable[26]: Result */
10332 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10333 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
10334 return_label164: while(false);
10335 tracehead = trace.prev;
10336 return;
10337 }
10338 void parser___ReduceAction66___init(val_t self, int* init_table) {
10339 struct trace_t trace = {NULL, NULL, 3829, LOCATE_parser___ReduceAction66___init};
10340 val_t variable[2];
10341 struct WBT_ **closurevariable = NULL;
10342 trace.prev = tracehead; tracehead = &trace;
10343 trace.file = LOCATE_parser;
10344 /* Register variable[0]: Local variable */
10345 variable[0] = self;
10346 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction66].i]) return;
10347 /* Register variable[1]: Method return value and escape marker */
10348 return_label165: while(false);
10349 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction66].i] = 1;
10350 tracehead = trace.prev;
10351 return;
10352 }
10353 void parser___ReduceAction67___action(val_t self, val_t param0) {
10354 struct trace_t trace = {NULL, NULL, 3833, LOCATE_parser___ReduceAction67___action};
10355 val_t variable[25];
10356 struct WBT_ **closurevariable = NULL;
10357 trace.prev = tracehead; tracehead = &trace;
10358 trace.file = LOCATE_parser;
10359 /* Register variable[0]: Local variable */
10360 variable[0] = self;
10361 /* Register variable[1]: Local variable */
10362 variable[1] = param0;
10363 /* Register variable[2]: Method return value and escape marker */
10364 /* Register variable[3]: Local variable */
10365 variable[3] = NIT_NULL /*null*/;
10366 /* Register variable[4]: Local variable */
10367 /* Register variable[5]: Result */
10368 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10369 variable[4] = variable[5];
10370 /* Register variable[5]: Local variable */
10371 /* Register variable[6]: Result */
10372 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10373 variable[5] = variable[6];
10374 /* Register variable[6]: Local variable */
10375 /* Register variable[7]: Result */
10376 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10377 variable[6] = variable[7];
10378 /* Register variable[7]: Local variable */
10379 /* Register variable[8]: Result */
10380 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10381 variable[7] = variable[8];
10382 /* Register variable[8]: Local variable */
10383 /* Register variable[9]: Result */
10384 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10385 variable[8] = variable[9];
10386 /* Register variable[9]: Local variable */
10387 /* Register variable[10]: Result */
10388 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10389 variable[9] = variable[10];
10390 /* Register variable[10]: Local variable */
10391 /* Register variable[11]: Result */
10392 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10393 variable[10] = variable[11];
10394 /* Register variable[11]: Local variable */
10395 /* Register variable[12]: Result */
10396 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10397 variable[11] = variable[12];
10398 /* Register variable[12]: Local variable */
10399 /* Register variable[13]: Result */
10400 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10401 variable[12] = variable[13];
10402 /* Register variable[13]: Local variable */
10403 /* Register variable[14]: Result */
10404 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10405 variable[13] = variable[14];
10406 /* Register variable[14]: Local variable */
10407 /* Register variable[15]: Result */
10408 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10409 variable[14] = variable[15];
10410 /* Register variable[15]: Local variable */
10411 /* Register variable[16]: Result */
10412 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10413 variable[15] = variable[16];
10414 /* Register variable[16]: Local variable */
10415 /* Register variable[17]: Result */
10416 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10417 variable[16] = variable[17];
10418 /* Register variable[17]: Local variable */
10419 variable[17] = variable[13] /*nodearraylist1*/;
10420 /* Register variable[18]: Result */
10421 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10422 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3850); nit_exit(1);}
10423 /* Register variable[18]: Local variable */
10424 variable[18] = variable[12] /*nodearraylist2*/;
10425 /* Register variable[19]: Result */
10426 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10427 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3852); nit_exit(1);}
10428 /* Register variable[19]: Local variable */
10429 variable[19] = variable[11] /*nodearraylist3*/;
10430 /* Register variable[20]: Result */
10431 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10432 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3854); nit_exit(1);}
10433 /* Register variable[20]: Local variable */
10434 variable[20] = variable[9] /*nodearraylist5*/;
10435 /* Register variable[21]: Result */
10436 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10437 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3856); nit_exit(1);}
10438 /* Register variable[21]: Local variable */
10439 variable[21] = variable[8] /*nodearraylist6*/;
10440 /* Register variable[22]: Result */
10441 variable[22] = TAG_Bool(( variable[21] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10442 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3858); nit_exit(1);}
10443 /* Register variable[22]: Result */
10444 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::==*/)))))));
10445 if (UNTAG_Bool(variable[22])) { /*if*/
10446 /* Register variable[22]: Result */
10447 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[14] /*listnode8*/)( variable[14] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
10448 if (UNTAG_Bool(variable[22])) { /*if*/
10449 variable[14] = variable[21] /*listnode7*/ /*listnode8=*/;
10450 } else { /*if*/
10451 CALL_abstract_collection___IndexedCollection___append( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[21] /*listnode7*/) /*IndexedCollection::append*/;
10452 }
10453 }
10454 /* Register variable[22]: Local variable */
10455 variable[22] = variable[7] /*nodearraylist7*/;
10456 /* Register variable[23]: Result */
10457 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10458 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction67___action, LOCATE_parser, 3867); nit_exit(1);}
10459 /* Register variable[23]: Result */
10460 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::==*/)))))));
10461 if (UNTAG_Bool(variable[23])) { /*if*/
10462 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
10463 }
10464 /* Register variable[23]: Local variable */
10465 /* Register variable[24]: Result */
10466 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*/;
10467 variable[23] = variable[24];
10468 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
10469 /* Register variable[24]: Result */
10470 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10471 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
10472 return_label166: while(false);
10473 tracehead = trace.prev;
10474 return;
10475 }
10476 void parser___ReduceAction67___init(val_t self, int* init_table) {
10477 struct trace_t trace = {NULL, NULL, 3884, LOCATE_parser___ReduceAction67___init};
10478 val_t variable[2];
10479 struct WBT_ **closurevariable = NULL;
10480 trace.prev = tracehead; tracehead = &trace;
10481 trace.file = LOCATE_parser;
10482 /* Register variable[0]: Local variable */
10483 variable[0] = self;
10484 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction67].i]) return;
10485 /* Register variable[1]: Method return value and escape marker */
10486 return_label167: while(false);
10487 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction67].i] = 1;
10488 tracehead = trace.prev;
10489 return;
10490 }
10491 void parser___ReduceAction68___action(val_t self, val_t param0) {
10492 struct trace_t trace = {NULL, NULL, 3888, LOCATE_parser___ReduceAction68___action};
10493 val_t variable[27];
10494 struct WBT_ **closurevariable = NULL;
10495 trace.prev = tracehead; tracehead = &trace;
10496 trace.file = LOCATE_parser;
10497 /* Register variable[0]: Local variable */
10498 variable[0] = self;
10499 /* Register variable[1]: Local variable */
10500 variable[1] = param0;
10501 /* Register variable[2]: Method return value and escape marker */
10502 /* Register variable[3]: Local variable */
10503 variable[3] = NIT_NULL /*null*/;
10504 /* Register variable[4]: Local variable */
10505 /* Register variable[5]: Result */
10506 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10507 variable[4] = variable[5];
10508 /* Register variable[5]: Local variable */
10509 /* Register variable[6]: Result */
10510 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10511 variable[5] = variable[6];
10512 /* Register variable[6]: Local variable */
10513 /* Register variable[7]: Result */
10514 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10515 variable[6] = variable[7];
10516 /* Register variable[7]: Local variable */
10517 /* Register variable[8]: Result */
10518 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10519 variable[7] = variable[8];
10520 /* Register variable[8]: Local variable */
10521 /* Register variable[9]: Result */
10522 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10523 variable[8] = variable[9];
10524 /* Register variable[9]: Local variable */
10525 /* Register variable[10]: Result */
10526 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10527 variable[9] = variable[10];
10528 /* Register variable[10]: Local variable */
10529 /* Register variable[11]: Result */
10530 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10531 variable[10] = variable[11];
10532 /* Register variable[11]: Local variable */
10533 /* Register variable[12]: Result */
10534 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10535 variable[11] = variable[12];
10536 /* Register variable[12]: Local variable */
10537 /* Register variable[13]: Result */
10538 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10539 variable[12] = variable[13];
10540 /* Register variable[13]: Local variable */
10541 /* Register variable[14]: Result */
10542 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10543 variable[13] = variable[14];
10544 /* Register variable[14]: Local variable */
10545 /* Register variable[15]: Result */
10546 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10547 variable[14] = variable[15];
10548 /* Register variable[15]: Local variable */
10549 /* Register variable[16]: Result */
10550 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10551 variable[15] = variable[16];
10552 /* Register variable[16]: Local variable */
10553 /* Register variable[17]: Result */
10554 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10555 variable[16] = variable[17];
10556 /* Register variable[17]: Local variable */
10557 /* Register variable[18]: Result */
10558 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10559 variable[17] = variable[18];
10560 /* Register variable[18]: Local variable */
10561 variable[18] = variable[14] /*nodearraylist1*/;
10562 /* Register variable[19]: Result */
10563 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10564 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3906); nit_exit(1);}
10565 /* Register variable[19]: Local variable */
10566 variable[19] = variable[13] /*nodearraylist2*/;
10567 /* Register variable[20]: Result */
10568 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10569 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3908); nit_exit(1);}
10570 /* Register variable[20]: Local variable */
10571 variable[20] = variable[12] /*nodearraylist3*/;
10572 /* Register variable[21]: Result */
10573 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10574 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3910); nit_exit(1);}
10575 /* Register variable[21]: Local variable */
10576 variable[21] = variable[10] /*nodearraylist5*/;
10577 /* Register variable[22]: Result */
10578 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10579 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3912); nit_exit(1);}
10580 /* Register variable[22]: Local variable */
10581 variable[22] = variable[9] /*nodearraylist6*/;
10582 /* Register variable[23]: Result */
10583 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10584 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3914); nit_exit(1);}
10585 /* Register variable[23]: Result */
10586 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::==*/)))))));
10587 if (UNTAG_Bool(variable[23])) { /*if*/
10588 /* Register variable[23]: Result */
10589 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
10590 if (UNTAG_Bool(variable[23])) { /*if*/
10591 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
10592 } else { /*if*/
10593 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
10594 }
10595 }
10596 /* Register variable[23]: Local variable */
10597 variable[23] = variable[8] /*nodearraylist7*/;
10598 /* Register variable[24]: Result */
10599 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10600 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3923); nit_exit(1);}
10601 /* Register variable[24]: Local variable */
10602 variable[24] = variable[6] /*nodearraylist9*/;
10603 /* Register variable[25]: Result */
10604 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10605 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction68___action, LOCATE_parser, 3925); nit_exit(1);}
10606 /* Register variable[25]: Result */
10607 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::==*/)))))));
10608 if (UNTAG_Bool(variable[25])) { /*if*/
10609 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
10610 }
10611 /* Register variable[25]: Result */
10612 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::==*/)))))));
10613 if (UNTAG_Bool(variable[25])) { /*if*/
10614 /* Register variable[25]: Result */
10615 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode12*/)( variable[17] /*listnode12*/) /*AbstractArrayRead::is_empty*/;
10616 if (UNTAG_Bool(variable[25])) { /*if*/
10617 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
10618 } else { /*if*/
10619 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
10620 }
10621 }
10622 /* Register variable[25]: Local variable */
10623 /* Register variable[26]: Result */
10624 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*/;
10625 variable[25] = variable[26];
10626 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
10627 /* Register variable[26]: Result */
10628 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10629 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
10630 return_label168: while(false);
10631 tracehead = trace.prev;
10632 return;
10633 }
10634 void parser___ReduceAction68___init(val_t self, int* init_table) {
10635 struct trace_t trace = {NULL, NULL, 3949, LOCATE_parser___ReduceAction68___init};
10636 val_t variable[2];
10637 struct WBT_ **closurevariable = NULL;
10638 trace.prev = tracehead; tracehead = &trace;
10639 trace.file = LOCATE_parser;
10640 /* Register variable[0]: Local variable */
10641 variable[0] = self;
10642 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction68].i]) return;
10643 /* Register variable[1]: Method return value and escape marker */
10644 return_label169: while(false);
10645 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction68].i] = 1;
10646 tracehead = trace.prev;
10647 return;
10648 }
10649 void parser___ReduceAction69___action(val_t self, val_t param0) {
10650 struct trace_t trace = {NULL, NULL, 3953, LOCATE_parser___ReduceAction69___action};
10651 val_t variable[27];
10652 struct WBT_ **closurevariable = NULL;
10653 trace.prev = tracehead; tracehead = &trace;
10654 trace.file = LOCATE_parser;
10655 /* Register variable[0]: Local variable */
10656 variable[0] = self;
10657 /* Register variable[1]: Local variable */
10658 variable[1] = param0;
10659 /* Register variable[2]: Method return value and escape marker */
10660 /* Register variable[3]: Local variable */
10661 variable[3] = NIT_NULL /*null*/;
10662 /* Register variable[4]: Local variable */
10663 /* Register variable[5]: Result */
10664 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10665 variable[4] = variable[5];
10666 /* Register variable[5]: Local variable */
10667 /* Register variable[6]: Result */
10668 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10669 variable[5] = variable[6];
10670 /* Register variable[6]: Local variable */
10671 /* Register variable[7]: Result */
10672 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10673 variable[6] = variable[7];
10674 /* Register variable[7]: Local variable */
10675 /* Register variable[8]: Result */
10676 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10677 variable[7] = variable[8];
10678 /* Register variable[8]: Local variable */
10679 /* Register variable[9]: Result */
10680 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10681 variable[8] = variable[9];
10682 /* Register variable[9]: Local variable */
10683 /* Register variable[10]: Result */
10684 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10685 variable[9] = variable[10];
10686 /* Register variable[10]: Local variable */
10687 /* Register variable[11]: Result */
10688 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10689 variable[10] = variable[11];
10690 /* Register variable[11]: Local variable */
10691 /* Register variable[12]: Result */
10692 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10693 variable[11] = variable[12];
10694 /* Register variable[12]: Local variable */
10695 /* Register variable[13]: Result */
10696 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10697 variable[12] = variable[13];
10698 /* Register variable[13]: Local variable */
10699 /* Register variable[14]: Result */
10700 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10701 variable[13] = variable[14];
10702 /* Register variable[14]: Local variable */
10703 /* Register variable[15]: Result */
10704 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10705 variable[14] = variable[15];
10706 /* Register variable[15]: Local variable */
10707 /* Register variable[16]: Result */
10708 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10709 variable[15] = variable[16];
10710 /* Register variable[16]: Local variable */
10711 /* Register variable[17]: Result */
10712 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10713 variable[16] = variable[17];
10714 /* Register variable[17]: Local variable */
10715 /* Register variable[18]: Result */
10716 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10717 variable[17] = variable[18];
10718 /* Register variable[18]: Local variable */
10719 variable[18] = variable[14] /*nodearraylist1*/;
10720 /* Register variable[19]: Result */
10721 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10722 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3971); nit_exit(1);}
10723 /* Register variable[19]: Local variable */
10724 variable[19] = variable[13] /*nodearraylist2*/;
10725 /* Register variable[20]: Result */
10726 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10727 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3973); nit_exit(1);}
10728 /* Register variable[20]: Local variable */
10729 variable[20] = variable[12] /*nodearraylist3*/;
10730 /* Register variable[21]: Result */
10731 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10732 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3975); nit_exit(1);}
10733 /* Register variable[21]: Local variable */
10734 variable[21] = variable[11] /*nodearraylist4*/;
10735 /* Register variable[22]: Result */
10736 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10737 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3977); nit_exit(1);}
10738 /* Register variable[22]: Local variable */
10739 variable[22] = variable[9] /*nodearraylist6*/;
10740 /* Register variable[23]: Result */
10741 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10742 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3979); nit_exit(1);}
10743 /* Register variable[23]: Local variable */
10744 variable[23] = variable[8] /*nodearraylist7*/;
10745 /* Register variable[24]: Result */
10746 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10747 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3981); nit_exit(1);}
10748 /* Register variable[24]: Result */
10749 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::==*/)))))));
10750 if (UNTAG_Bool(variable[24])) { /*if*/
10751 /* Register variable[24]: Result */
10752 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
10753 if (UNTAG_Bool(variable[24])) { /*if*/
10754 variable[15] = variable[23] /*listnode7*/ /*listnode8=*/;
10755 } else { /*if*/
10756 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
10757 }
10758 }
10759 /* Register variable[24]: Local variable */
10760 variable[24] = variable[7] /*nodearraylist8*/;
10761 /* Register variable[25]: Result */
10762 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10763 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction69___action, LOCATE_parser, 3990); nit_exit(1);}
10764 /* Register variable[25]: Result */
10765 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::==*/)))))));
10766 if (UNTAG_Bool(variable[25])) { /*if*/
10767 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
10768 }
10769 /* Register variable[25]: Local variable */
10770 /* Register variable[26]: Result */
10771 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*/;
10772 variable[25] = variable[26];
10773 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
10774 /* Register variable[26]: Result */
10775 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10776 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
10777 return_label170: while(false);
10778 tracehead = trace.prev;
10779 return;
10780 }
10781 void parser___ReduceAction69___init(val_t self, int* init_table) {
10782 struct trace_t trace = {NULL, NULL, 4007, LOCATE_parser___ReduceAction69___init};
10783 val_t variable[2];
10784 struct WBT_ **closurevariable = NULL;
10785 trace.prev = tracehead; tracehead = &trace;
10786 trace.file = LOCATE_parser;
10787 /* Register variable[0]: Local variable */
10788 variable[0] = self;
10789 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction69].i]) return;
10790 /* Register variable[1]: Method return value and escape marker */
10791 return_label171: while(false);
10792 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction69].i] = 1;
10793 tracehead = trace.prev;
10794 return;
10795 }
10796 void parser___ReduceAction70___action(val_t self, val_t param0) {
10797 struct trace_t trace = {NULL, NULL, 4011, LOCATE_parser___ReduceAction70___action};
10798 val_t variable[29];
10799 struct WBT_ **closurevariable = NULL;
10800 trace.prev = tracehead; tracehead = &trace;
10801 trace.file = LOCATE_parser;
10802 /* Register variable[0]: Local variable */
10803 variable[0] = self;
10804 /* Register variable[1]: Local variable */
10805 variable[1] = param0;
10806 /* Register variable[2]: Method return value and escape marker */
10807 /* Register variable[3]: Local variable */
10808 variable[3] = NIT_NULL /*null*/;
10809 /* Register variable[4]: Local variable */
10810 /* Register variable[5]: Result */
10811 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10812 variable[4] = variable[5];
10813 /* Register variable[5]: Local variable */
10814 /* Register variable[6]: Result */
10815 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10816 variable[5] = variable[6];
10817 /* Register variable[6]: Local variable */
10818 /* Register variable[7]: Result */
10819 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10820 variable[6] = variable[7];
10821 /* Register variable[7]: Local variable */
10822 /* Register variable[8]: Result */
10823 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10824 variable[7] = variable[8];
10825 /* Register variable[8]: Local variable */
10826 /* Register variable[9]: Result */
10827 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10828 variable[8] = variable[9];
10829 /* Register variable[9]: Local variable */
10830 /* Register variable[10]: Result */
10831 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10832 variable[9] = variable[10];
10833 /* Register variable[10]: Local variable */
10834 /* Register variable[11]: Result */
10835 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10836 variable[10] = variable[11];
10837 /* Register variable[11]: Local variable */
10838 /* Register variable[12]: Result */
10839 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10840 variable[11] = variable[12];
10841 /* Register variable[12]: Local variable */
10842 /* Register variable[13]: Result */
10843 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10844 variable[12] = variable[13];
10845 /* Register variable[13]: Local variable */
10846 /* Register variable[14]: Result */
10847 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10848 variable[13] = variable[14];
10849 /* Register variable[14]: Local variable */
10850 /* Register variable[15]: Result */
10851 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10852 variable[14] = variable[15];
10853 /* Register variable[15]: Local variable */
10854 /* Register variable[16]: Result */
10855 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10856 variable[15] = variable[16];
10857 /* Register variable[16]: Local variable */
10858 /* Register variable[17]: Result */
10859 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10860 variable[16] = variable[17];
10861 /* Register variable[17]: Local variable */
10862 /* Register variable[18]: Result */
10863 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10864 variable[17] = variable[18];
10865 /* Register variable[18]: Local variable */
10866 /* Register variable[19]: Result */
10867 variable[19] = NEW_Array_array___Array___init() /*new Array[Object]*/;
10868 variable[18] = variable[19];
10869 /* Register variable[19]: Local variable */
10870 variable[19] = variable[15] /*nodearraylist1*/;
10871 /* Register variable[20]: Result */
10872 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
10873 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4030); nit_exit(1);}
10874 /* Register variable[20]: Local variable */
10875 variable[20] = variable[14] /*nodearraylist2*/;
10876 /* Register variable[21]: Result */
10877 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10878 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4032); nit_exit(1);}
10879 /* Register variable[21]: Local variable */
10880 variable[21] = variable[13] /*nodearraylist3*/;
10881 /* Register variable[22]: Result */
10882 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
10883 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4034); nit_exit(1);}
10884 /* Register variable[22]: Local variable */
10885 variable[22] = variable[12] /*nodearraylist4*/;
10886 /* Register variable[23]: Result */
10887 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
10888 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4036); nit_exit(1);}
10889 /* Register variable[23]: Local variable */
10890 variable[23] = variable[10] /*nodearraylist6*/;
10891 /* Register variable[24]: Result */
10892 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
10893 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4038); nit_exit(1);}
10894 /* Register variable[24]: Local variable */
10895 variable[24] = variable[9] /*nodearraylist7*/;
10896 /* Register variable[25]: Result */
10897 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10898 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4040); nit_exit(1);}
10899 /* Register variable[25]: Result */
10900 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::==*/)))))));
10901 if (UNTAG_Bool(variable[25])) { /*if*/
10902 /* Register variable[25]: Result */
10903 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
10904 if (UNTAG_Bool(variable[25])) { /*if*/
10905 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
10906 } else { /*if*/
10907 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
10908 }
10909 }
10910 /* Register variable[25]: Local variable */
10911 variable[25] = variable[8] /*nodearraylist8*/;
10912 /* Register variable[26]: Result */
10913 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
10914 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4049); nit_exit(1);}
10915 /* Register variable[26]: Local variable */
10916 variable[26] = variable[6] /*nodearraylist10*/;
10917 /* Register variable[27]: Result */
10918 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
10919 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction70___action, LOCATE_parser, 4051); nit_exit(1);}
10920 /* Register variable[27]: Result */
10921 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::==*/)))))));
10922 if (UNTAG_Bool(variable[27])) { /*if*/
10923 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
10924 }
10925 /* Register variable[27]: Result */
10926 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::==*/)))))));
10927 if (UNTAG_Bool(variable[27])) { /*if*/
10928 /* Register variable[27]: Result */
10929 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode12*/)( variable[18] /*listnode12*/) /*AbstractArrayRead::is_empty*/;
10930 if (UNTAG_Bool(variable[27])) { /*if*/
10931 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
10932 } else { /*if*/
10933 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
10934 }
10935 }
10936 /* Register variable[27]: Local variable */
10937 /* Register variable[28]: Result */
10938 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*/;
10939 variable[27] = variable[28];
10940 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
10941 /* Register variable[28]: Result */
10942 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
10943 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
10944 return_label172: while(false);
10945 tracehead = trace.prev;
10946 return;
10947 }
10948 void parser___ReduceAction70___init(val_t self, int* init_table) {
10949 struct trace_t trace = {NULL, NULL, 4075, LOCATE_parser___ReduceAction70___init};
10950 val_t variable[2];
10951 struct WBT_ **closurevariable = NULL;
10952 trace.prev = tracehead; tracehead = &trace;
10953 trace.file = LOCATE_parser;
10954 /* Register variable[0]: Local variable */
10955 variable[0] = self;
10956 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction70].i]) return;
10957 /* Register variable[1]: Method return value and escape marker */
10958 return_label173: while(false);
10959 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction70].i] = 1;
10960 tracehead = trace.prev;
10961 return;
10962 }
10963 void parser___ReduceAction71___action(val_t self, val_t param0) {
10964 struct trace_t trace = {NULL, NULL, 4079, LOCATE_parser___ReduceAction71___action};
10965 val_t variable[25];
10966 struct WBT_ **closurevariable = NULL;
10967 trace.prev = tracehead; tracehead = &trace;
10968 trace.file = LOCATE_parser;
10969 /* Register variable[0]: Local variable */
10970 variable[0] = self;
10971 /* Register variable[1]: Local variable */
10972 variable[1] = param0;
10973 /* Register variable[2]: Method return value and escape marker */
10974 /* Register variable[3]: Local variable */
10975 variable[3] = NIT_NULL /*null*/;
10976 /* Register variable[4]: Local variable */
10977 /* Register variable[5]: Result */
10978 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10979 variable[4] = variable[5];
10980 /* Register variable[5]: Local variable */
10981 /* Register variable[6]: Result */
10982 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10983 variable[5] = variable[6];
10984 /* Register variable[6]: Local variable */
10985 /* Register variable[7]: Result */
10986 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10987 variable[6] = variable[7];
10988 /* Register variable[7]: Local variable */
10989 /* Register variable[8]: Result */
10990 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10991 variable[7] = variable[8];
10992 /* Register variable[8]: Local variable */
10993 /* Register variable[9]: Result */
10994 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10995 variable[8] = variable[9];
10996 /* Register variable[9]: Local variable */
10997 /* Register variable[10]: Result */
10998 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
10999 variable[9] = variable[10];
11000 /* Register variable[10]: Local variable */
11001 /* Register variable[11]: Result */
11002 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11003 variable[10] = variable[11];
11004 /* Register variable[11]: Local variable */
11005 /* Register variable[12]: Result */
11006 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11007 variable[11] = variable[12];
11008 /* Register variable[12]: Local variable */
11009 /* Register variable[13]: Result */
11010 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11011 variable[12] = variable[13];
11012 /* Register variable[13]: Local variable */
11013 /* Register variable[14]: Result */
11014 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11015 variable[13] = variable[14];
11016 /* Register variable[14]: Local variable */
11017 /* Register variable[15]: Result */
11018 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11019 variable[14] = variable[15];
11020 /* Register variable[15]: Local variable */
11021 /* Register variable[16]: Result */
11022 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11023 variable[15] = variable[16];
11024 /* Register variable[16]: Local variable */
11025 /* Register variable[17]: Result */
11026 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11027 variable[16] = variable[17];
11028 /* Register variable[17]: Local variable */
11029 variable[17] = variable[13] /*nodearraylist1*/;
11030 /* Register variable[18]: Result */
11031 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11032 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4096); nit_exit(1);}
11033 /* Register variable[18]: Local variable */
11034 variable[18] = variable[12] /*nodearraylist2*/;
11035 /* Register variable[19]: Result */
11036 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11037 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4098); nit_exit(1);}
11038 /* Register variable[19]: Local variable */
11039 variable[19] = variable[11] /*nodearraylist3*/;
11040 /* Register variable[20]: Result */
11041 variable[20] = TAG_Bool(( variable[19] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11042 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4100); nit_exit(1);}
11043 /* Register variable[20]: Local variable */
11044 variable[20] = variable[9] /*nodearraylist5*/;
11045 /* Register variable[21]: Result */
11046 variable[21] = TAG_Bool(( variable[20] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[20] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11047 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4102); nit_exit(1);}
11048 /* Register variable[21]: Local variable */
11049 variable[21] = variable[8] /*nodearraylist6*/;
11050 /* Register variable[22]: Result */
11051 variable[22] = TAG_Bool(( variable[21] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[21] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11052 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4104); nit_exit(1);}
11053 /* Register variable[22]: Result */
11054 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::==*/)))))));
11055 if (UNTAG_Bool(variable[22])) { /*if*/
11056 /* Register variable[22]: Result */
11057 variable[22] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
11058 if (UNTAG_Bool(variable[22])) { /*if*/
11059 variable[15] = variable[21] /*listnode8*/ /*listnode9=*/;
11060 } else { /*if*/
11061 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[21] /*listnode8*/) /*IndexedCollection::append*/;
11062 }
11063 }
11064 /* Register variable[22]: Local variable */
11065 variable[22] = variable[7] /*nodearraylist7*/;
11066 /* Register variable[23]: Result */
11067 variable[23] = TAG_Bool(( variable[22] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[22] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11068 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction71___action, LOCATE_parser, 4113); nit_exit(1);}
11069 /* Register variable[23]: Result */
11070 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::==*/)))))));
11071 if (UNTAG_Bool(variable[23])) { /*if*/
11072 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode11*/)( variable[16] /*listnode11*/, variable[22] /*ppropdefnode10*/) /*AbstractArray::add*/;
11073 }
11074 /* Register variable[23]: Local variable */
11075 /* Register variable[24]: Result */
11076 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*/;
11077 variable[23] = variable[24];
11078 variable[3] = variable[23] /*pclassdefnode1*/ /*node_list=*/;
11079 /* Register variable[24]: Result */
11080 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11081 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
11082 return_label174: while(false);
11083 tracehead = trace.prev;
11084 return;
11085 }
11086 void parser___ReduceAction71___init(val_t self, int* init_table) {
11087 struct trace_t trace = {NULL, NULL, 4130, LOCATE_parser___ReduceAction71___init};
11088 val_t variable[2];
11089 struct WBT_ **closurevariable = NULL;
11090 trace.prev = tracehead; tracehead = &trace;
11091 trace.file = LOCATE_parser;
11092 /* Register variable[0]: Local variable */
11093 variable[0] = self;
11094 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction71].i]) return;
11095 /* Register variable[1]: Method return value and escape marker */
11096 return_label175: while(false);
11097 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction71].i] = 1;
11098 tracehead = trace.prev;
11099 return;
11100 }
11101 void parser___ReduceAction72___action(val_t self, val_t param0) {
11102 struct trace_t trace = {NULL, NULL, 4134, LOCATE_parser___ReduceAction72___action};
11103 val_t variable[27];
11104 struct WBT_ **closurevariable = NULL;
11105 trace.prev = tracehead; tracehead = &trace;
11106 trace.file = LOCATE_parser;
11107 /* Register variable[0]: Local variable */
11108 variable[0] = self;
11109 /* Register variable[1]: Local variable */
11110 variable[1] = param0;
11111 /* Register variable[2]: Method return value and escape marker */
11112 /* Register variable[3]: Local variable */
11113 variable[3] = NIT_NULL /*null*/;
11114 /* Register variable[4]: Local variable */
11115 /* Register variable[5]: Result */
11116 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11117 variable[4] = variable[5];
11118 /* Register variable[5]: Local variable */
11119 /* Register variable[6]: Result */
11120 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11121 variable[5] = variable[6];
11122 /* Register variable[6]: Local variable */
11123 /* Register variable[7]: Result */
11124 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11125 variable[6] = variable[7];
11126 /* Register variable[7]: Local variable */
11127 /* Register variable[8]: Result */
11128 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11129 variable[7] = variable[8];
11130 /* Register variable[8]: Local variable */
11131 /* Register variable[9]: Result */
11132 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11133 variable[8] = variable[9];
11134 /* Register variable[9]: Local variable */
11135 /* Register variable[10]: Result */
11136 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11137 variable[9] = variable[10];
11138 /* Register variable[10]: Local variable */
11139 /* Register variable[11]: Result */
11140 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11141 variable[10] = variable[11];
11142 /* Register variable[11]: Local variable */
11143 /* Register variable[12]: Result */
11144 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11145 variable[11] = variable[12];
11146 /* Register variable[12]: Local variable */
11147 /* Register variable[13]: Result */
11148 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11149 variable[12] = variable[13];
11150 /* Register variable[13]: Local variable */
11151 /* Register variable[14]: Result */
11152 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11153 variable[13] = variable[14];
11154 /* Register variable[14]: Local variable */
11155 /* Register variable[15]: Result */
11156 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11157 variable[14] = variable[15];
11158 /* Register variable[15]: Local variable */
11159 /* Register variable[16]: Result */
11160 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11161 variable[15] = variable[16];
11162 /* Register variable[16]: Local variable */
11163 /* Register variable[17]: Result */
11164 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11165 variable[16] = variable[17];
11166 /* Register variable[17]: Local variable */
11167 /* Register variable[18]: Result */
11168 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11169 variable[17] = variable[18];
11170 /* Register variable[18]: Local variable */
11171 variable[18] = variable[14] /*nodearraylist1*/;
11172 /* Register variable[19]: Result */
11173 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11174 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4152); nit_exit(1);}
11175 /* Register variable[19]: Local variable */
11176 variable[19] = variable[13] /*nodearraylist2*/;
11177 /* Register variable[20]: Result */
11178 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11179 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4154); nit_exit(1);}
11180 /* Register variable[20]: Local variable */
11181 variable[20] = variable[12] /*nodearraylist3*/;
11182 /* Register variable[21]: Result */
11183 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11184 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4156); nit_exit(1);}
11185 /* Register variable[21]: Local variable */
11186 variable[21] = variable[10] /*nodearraylist5*/;
11187 /* Register variable[22]: Result */
11188 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11189 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4158); nit_exit(1);}
11190 /* Register variable[22]: Local variable */
11191 variable[22] = variable[9] /*nodearraylist6*/;
11192 /* Register variable[23]: Result */
11193 variable[23] = TAG_Bool(( variable[22] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11194 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4160); nit_exit(1);}
11195 /* Register variable[23]: Result */
11196 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::==*/)))))));
11197 if (UNTAG_Bool(variable[23])) { /*if*/
11198 /* Register variable[23]: Result */
11199 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
11200 if (UNTAG_Bool(variable[23])) { /*if*/
11201 variable[16] = variable[22] /*listnode8*/ /*listnode9=*/;
11202 } else { /*if*/
11203 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[22] /*listnode8*/) /*IndexedCollection::append*/;
11204 }
11205 }
11206 /* Register variable[23]: Local variable */
11207 variable[23] = variable[8] /*nodearraylist7*/;
11208 /* Register variable[24]: Result */
11209 variable[24] = TAG_Bool(( variable[23] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[23] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11210 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4169); nit_exit(1);}
11211 /* Register variable[24]: Local variable */
11212 variable[24] = variable[6] /*nodearraylist9*/;
11213 /* Register variable[25]: Result */
11214 variable[25] = TAG_Bool(( variable[24] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11215 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction72___action, LOCATE_parser, 4171); nit_exit(1);}
11216 /* Register variable[25]: Result */
11217 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::==*/)))))));
11218 if (UNTAG_Bool(variable[25])) { /*if*/
11219 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[23] /*ppropdefnode10*/) /*AbstractArray::add*/;
11220 }
11221 /* Register variable[25]: Result */
11222 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::==*/)))))));
11223 if (UNTAG_Bool(variable[25])) { /*if*/
11224 /* Register variable[25]: Result */
11225 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode12*/)( variable[17] /*listnode12*/) /*AbstractArrayRead::is_empty*/;
11226 if (UNTAG_Bool(variable[25])) { /*if*/
11227 variable[17] = variable[24] /*listnode11*/ /*listnode12=*/;
11228 } else { /*if*/
11229 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*listnode11*/) /*IndexedCollection::append*/;
11230 }
11231 }
11232 /* Register variable[25]: Local variable */
11233 /* Register variable[26]: Result */
11234 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*/;
11235 variable[25] = variable[26];
11236 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
11237 /* Register variable[26]: Result */
11238 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11239 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
11240 return_label176: while(false);
11241 tracehead = trace.prev;
11242 return;
11243 }
11244 void parser___ReduceAction72___init(val_t self, int* init_table) {
11245 struct trace_t trace = {NULL, NULL, 4195, LOCATE_parser___ReduceAction72___init};
11246 val_t variable[2];
11247 struct WBT_ **closurevariable = NULL;
11248 trace.prev = tracehead; tracehead = &trace;
11249 trace.file = LOCATE_parser;
11250 /* Register variable[0]: Local variable */
11251 variable[0] = self;
11252 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction72].i]) return;
11253 /* Register variable[1]: Method return value and escape marker */
11254 return_label177: while(false);
11255 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction72].i] = 1;
11256 tracehead = trace.prev;
11257 return;
11258 }
11259 void parser___ReduceAction73___action(val_t self, val_t param0) {
11260 struct trace_t trace = {NULL, NULL, 4199, LOCATE_parser___ReduceAction73___action};
11261 val_t variable[27];
11262 struct WBT_ **closurevariable = NULL;
11263 trace.prev = tracehead; tracehead = &trace;
11264 trace.file = LOCATE_parser;
11265 /* Register variable[0]: Local variable */
11266 variable[0] = self;
11267 /* Register variable[1]: Local variable */
11268 variable[1] = param0;
11269 /* Register variable[2]: Method return value and escape marker */
11270 /* Register variable[3]: Local variable */
11271 variable[3] = NIT_NULL /*null*/;
11272 /* Register variable[4]: Local variable */
11273 /* Register variable[5]: Result */
11274 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11275 variable[4] = variable[5];
11276 /* Register variable[5]: Local variable */
11277 /* Register variable[6]: Result */
11278 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11279 variable[5] = variable[6];
11280 /* Register variable[6]: Local variable */
11281 /* Register variable[7]: Result */
11282 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11283 variable[6] = variable[7];
11284 /* Register variable[7]: Local variable */
11285 /* Register variable[8]: Result */
11286 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11287 variable[7] = variable[8];
11288 /* Register variable[8]: Local variable */
11289 /* Register variable[9]: Result */
11290 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11291 variable[8] = variable[9];
11292 /* Register variable[9]: Local variable */
11293 /* Register variable[10]: Result */
11294 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11295 variable[9] = variable[10];
11296 /* Register variable[10]: Local variable */
11297 /* Register variable[11]: Result */
11298 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11299 variable[10] = variable[11];
11300 /* Register variable[11]: Local variable */
11301 /* Register variable[12]: Result */
11302 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11303 variable[11] = variable[12];
11304 /* Register variable[12]: Local variable */
11305 /* Register variable[13]: Result */
11306 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11307 variable[12] = variable[13];
11308 /* Register variable[13]: Local variable */
11309 /* Register variable[14]: Result */
11310 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11311 variable[13] = variable[14];
11312 /* Register variable[14]: Local variable */
11313 /* Register variable[15]: Result */
11314 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11315 variable[14] = variable[15];
11316 /* Register variable[15]: Local variable */
11317 /* Register variable[16]: Result */
11318 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11319 variable[15] = variable[16];
11320 /* Register variable[16]: Local variable */
11321 /* Register variable[17]: Result */
11322 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11323 variable[16] = variable[17];
11324 /* Register variable[17]: Local variable */
11325 /* Register variable[18]: Result */
11326 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11327 variable[17] = variable[18];
11328 /* Register variable[18]: Local variable */
11329 variable[18] = variable[14] /*nodearraylist1*/;
11330 /* Register variable[19]: Result */
11331 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11332 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4217); nit_exit(1);}
11333 /* Register variable[19]: Local variable */
11334 variable[19] = variable[13] /*nodearraylist2*/;
11335 /* Register variable[20]: Result */
11336 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11337 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4219); nit_exit(1);}
11338 /* Register variable[20]: Local variable */
11339 variable[20] = variable[12] /*nodearraylist3*/;
11340 /* Register variable[21]: Result */
11341 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11342 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4221); nit_exit(1);}
11343 /* Register variable[21]: Local variable */
11344 variable[21] = variable[11] /*nodearraylist4*/;
11345 /* Register variable[22]: Result */
11346 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11347 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4223); nit_exit(1);}
11348 /* Register variable[22]: Local variable */
11349 variable[22] = variable[9] /*nodearraylist6*/;
11350 /* Register variable[23]: Result */
11351 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11352 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4225); nit_exit(1);}
11353 /* Register variable[23]: Local variable */
11354 variable[23] = variable[8] /*nodearraylist7*/;
11355 /* Register variable[24]: Result */
11356 variable[24] = TAG_Bool(( variable[23] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11357 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4227); nit_exit(1);}
11358 /* Register variable[24]: Result */
11359 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::==*/)))))));
11360 if (UNTAG_Bool(variable[24])) { /*if*/
11361 /* Register variable[24]: Result */
11362 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode9*/)( variable[16] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
11363 if (UNTAG_Bool(variable[24])) { /*if*/
11364 variable[16] = variable[23] /*listnode8*/ /*listnode9=*/;
11365 } else { /*if*/
11366 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode9*/)( variable[16] /*listnode9*/, variable[23] /*listnode8*/) /*IndexedCollection::append*/;
11367 }
11368 }
11369 /* Register variable[24]: Local variable */
11370 variable[24] = variable[7] /*nodearraylist8*/;
11371 /* Register variable[25]: Result */
11372 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11373 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction73___action, LOCATE_parser, 4236); nit_exit(1);}
11374 /* Register variable[25]: Result */
11375 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::==*/)))))));
11376 if (UNTAG_Bool(variable[25])) { /*if*/
11377 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode11*/)( variable[17] /*listnode11*/, variable[24] /*ppropdefnode10*/) /*AbstractArray::add*/;
11378 }
11379 /* Register variable[25]: Local variable */
11380 /* Register variable[26]: Result */
11381 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*/;
11382 variable[25] = variable[26];
11383 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
11384 /* Register variable[26]: Result */
11385 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11386 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
11387 return_label178: while(false);
11388 tracehead = trace.prev;
11389 return;
11390 }
11391 void parser___ReduceAction73___init(val_t self, int* init_table) {
11392 struct trace_t trace = {NULL, NULL, 4253, LOCATE_parser___ReduceAction73___init};
11393 val_t variable[2];
11394 struct WBT_ **closurevariable = NULL;
11395 trace.prev = tracehead; tracehead = &trace;
11396 trace.file = LOCATE_parser;
11397 /* Register variable[0]: Local variable */
11398 variable[0] = self;
11399 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction73].i]) return;
11400 /* Register variable[1]: Method return value and escape marker */
11401 return_label179: while(false);
11402 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction73].i] = 1;
11403 tracehead = trace.prev;
11404 return;
11405 }
11406 void parser___ReduceAction74___action(val_t self, val_t param0) {
11407 struct trace_t trace = {NULL, NULL, 4257, LOCATE_parser___ReduceAction74___action};
11408 val_t variable[29];
11409 struct WBT_ **closurevariable = NULL;
11410 trace.prev = tracehead; tracehead = &trace;
11411 trace.file = LOCATE_parser;
11412 /* Register variable[0]: Local variable */
11413 variable[0] = self;
11414 /* Register variable[1]: Local variable */
11415 variable[1] = param0;
11416 /* Register variable[2]: Method return value and escape marker */
11417 /* Register variable[3]: Local variable */
11418 variable[3] = NIT_NULL /*null*/;
11419 /* Register variable[4]: Local variable */
11420 /* Register variable[5]: Result */
11421 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11422 variable[4] = variable[5];
11423 /* Register variable[5]: Local variable */
11424 /* Register variable[6]: Result */
11425 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11426 variable[5] = variable[6];
11427 /* Register variable[6]: Local variable */
11428 /* Register variable[7]: Result */
11429 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11430 variable[6] = variable[7];
11431 /* Register variable[7]: Local variable */
11432 /* Register variable[8]: Result */
11433 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11434 variable[7] = variable[8];
11435 /* Register variable[8]: Local variable */
11436 /* Register variable[9]: Result */
11437 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11438 variable[8] = variable[9];
11439 /* Register variable[9]: Local variable */
11440 /* Register variable[10]: Result */
11441 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11442 variable[9] = variable[10];
11443 /* Register variable[10]: Local variable */
11444 /* Register variable[11]: Result */
11445 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11446 variable[10] = variable[11];
11447 /* Register variable[11]: Local variable */
11448 /* Register variable[12]: Result */
11449 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11450 variable[11] = variable[12];
11451 /* Register variable[12]: Local variable */
11452 /* Register variable[13]: Result */
11453 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11454 variable[12] = variable[13];
11455 /* Register variable[13]: Local variable */
11456 /* Register variable[14]: Result */
11457 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11458 variable[13] = variable[14];
11459 /* Register variable[14]: Local variable */
11460 /* Register variable[15]: Result */
11461 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11462 variable[14] = variable[15];
11463 /* Register variable[15]: Local variable */
11464 /* Register variable[16]: Result */
11465 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11466 variable[15] = variable[16];
11467 /* Register variable[16]: Local variable */
11468 /* Register variable[17]: Result */
11469 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11470 variable[16] = variable[17];
11471 /* Register variable[17]: Local variable */
11472 /* Register variable[18]: Result */
11473 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11474 variable[17] = variable[18];
11475 /* Register variable[18]: Local variable */
11476 /* Register variable[19]: Result */
11477 variable[19] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11478 variable[18] = variable[19];
11479 /* Register variable[19]: Local variable */
11480 variable[19] = variable[15] /*nodearraylist1*/;
11481 /* Register variable[20]: Result */
11482 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11483 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4276); nit_exit(1);}
11484 /* Register variable[20]: Local variable */
11485 variable[20] = variable[14] /*nodearraylist2*/;
11486 /* Register variable[21]: Result */
11487 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11488 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4278); nit_exit(1);}
11489 /* Register variable[21]: Local variable */
11490 variable[21] = variable[13] /*nodearraylist3*/;
11491 /* Register variable[22]: Result */
11492 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11493 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4280); nit_exit(1);}
11494 /* Register variable[22]: Local variable */
11495 variable[22] = variable[12] /*nodearraylist4*/;
11496 /* Register variable[23]: Result */
11497 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11498 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4282); nit_exit(1);}
11499 /* Register variable[23]: Local variable */
11500 variable[23] = variable[10] /*nodearraylist6*/;
11501 /* Register variable[24]: Result */
11502 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11503 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4284); nit_exit(1);}
11504 /* Register variable[24]: Local variable */
11505 variable[24] = variable[9] /*nodearraylist7*/;
11506 /* Register variable[25]: Result */
11507 variable[25] = TAG_Bool(( variable[24] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11508 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4286); nit_exit(1);}
11509 /* Register variable[25]: Result */
11510 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::==*/)))))));
11511 if (UNTAG_Bool(variable[25])) { /*if*/
11512 /* Register variable[25]: Result */
11513 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode9*/)( variable[17] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
11514 if (UNTAG_Bool(variable[25])) { /*if*/
11515 variable[17] = variable[24] /*listnode8*/ /*listnode9=*/;
11516 } else { /*if*/
11517 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode9*/)( variable[17] /*listnode9*/, variable[24] /*listnode8*/) /*IndexedCollection::append*/;
11518 }
11519 }
11520 /* Register variable[25]: Local variable */
11521 variable[25] = variable[8] /*nodearraylist8*/;
11522 /* Register variable[26]: Result */
11523 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode10*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode10*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11524 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4295); nit_exit(1);}
11525 /* Register variable[26]: Local variable */
11526 variable[26] = variable[6] /*nodearraylist10*/;
11527 /* Register variable[27]: Result */
11528 variable[27] = TAG_Bool(( variable[26] /*listnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode11*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11529 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction74___action, LOCATE_parser, 4297); nit_exit(1);}
11530 /* Register variable[27]: Result */
11531 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::==*/)))))));
11532 if (UNTAG_Bool(variable[27])) { /*if*/
11533 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[25] /*ppropdefnode10*/) /*AbstractArray::add*/;
11534 }
11535 /* Register variable[27]: Result */
11536 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::==*/)))))));
11537 if (UNTAG_Bool(variable[27])) { /*if*/
11538 /* Register variable[27]: Result */
11539 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode12*/)( variable[18] /*listnode12*/) /*AbstractArrayRead::is_empty*/;
11540 if (UNTAG_Bool(variable[27])) { /*if*/
11541 variable[18] = variable[26] /*listnode11*/ /*listnode12=*/;
11542 } else { /*if*/
11543 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*listnode11*/) /*IndexedCollection::append*/;
11544 }
11545 }
11546 /* Register variable[27]: Local variable */
11547 /* Register variable[28]: Result */
11548 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*/;
11549 variable[27] = variable[28];
11550 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
11551 /* Register variable[28]: Result */
11552 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11553 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
11554 return_label180: while(false);
11555 tracehead = trace.prev;
11556 return;
11557 }
11558 void parser___ReduceAction74___init(val_t self, int* init_table) {
11559 struct trace_t trace = {NULL, NULL, 4321, LOCATE_parser___ReduceAction74___init};
11560 val_t variable[2];
11561 struct WBT_ **closurevariable = NULL;
11562 trace.prev = tracehead; tracehead = &trace;
11563 trace.file = LOCATE_parser;
11564 /* Register variable[0]: Local variable */
11565 variable[0] = self;
11566 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction74].i]) return;
11567 /* Register variable[1]: Method return value and escape marker */
11568 return_label181: while(false);
11569 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction74].i] = 1;
11570 tracehead = trace.prev;
11571 return;
11572 }
11573 void parser___ReduceAction75___action(val_t self, val_t param0) {
11574 struct trace_t trace = {NULL, NULL, 4325, LOCATE_parser___ReduceAction75___action};
11575 val_t variable[27];
11576 struct WBT_ **closurevariable = NULL;
11577 trace.prev = tracehead; tracehead = &trace;
11578 trace.file = LOCATE_parser;
11579 /* Register variable[0]: Local variable */
11580 variable[0] = self;
11581 /* Register variable[1]: Local variable */
11582 variable[1] = param0;
11583 /* Register variable[2]: Method return value and escape marker */
11584 /* Register variable[3]: Local variable */
11585 variable[3] = NIT_NULL /*null*/;
11586 /* Register variable[4]: Local variable */
11587 /* Register variable[5]: Result */
11588 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11589 variable[4] = variable[5];
11590 /* Register variable[5]: Local variable */
11591 /* Register variable[6]: Result */
11592 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11593 variable[5] = variable[6];
11594 /* Register variable[6]: Local variable */
11595 /* Register variable[7]: Result */
11596 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11597 variable[6] = variable[7];
11598 /* Register variable[7]: Local variable */
11599 /* Register variable[8]: Result */
11600 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11601 variable[7] = variable[8];
11602 /* Register variable[8]: Local variable */
11603 /* Register variable[9]: Result */
11604 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11605 variable[8] = variable[9];
11606 /* Register variable[9]: Local variable */
11607 /* Register variable[10]: Result */
11608 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11609 variable[9] = variable[10];
11610 /* Register variable[10]: Local variable */
11611 /* Register variable[11]: Result */
11612 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11613 variable[10] = variable[11];
11614 /* Register variable[11]: Local variable */
11615 /* Register variable[12]: Result */
11616 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11617 variable[11] = variable[12];
11618 /* Register variable[12]: Local variable */
11619 /* Register variable[13]: Result */
11620 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11621 variable[12] = variable[13];
11622 /* Register variable[13]: Local variable */
11623 /* Register variable[14]: Result */
11624 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11625 variable[13] = variable[14];
11626 /* Register variable[14]: Local variable */
11627 /* Register variable[15]: Result */
11628 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11629 variable[14] = variable[15];
11630 /* Register variable[15]: Local variable */
11631 /* Register variable[16]: Result */
11632 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11633 variable[15] = variable[16];
11634 /* Register variable[16]: Local variable */
11635 /* Register variable[17]: Result */
11636 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11637 variable[16] = variable[17];
11638 /* Register variable[17]: Local variable */
11639 /* Register variable[18]: Result */
11640 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11641 variable[17] = variable[18];
11642 /* Register variable[18]: Local variable */
11643 variable[18] = variable[14] /*nodearraylist1*/;
11644 /* Register variable[19]: Result */
11645 variable[19] = TAG_Bool(( variable[18] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[18] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11646 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4343); nit_exit(1);}
11647 /* Register variable[19]: Local variable */
11648 variable[19] = variable[13] /*nodearraylist2*/;
11649 /* Register variable[20]: Result */
11650 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11651 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4345); nit_exit(1);}
11652 /* Register variable[20]: Local variable */
11653 variable[20] = variable[12] /*nodearraylist3*/;
11654 /* Register variable[21]: Result */
11655 variable[21] = TAG_Bool(( variable[20] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[20] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11656 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4347); nit_exit(1);}
11657 /* Register variable[21]: Local variable */
11658 variable[21] = variable[10] /*nodearraylist5*/;
11659 /* Register variable[22]: Result */
11660 variable[22] = TAG_Bool(( variable[21] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[21] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11661 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4349); nit_exit(1);}
11662 /* Register variable[22]: Local variable */
11663 variable[22] = variable[9] /*nodearraylist6*/;
11664 /* Register variable[23]: Result */
11665 variable[23] = TAG_Bool(( variable[22] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[22] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11666 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4351); nit_exit(1);}
11667 /* Register variable[23]: Result */
11668 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::==*/)))))));
11669 if (UNTAG_Bool(variable[23])) { /*if*/
11670 /* Register variable[23]: Result */
11671 variable[23] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode8*/)( variable[15] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
11672 if (UNTAG_Bool(variable[23])) { /*if*/
11673 variable[15] = variable[22] /*listnode7*/ /*listnode8=*/;
11674 } else { /*if*/
11675 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode8*/)( variable[15] /*listnode8*/, variable[22] /*listnode7*/) /*IndexedCollection::append*/;
11676 }
11677 }
11678 /* Register variable[23]: Local variable */
11679 variable[23] = variable[8] /*nodearraylist7*/;
11680 /* Register variable[24]: Result */
11681 variable[24] = TAG_Bool(( variable[23] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11682 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4360); nit_exit(1);}
11683 /* Register variable[24]: Result */
11684 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::==*/)))))));
11685 if (UNTAG_Bool(variable[24])) { /*if*/
11686 /* Register variable[24]: Result */
11687 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode10*/)( variable[16] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
11688 if (UNTAG_Bool(variable[24])) { /*if*/
11689 variable[16] = variable[23] /*listnode9*/ /*listnode10=*/;
11690 } else { /*if*/
11691 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode10*/)( variable[16] /*listnode10*/, variable[23] /*listnode9*/) /*IndexedCollection::append*/;
11692 }
11693 }
11694 /* Register variable[24]: Local variable */
11695 variable[24] = variable[7] /*nodearraylist8*/;
11696 /* Register variable[25]: Result */
11697 variable[25] = TAG_Bool(( variable[24] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11698 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction75___action, LOCATE_parser, 4369); nit_exit(1);}
11699 /* Register variable[25]: Result */
11700 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::==*/)))))));
11701 if (UNTAG_Bool(variable[25])) { /*if*/
11702 CALL_abstract_collection___SimpleCollection___add( variable[17] /*listnode12*/)( variable[17] /*listnode12*/, variable[24] /*ppropdefnode11*/) /*AbstractArray::add*/;
11703 }
11704 /* Register variable[25]: Local variable */
11705 /* Register variable[26]: Result */
11706 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*/;
11707 variable[25] = variable[26];
11708 variable[3] = variable[25] /*pclassdefnode1*/ /*node_list=*/;
11709 /* Register variable[26]: Result */
11710 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11711 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
11712 return_label182: while(false);
11713 tracehead = trace.prev;
11714 return;
11715 }
11716 void parser___ReduceAction75___init(val_t self, int* init_table) {
11717 struct trace_t trace = {NULL, NULL, 4386, LOCATE_parser___ReduceAction75___init};
11718 val_t variable[2];
11719 struct WBT_ **closurevariable = NULL;
11720 trace.prev = tracehead; tracehead = &trace;
11721 trace.file = LOCATE_parser;
11722 /* Register variable[0]: Local variable */
11723 variable[0] = self;
11724 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction75].i]) return;
11725 /* Register variable[1]: Method return value and escape marker */
11726 return_label183: while(false);
11727 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction75].i] = 1;
11728 tracehead = trace.prev;
11729 return;
11730 }
11731 void parser___ReduceAction76___action(val_t self, val_t param0) {
11732 struct trace_t trace = {NULL, NULL, 4390, LOCATE_parser___ReduceAction76___action};
11733 val_t variable[29];
11734 struct WBT_ **closurevariable = NULL;
11735 trace.prev = tracehead; tracehead = &trace;
11736 trace.file = LOCATE_parser;
11737 /* Register variable[0]: Local variable */
11738 variable[0] = self;
11739 /* Register variable[1]: Local variable */
11740 variable[1] = param0;
11741 /* Register variable[2]: Method return value and escape marker */
11742 /* Register variable[3]: Local variable */
11743 variable[3] = NIT_NULL /*null*/;
11744 /* Register variable[4]: Local variable */
11745 /* Register variable[5]: Result */
11746 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11747 variable[4] = variable[5];
11748 /* Register variable[5]: Local variable */
11749 /* Register variable[6]: Result */
11750 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11751 variable[5] = variable[6];
11752 /* Register variable[6]: Local variable */
11753 /* Register variable[7]: Result */
11754 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11755 variable[6] = variable[7];
11756 /* Register variable[7]: Local variable */
11757 /* Register variable[8]: Result */
11758 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11759 variable[7] = variable[8];
11760 /* Register variable[8]: Local variable */
11761 /* Register variable[9]: Result */
11762 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11763 variable[8] = variable[9];
11764 /* Register variable[9]: Local variable */
11765 /* Register variable[10]: Result */
11766 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11767 variable[9] = variable[10];
11768 /* Register variable[10]: Local variable */
11769 /* Register variable[11]: Result */
11770 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11771 variable[10] = variable[11];
11772 /* Register variable[11]: Local variable */
11773 /* Register variable[12]: Result */
11774 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11775 variable[11] = variable[12];
11776 /* Register variable[12]: Local variable */
11777 /* Register variable[13]: Result */
11778 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11779 variable[12] = variable[13];
11780 /* Register variable[13]: Local variable */
11781 /* Register variable[14]: Result */
11782 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11783 variable[13] = variable[14];
11784 /* Register variable[14]: Local variable */
11785 /* Register variable[15]: Result */
11786 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11787 variable[14] = variable[15];
11788 /* Register variable[15]: Local variable */
11789 /* Register variable[16]: Result */
11790 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11791 variable[15] = variable[16];
11792 /* Register variable[16]: Local variable */
11793 /* Register variable[17]: Result */
11794 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11795 variable[16] = variable[17];
11796 /* Register variable[17]: Local variable */
11797 /* Register variable[18]: Result */
11798 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11799 variable[17] = variable[18];
11800 /* Register variable[18]: Local variable */
11801 /* Register variable[19]: Result */
11802 variable[19] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11803 variable[18] = variable[19];
11804 /* Register variable[19]: Local variable */
11805 variable[19] = variable[15] /*nodearraylist1*/;
11806 /* Register variable[20]: Result */
11807 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11808 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4409); nit_exit(1);}
11809 /* Register variable[20]: Local variable */
11810 variable[20] = variable[14] /*nodearraylist2*/;
11811 /* Register variable[21]: Result */
11812 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11813 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4411); nit_exit(1);}
11814 /* Register variable[21]: Local variable */
11815 variable[21] = variable[13] /*nodearraylist3*/;
11816 /* Register variable[22]: Result */
11817 variable[22] = TAG_Bool(( variable[21] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[21] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
11818 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4413); nit_exit(1);}
11819 /* Register variable[22]: Local variable */
11820 variable[22] = variable[11] /*nodearraylist5*/;
11821 /* Register variable[23]: Result */
11822 variable[23] = TAG_Bool(( variable[22] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[22] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
11823 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4415); nit_exit(1);}
11824 /* Register variable[23]: Local variable */
11825 variable[23] = variable[10] /*nodearraylist6*/;
11826 /* Register variable[24]: Result */
11827 variable[24] = TAG_Bool(( variable[23] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[23] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11828 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4417); nit_exit(1);}
11829 /* Register variable[24]: Result */
11830 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::==*/)))))));
11831 if (UNTAG_Bool(variable[24])) { /*if*/
11832 /* Register variable[24]: Result */
11833 variable[24] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
11834 if (UNTAG_Bool(variable[24])) { /*if*/
11835 variable[16] = variable[23] /*listnode7*/ /*listnode8=*/;
11836 } else { /*if*/
11837 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[23] /*listnode7*/) /*IndexedCollection::append*/;
11838 }
11839 }
11840 /* Register variable[24]: Local variable */
11841 variable[24] = variable[9] /*nodearraylist7*/;
11842 /* Register variable[25]: Result */
11843 variable[25] = TAG_Bool(( variable[24] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11844 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4426); nit_exit(1);}
11845 /* Register variable[25]: Result */
11846 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::==*/)))))));
11847 if (UNTAG_Bool(variable[25])) { /*if*/
11848 /* Register variable[25]: Result */
11849 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode10*/)( variable[17] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
11850 if (UNTAG_Bool(variable[25])) { /*if*/
11851 variable[17] = variable[24] /*listnode9*/ /*listnode10=*/;
11852 } else { /*if*/
11853 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode10*/)( variable[17] /*listnode10*/, variable[24] /*listnode9*/) /*IndexedCollection::append*/;
11854 }
11855 }
11856 /* Register variable[25]: Local variable */
11857 variable[25] = variable[8] /*nodearraylist8*/;
11858 /* Register variable[26]: Result */
11859 variable[26] = TAG_Bool(( variable[25] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
11860 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4435); nit_exit(1);}
11861 /* Register variable[26]: Local variable */
11862 variable[26] = variable[6] /*nodearraylist10*/;
11863 /* Register variable[27]: Result */
11864 variable[27] = TAG_Bool(( variable[26] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
11865 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction76___action, LOCATE_parser, 4437); nit_exit(1);}
11866 /* Register variable[27]: Result */
11867 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::==*/)))))));
11868 if (UNTAG_Bool(variable[27])) { /*if*/
11869 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode13*/)( variable[18] /*listnode13*/, variable[25] /*ppropdefnode11*/) /*AbstractArray::add*/;
11870 }
11871 /* Register variable[27]: Result */
11872 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::==*/)))))));
11873 if (UNTAG_Bool(variable[27])) { /*if*/
11874 /* Register variable[27]: Result */
11875 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode13*/)( variable[18] /*listnode13*/) /*AbstractArrayRead::is_empty*/;
11876 if (UNTAG_Bool(variable[27])) { /*if*/
11877 variable[18] = variable[26] /*listnode12*/ /*listnode13=*/;
11878 } else { /*if*/
11879 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode13*/)( variable[18] /*listnode13*/, variable[26] /*listnode12*/) /*IndexedCollection::append*/;
11880 }
11881 }
11882 /* Register variable[27]: Local variable */
11883 /* Register variable[28]: Result */
11884 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*/;
11885 variable[27] = variable[28];
11886 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
11887 /* Register variable[28]: Result */
11888 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
11889 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
11890 return_label184: while(false);
11891 tracehead = trace.prev;
11892 return;
11893 }
11894 void parser___ReduceAction76___init(val_t self, int* init_table) {
11895 struct trace_t trace = {NULL, NULL, 4461, LOCATE_parser___ReduceAction76___init};
11896 val_t variable[2];
11897 struct WBT_ **closurevariable = NULL;
11898 trace.prev = tracehead; tracehead = &trace;
11899 trace.file = LOCATE_parser;
11900 /* Register variable[0]: Local variable */
11901 variable[0] = self;
11902 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction76].i]) return;
11903 /* Register variable[1]: Method return value and escape marker */
11904 return_label185: while(false);
11905 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction76].i] = 1;
11906 tracehead = trace.prev;
11907 return;
11908 }
11909 void parser___ReduceAction77___action(val_t self, val_t param0) {
11910 struct trace_t trace = {NULL, NULL, 4465, LOCATE_parser___ReduceAction77___action};
11911 val_t variable[29];
11912 struct WBT_ **closurevariable = NULL;
11913 trace.prev = tracehead; tracehead = &trace;
11914 trace.file = LOCATE_parser;
11915 /* Register variable[0]: Local variable */
11916 variable[0] = self;
11917 /* Register variable[1]: Local variable */
11918 variable[1] = param0;
11919 /* Register variable[2]: Method return value and escape marker */
11920 /* Register variable[3]: Local variable */
11921 variable[3] = NIT_NULL /*null*/;
11922 /* Register variable[4]: Local variable */
11923 /* Register variable[5]: Result */
11924 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11925 variable[4] = variable[5];
11926 /* Register variable[5]: Local variable */
11927 /* Register variable[6]: Result */
11928 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11929 variable[5] = variable[6];
11930 /* Register variable[6]: Local variable */
11931 /* Register variable[7]: Result */
11932 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11933 variable[6] = variable[7];
11934 /* Register variable[7]: Local variable */
11935 /* Register variable[8]: Result */
11936 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11937 variable[7] = variable[8];
11938 /* Register variable[8]: Local variable */
11939 /* Register variable[9]: Result */
11940 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11941 variable[8] = variable[9];
11942 /* Register variable[9]: Local variable */
11943 /* Register variable[10]: Result */
11944 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11945 variable[9] = variable[10];
11946 /* Register variable[10]: Local variable */
11947 /* Register variable[11]: Result */
11948 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11949 variable[10] = variable[11];
11950 /* Register variable[11]: Local variable */
11951 /* Register variable[12]: Result */
11952 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11953 variable[11] = variable[12];
11954 /* Register variable[12]: Local variable */
11955 /* Register variable[13]: Result */
11956 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11957 variable[12] = variable[13];
11958 /* Register variable[13]: Local variable */
11959 /* Register variable[14]: Result */
11960 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11961 variable[13] = variable[14];
11962 /* Register variable[14]: Local variable */
11963 /* Register variable[15]: Result */
11964 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11965 variable[14] = variable[15];
11966 /* Register variable[15]: Local variable */
11967 /* Register variable[16]: Result */
11968 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
11969 variable[15] = variable[16];
11970 /* Register variable[16]: Local variable */
11971 /* Register variable[17]: Result */
11972 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11973 variable[16] = variable[17];
11974 /* Register variable[17]: Local variable */
11975 /* Register variable[18]: Result */
11976 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11977 variable[17] = variable[18];
11978 /* Register variable[18]: Local variable */
11979 /* Register variable[19]: Result */
11980 variable[19] = NEW_Array_array___Array___init() /*new Array[Object]*/;
11981 variable[18] = variable[19];
11982 /* Register variable[19]: Local variable */
11983 variable[19] = variable[15] /*nodearraylist1*/;
11984 /* Register variable[20]: Result */
11985 variable[20] = TAG_Bool(( variable[19] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[19] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
11986 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4484); nit_exit(1);}
11987 /* Register variable[20]: Local variable */
11988 variable[20] = variable[14] /*nodearraylist2*/;
11989 /* Register variable[21]: Result */
11990 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11991 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4486); nit_exit(1);}
11992 /* Register variable[21]: Local variable */
11993 variable[21] = variable[13] /*nodearraylist3*/;
11994 /* Register variable[22]: Result */
11995 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
11996 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4488); nit_exit(1);}
11997 /* Register variable[22]: Local variable */
11998 variable[22] = variable[12] /*nodearraylist4*/;
11999 /* Register variable[23]: Result */
12000 variable[23] = TAG_Bool(( variable[22] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[22] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
12001 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4490); nit_exit(1);}
12002 /* Register variable[23]: Local variable */
12003 variable[23] = variable[10] /*nodearraylist6*/;
12004 /* Register variable[24]: Result */
12005 variable[24] = TAG_Bool(( variable[23] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[23] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
12006 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4492); nit_exit(1);}
12007 /* Register variable[24]: Local variable */
12008 variable[24] = variable[9] /*nodearraylist7*/;
12009 /* Register variable[25]: Result */
12010 variable[25] = TAG_Bool(( variable[24] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[24] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12011 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4494); nit_exit(1);}
12012 /* Register variable[25]: Result */
12013 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::==*/)))))));
12014 if (UNTAG_Bool(variable[25])) { /*if*/
12015 /* Register variable[25]: Result */
12016 variable[25] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode8*/)( variable[16] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
12017 if (UNTAG_Bool(variable[25])) { /*if*/
12018 variable[16] = variable[24] /*listnode7*/ /*listnode8=*/;
12019 } else { /*if*/
12020 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode8*/)( variable[16] /*listnode8*/, variable[24] /*listnode7*/) /*IndexedCollection::append*/;
12021 }
12022 }
12023 /* Register variable[25]: Local variable */
12024 variable[25] = variable[8] /*nodearraylist8*/;
12025 /* Register variable[26]: Result */
12026 variable[26] = TAG_Bool(( variable[25] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12027 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4503); nit_exit(1);}
12028 /* Register variable[26]: Result */
12029 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::==*/)))))));
12030 if (UNTAG_Bool(variable[26])) { /*if*/
12031 /* Register variable[26]: Result */
12032 variable[26] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode10*/)( variable[17] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
12033 if (UNTAG_Bool(variable[26])) { /*if*/
12034 variable[17] = variable[25] /*listnode9*/ /*listnode10=*/;
12035 } else { /*if*/
12036 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode10*/)( variable[17] /*listnode10*/, variable[25] /*listnode9*/) /*IndexedCollection::append*/;
12037 }
12038 }
12039 /* Register variable[26]: Local variable */
12040 variable[26] = variable[7] /*nodearraylist9*/;
12041 /* Register variable[27]: Result */
12042 variable[27] = TAG_Bool(( variable[26] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
12043 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction77___action, LOCATE_parser, 4512); nit_exit(1);}
12044 /* Register variable[27]: Result */
12045 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::==*/)))))));
12046 if (UNTAG_Bool(variable[27])) { /*if*/
12047 CALL_abstract_collection___SimpleCollection___add( variable[18] /*listnode12*/)( variable[18] /*listnode12*/, variable[26] /*ppropdefnode11*/) /*AbstractArray::add*/;
12048 }
12049 /* Register variable[27]: Local variable */
12050 /* Register variable[28]: Result */
12051 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*/;
12052 variable[27] = variable[28];
12053 variable[3] = variable[27] /*pclassdefnode1*/ /*node_list=*/;
12054 /* Register variable[28]: Result */
12055 variable[28] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
12056 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[28], variable[3] /*node_list*/) /*Parser::push*/;
12057 return_label186: while(false);
12058 tracehead = trace.prev;
12059 return;
12060 }
12061 void parser___ReduceAction77___init(val_t self, int* init_table) {
12062 struct trace_t trace = {NULL, NULL, 4529, LOCATE_parser___ReduceAction77___init};
12063 val_t variable[2];
12064 struct WBT_ **closurevariable = NULL;
12065 trace.prev = tracehead; tracehead = &trace;
12066 trace.file = LOCATE_parser;
12067 /* Register variable[0]: Local variable */
12068 variable[0] = self;
12069 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction77].i]) return;
12070 /* Register variable[1]: Method return value and escape marker */
12071 return_label187: while(false);
12072 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction77].i] = 1;
12073 tracehead = trace.prev;
12074 return;
12075 }
12076 void parser___ReduceAction78___action(val_t self, val_t param0) {
12077 struct trace_t trace = {NULL, NULL, 4533, LOCATE_parser___ReduceAction78___action};
12078 val_t variable[31];
12079 struct WBT_ **closurevariable = NULL;
12080 trace.prev = tracehead; tracehead = &trace;
12081 trace.file = LOCATE_parser;
12082 /* Register variable[0]: Local variable */
12083 variable[0] = self;
12084 /* Register variable[1]: Local variable */
12085 variable[1] = param0;
12086 /* Register variable[2]: Method return value and escape marker */
12087 /* Register variable[3]: Local variable */
12088 variable[3] = NIT_NULL /*null*/;
12089 /* Register variable[4]: Local variable */
12090 /* Register variable[5]: Result */
12091 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12092 variable[4] = variable[5];
12093 /* Register variable[5]: Local variable */
12094 /* Register variable[6]: Result */
12095 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12096 variable[5] = variable[6];
12097 /* Register variable[6]: Local variable */
12098 /* Register variable[7]: Result */
12099 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12100 variable[6] = variable[7];
12101 /* Register variable[7]: Local variable */
12102 /* Register variable[8]: Result */
12103 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12104 variable[7] = variable[8];
12105 /* Register variable[8]: Local variable */
12106 /* Register variable[9]: Result */
12107 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12108 variable[8] = variable[9];
12109 /* Register variable[9]: Local variable */
12110 /* Register variable[10]: Result */
12111 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12112 variable[9] = variable[10];
12113 /* Register variable[10]: Local variable */
12114 /* Register variable[11]: Result */
12115 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12116 variable[10] = variable[11];
12117 /* Register variable[11]: Local variable */
12118 /* Register variable[12]: Result */
12119 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12120 variable[11] = variable[12];
12121 /* Register variable[12]: Local variable */
12122 /* Register variable[13]: Result */
12123 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12124 variable[12] = variable[13];
12125 /* Register variable[13]: Local variable */
12126 /* Register variable[14]: Result */
12127 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12128 variable[13] = variable[14];
12129 /* Register variable[14]: Local variable */
12130 /* Register variable[15]: Result */
12131 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12132 variable[14] = variable[15];
12133 /* Register variable[15]: Local variable */
12134 /* Register variable[16]: Result */
12135 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12136 variable[15] = variable[16];
12137 /* Register variable[16]: Local variable */
12138 /* Register variable[17]: Result */
12139 variable[17] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12140 variable[16] = variable[17];
12141 /* Register variable[17]: Local variable */
12142 /* Register variable[18]: Result */
12143 variable[18] = NEW_Array_array___Array___init() /*new Array[Object]*/;
12144 variable[17] = variable[18];
12145 /* Register variable[18]: Local variable */
12146 /* Register variable[19]: Result */
12147 variable[19] = NEW_Array_array___Array___init() /*new Array[Object]*/;
12148 variable[18] = variable[19];
12149 /* Register variable[19]: Local variable */
12150 /* Register variable[20]: Result */
12151 variable[20] = NEW_Array_array___Array___init() /*new Array[Object]*/;
12152 variable[19] = variable[20];
12153 /* Register variable[20]: Local variable */
12154 variable[20] = variable[16] /*nodearraylist1*/;
12155 /* Register variable[21]: Result */
12156 variable[21] = TAG_Bool(( variable[20] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[20] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12157 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4553); nit_exit(1);}
12158 /* Register variable[21]: Local variable */
12159 variable[21] = variable[15] /*nodearraylist2*/;
12160 /* Register variable[22]: Result */
12161 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12162 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4555); nit_exit(1);}
12163 /* Register variable[22]: Local variable */
12164 variable[22] = variable[14] /*nodearraylist3*/;
12165 /* Register variable[23]: Result */
12166 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12167 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4557); nit_exit(1);}
12168 /* Register variable[23]: Local variable */
12169 variable[23] = variable[13] /*nodearraylist4*/;
12170 /* Register variable[24]: Result */
12171 variable[24] = TAG_Bool(( variable[23] /*pclasskindnode5*/==NIT_NULL) || VAL_ISA( variable[23] /*pclasskindnode5*/, COLOR_PClasskind, ID_PClasskind)) /*cast PClasskind*/;
12172 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4559); nit_exit(1);}
12173 /* Register variable[24]: Local variable */
12174 variable[24] = variable[11] /*nodearraylist6*/;
12175 /* Register variable[25]: Result */
12176 variable[25] = TAG_Bool(( variable[24] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[24] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
12177 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4561); nit_exit(1);}
12178 /* Register variable[25]: Local variable */
12179 variable[25] = variable[10] /*nodearraylist7*/;
12180 /* Register variable[26]: Result */
12181 variable[26] = TAG_Bool(( variable[25] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[25] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12182 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4563); nit_exit(1);}
12183 /* Register variable[26]: Result */
12184 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::==*/)))))));
12185 if (UNTAG_Bool(variable[26])) { /*if*/
12186 /* Register variable[26]: Result */
12187 variable[26] = CALL_abstract_collection___Collection___is_empty( variable[17] /*listnode8*/)( variable[17] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
12188 if (UNTAG_Bool(variable[26])) { /*if*/
12189 variable[17] = variable[25] /*listnode7*/ /*listnode8=*/;
12190 } else { /*if*/
12191 CALL_abstract_collection___IndexedCollection___append( variable[17] /*listnode8*/)( variable[17] /*listnode8*/, variable[25] /*listnode7*/) /*IndexedCollection::append*/;
12192 }
12193 }
12194 /* Register variable[26]: Local variable */
12195 variable[26] = variable[9] /*nodearraylist8*/;
12196 /* Register variable[27]: Result */
12197 variable[27] = TAG_Bool(( variable[26] /*listnode9*/==NIT_NULL) || VAL_ISA( variable[26] /*listnode9*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12198 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4572); nit_exit(1);}
12199 /* Register variable[27]: Result */
12200 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::==*/)))))));
12201 if (UNTAG_Bool(variable[27])) { /*if*/
12202 /* Register variable[27]: Result */
12203 variable[27] = CALL_abstract_collection___Collection___is_empty( variable[18] /*listnode10*/)( variable[18] /*listnode10*/) /*AbstractArrayRead::is_empty*/;
12204 if (UNTAG_Bool(variable[27])) { /*if*/
12205 variable[18] = variable[26] /*listnode9*/ /*listnode10=*/;
12206 } else { /*if*/
12207 CALL_abstract_collection___IndexedCollection___append( variable[18] /*listnode10*/)( variable[18] /*listnode10*/, variable[26] /*listnode9*/) /*IndexedCollection::append*/;
12208 }
12209 }
12210 /* Register variable[27]: Local variable */
12211 variable[27] = variable[8] /*nodearraylist9*/;
12212 /* Register variable[28]: Result */
12213 variable[28] = TAG_Bool(( variable[27] /*ppropdefnode11*/==NIT_NULL) || VAL_ISA( variable[27] /*ppropdefnode11*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
12214 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4581); nit_exit(1);}
12215 /* Register variable[28]: Local variable */
12216 variable[28] = variable[6] /*nodearraylist11*/;
12217 /* Register variable[29]: Result */
12218 variable[29] = TAG_Bool(( variable[28] /*listnode12*/==NIT_NULL) || VAL_ISA( variable[28] /*listnode12*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12219 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction78___action, LOCATE_parser, 4583); nit_exit(1);}
12220 /* Register variable[29]: Result */
12221 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::==*/)))))));
12222 if (UNTAG_Bool(variable[29])) { /*if*/
12223 CALL_abstract_collection___SimpleCollection___add( variable[19] /*listnode13*/)( variable[19] /*listnode13*/, variable[27] /*ppropdefnode11*/) /*AbstractArray::add*/;
12224 }
12225 /* Register variable[29]: Result */
12226 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::==*/)))))));
12227 if (UNTAG_Bool(variable[29])) { /*if*/
12228 /* Register variable[29]: Result */
12229 variable[29] = CALL_abstract_collection___Collection___is_empty( variable[19] /*listnode13*/)( variable[19] /*listnode13*/) /*AbstractArrayRead::is_empty*/;
12230 if (UNTAG_Bool(variable[29])) { /*if*/
12231 variable[19] = variable[28] /*listnode12*/ /*listnode13=*/;
12232 } else { /*if*/
12233 CALL_abstract_collection___IndexedCollection___append( variable[19] /*listnode13*/)( variable[19] /*listnode13*/, variable[28] /*listnode12*/) /*IndexedCollection::append*/;
12234 }
12235 }
12236 /* Register variable[29]: Local variable */
12237 /* Register variable[30]: Result */
12238 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*/;
12239 variable[29] = variable[30];
12240 variable[3] = variable[29] /*pclassdefnode1*/ /*node_list=*/;
12241 /* Register variable[30]: Result */
12242 variable[30] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(5)) /*Parser::go_to*/;
12243 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[30], variable[3] /*node_list*/) /*Parser::push*/;
12244 return_label188: while(false);
12245 tracehead = trace.prev;
12246 return;
12247 }
12248 void parser___ReduceAction78___init(val_t self, int* init_table) {
12249 struct trace_t trace = {NULL, NULL, 4607, LOCATE_parser___ReduceAction78___init};
12250 val_t variable[2];
12251 struct WBT_ **closurevariable = NULL;
12252 trace.prev = tracehead; tracehead = &trace;
12253 trace.file = LOCATE_parser;
12254 /* Register variable[0]: Local variable */
12255 variable[0] = self;
12256 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction78].i]) return;
12257 /* Register variable[1]: Method return value and escape marker */
12258 return_label189: while(false);
12259 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction78].i] = 1;
12260 tracehead = trace.prev;
12261 return;
12262 }
12263 void parser___ReduceAction79___action(val_t self, val_t param0) {
12264 struct trace_t trace = {NULL, NULL, 4611, LOCATE_parser___ReduceAction79___action};
12265 val_t variable[8];
12266 struct WBT_ **closurevariable = NULL;
12267 trace.prev = tracehead; tracehead = &trace;
12268 trace.file = LOCATE_parser;
12269 /* Register variable[0]: Local variable */
12270 variable[0] = self;
12271 /* Register variable[1]: Local variable */
12272 variable[1] = param0;
12273 /* Register variable[2]: Method return value and escape marker */
12274 /* Register variable[3]: Local variable */
12275 variable[3] = NIT_NULL /*null*/;
12276 /* Register variable[4]: Local variable */
12277 /* Register variable[5]: Result */
12278 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12279 variable[4] = variable[5];
12280 /* Register variable[5]: Local variable */
12281 variable[5] = variable[4] /*nodearraylist1*/;
12282 /* Register variable[6]: Result */
12283 variable[6] = TAG_Bool(( variable[5] /*tkwclassnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwclassnode2*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
12284 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction79___action, LOCATE_parser, 4616); nit_exit(1);}
12285 /* Register variable[6]: Local variable */
12286 /* Register variable[7]: Result */
12287 variable[7] = NEW_AConcreteClasskind_parser_prod___AConcreteClasskind___init_aconcreteclasskind( variable[5] /*tkwclassnode2*/) /*new AConcreteClasskind*/;
12288 variable[6] = variable[7];
12289 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
12290 /* Register variable[7]: Result */
12291 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
12292 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
12293 return_label190: while(false);
12294 tracehead = trace.prev;
12295 return;
12296 }
12297 void parser___ReduceAction79___init(val_t self, int* init_table) {
12298 struct trace_t trace = {NULL, NULL, 4623, LOCATE_parser___ReduceAction79___init};
12299 val_t variable[2];
12300 struct WBT_ **closurevariable = NULL;
12301 trace.prev = tracehead; tracehead = &trace;
12302 trace.file = LOCATE_parser;
12303 /* Register variable[0]: Local variable */
12304 variable[0] = self;
12305 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction79].i]) return;
12306 /* Register variable[1]: Method return value and escape marker */
12307 return_label191: while(false);
12308 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction79].i] = 1;
12309 tracehead = trace.prev;
12310 return;
12311 }
12312 void parser___ReduceAction80___action(val_t self, val_t param0) {
12313 struct trace_t trace = {NULL, NULL, 4627, LOCATE_parser___ReduceAction80___action};
12314 val_t variable[10];
12315 struct WBT_ **closurevariable = NULL;
12316 trace.prev = tracehead; tracehead = &trace;
12317 trace.file = LOCATE_parser;
12318 /* Register variable[0]: Local variable */
12319 variable[0] = self;
12320 /* Register variable[1]: Local variable */
12321 variable[1] = param0;
12322 /* Register variable[2]: Method return value and escape marker */
12323 /* Register variable[3]: Local variable */
12324 variable[3] = NIT_NULL /*null*/;
12325 /* Register variable[4]: Local variable */
12326 /* Register variable[5]: Result */
12327 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12328 variable[4] = variable[5];
12329 /* Register variable[5]: Local variable */
12330 /* Register variable[6]: Result */
12331 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12332 variable[5] = variable[6];
12333 /* Register variable[6]: Local variable */
12334 variable[6] = variable[5] /*nodearraylist1*/;
12335 /* Register variable[7]: Result */
12336 variable[7] = TAG_Bool(( variable[6] /*tkwabstractnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwabstractnode2*/, COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
12337 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4633); nit_exit(1);}
12338 /* Register variable[7]: Local variable */
12339 variable[7] = variable[4] /*nodearraylist2*/;
12340 /* Register variable[8]: Result */
12341 variable[8] = TAG_Bool(( variable[7] /*tkwclassnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwclassnode3*/, COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
12342 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction80___action, LOCATE_parser, 4635); nit_exit(1);}
12343 /* Register variable[8]: Local variable */
12344 /* Register variable[9]: Result */
12345 variable[9] = NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind( variable[6] /*tkwabstractnode2*/, variable[7] /*tkwclassnode3*/) /*new AAbstractClasskind*/;
12346 variable[8] = variable[9];
12347 variable[3] = variable[8] /*pclasskindnode1*/ /*node_list=*/;
12348 /* Register variable[9]: Result */
12349 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
12350 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
12351 return_label192: while(false);
12352 tracehead = trace.prev;
12353 return;
12354 }
12355 void parser___ReduceAction80___init(val_t self, int* init_table) {
12356 struct trace_t trace = {NULL, NULL, 4643, LOCATE_parser___ReduceAction80___init};
12357 val_t variable[2];
12358 struct WBT_ **closurevariable = NULL;
12359 trace.prev = tracehead; tracehead = &trace;
12360 trace.file = LOCATE_parser;
12361 /* Register variable[0]: Local variable */
12362 variable[0] = self;
12363 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction80].i]) return;
12364 /* Register variable[1]: Method return value and escape marker */
12365 return_label193: while(false);
12366 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction80].i] = 1;
12367 tracehead = trace.prev;
12368 return;
12369 }
12370 void parser___ReduceAction81___action(val_t self, val_t param0) {
12371 struct trace_t trace = {NULL, NULL, 4647, LOCATE_parser___ReduceAction81___action};
12372 val_t variable[8];
12373 struct WBT_ **closurevariable = NULL;
12374 trace.prev = tracehead; tracehead = &trace;
12375 trace.file = LOCATE_parser;
12376 /* Register variable[0]: Local variable */
12377 variable[0] = self;
12378 /* Register variable[1]: Local variable */
12379 variable[1] = param0;
12380 /* Register variable[2]: Method return value and escape marker */
12381 /* Register variable[3]: Local variable */
12382 variable[3] = NIT_NULL /*null*/;
12383 /* Register variable[4]: Local variable */
12384 /* Register variable[5]: Result */
12385 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12386 variable[4] = variable[5];
12387 /* Register variable[5]: Local variable */
12388 variable[5] = variable[4] /*nodearraylist1*/;
12389 /* Register variable[6]: Result */
12390 variable[6] = TAG_Bool(( variable[5] /*tkwinterfacenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwinterfacenode2*/, COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
12391 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction81___action, LOCATE_parser, 4652); nit_exit(1);}
12392 /* Register variable[6]: Local variable */
12393 /* Register variable[7]: Result */
12394 variable[7] = NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind( variable[5] /*tkwinterfacenode2*/) /*new AInterfaceClasskind*/;
12395 variable[6] = variable[7];
12396 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
12397 /* Register variable[7]: Result */
12398 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
12399 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
12400 return_label194: while(false);
12401 tracehead = trace.prev;
12402 return;
12403 }
12404 void parser___ReduceAction81___init(val_t self, int* init_table) {
12405 struct trace_t trace = {NULL, NULL, 4659, LOCATE_parser___ReduceAction81___init};
12406 val_t variable[2];
12407 struct WBT_ **closurevariable = NULL;
12408 trace.prev = tracehead; tracehead = &trace;
12409 trace.file = LOCATE_parser;
12410 /* Register variable[0]: Local variable */
12411 variable[0] = self;
12412 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction81].i]) return;
12413 /* Register variable[1]: Method return value and escape marker */
12414 return_label195: while(false);
12415 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction81].i] = 1;
12416 tracehead = trace.prev;
12417 return;
12418 }
12419 void parser___ReduceAction82___action(val_t self, val_t param0) {
12420 struct trace_t trace = {NULL, NULL, 4663, LOCATE_parser___ReduceAction82___action};
12421 val_t variable[8];
12422 struct WBT_ **closurevariable = NULL;
12423 trace.prev = tracehead; tracehead = &trace;
12424 trace.file = LOCATE_parser;
12425 /* Register variable[0]: Local variable */
12426 variable[0] = self;
12427 /* Register variable[1]: Local variable */
12428 variable[1] = param0;
12429 /* Register variable[2]: Method return value and escape marker */
12430 /* Register variable[3]: Local variable */
12431 variable[3] = NIT_NULL /*null*/;
12432 /* Register variable[4]: Local variable */
12433 /* Register variable[5]: Result */
12434 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12435 variable[4] = variable[5];
12436 /* Register variable[5]: Local variable */
12437 variable[5] = variable[4] /*nodearraylist1*/;
12438 /* Register variable[6]: Result */
12439 variable[6] = TAG_Bool(( variable[5] /*tkwuniversalnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwuniversalnode2*/, COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
12440 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction82___action, LOCATE_parser, 4668); nit_exit(1);}
12441 /* Register variable[6]: Local variable */
12442 /* Register variable[7]: Result */
12443 variable[7] = NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind( variable[5] /*tkwuniversalnode2*/) /*new AUniversalClasskind*/;
12444 variable[6] = variable[7];
12445 variable[3] = variable[6] /*pclasskindnode1*/ /*node_list=*/;
12446 /* Register variable[7]: Result */
12447 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(6)) /*Parser::go_to*/;
12448 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
12449 return_label196: while(false);
12450 tracehead = trace.prev;
12451 return;
12452 }
12453 void parser___ReduceAction82___init(val_t self, int* init_table) {
12454 struct trace_t trace = {NULL, NULL, 4675, LOCATE_parser___ReduceAction82___init};
12455 val_t variable[2];
12456 struct WBT_ **closurevariable = NULL;
12457 trace.prev = tracehead; tracehead = &trace;
12458 trace.file = LOCATE_parser;
12459 /* Register variable[0]: Local variable */
12460 variable[0] = self;
12461 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction82].i]) return;
12462 /* Register variable[1]: Method return value and escape marker */
12463 return_label197: while(false);
12464 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction82].i] = 1;
12465 tracehead = trace.prev;
12466 return;
12467 }
12468 void parser___ReduceAction83___action(val_t self, val_t param0) {
12469 struct trace_t trace = {NULL, NULL, 4679, LOCATE_parser___ReduceAction83___action};
12470 val_t variable[12];
12471 struct WBT_ **closurevariable = NULL;
12472 trace.prev = tracehead; tracehead = &trace;
12473 trace.file = LOCATE_parser;
12474 /* Register variable[0]: Local variable */
12475 variable[0] = self;
12476 /* Register variable[1]: Local variable */
12477 variable[1] = param0;
12478 /* Register variable[2]: Method return value and escape marker */
12479 /* Register variable[3]: Local variable */
12480 variable[3] = NIT_NULL /*null*/;
12481 /* Register variable[4]: Local variable */
12482 /* Register variable[5]: Result */
12483 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12484 variable[4] = variable[5];
12485 /* Register variable[5]: Local variable */
12486 /* Register variable[6]: Result */
12487 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12488 variable[5] = variable[6];
12489 /* Register variable[6]: Local variable */
12490 /* Register variable[7]: Result */
12491 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12492 variable[6] = variable[7];
12493 /* Register variable[7]: Local variable */
12494 /* Register variable[8]: Result */
12495 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12496 variable[7] = variable[8];
12497 /* Register variable[8]: Local variable */
12498 /* Register variable[9]: Result */
12499 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12500 variable[8] = variable[9];
12501 /* Register variable[9]: Local variable */
12502 /* Register variable[10]: Result */
12503 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
12504 variable[9] = variable[10];
12505 /* Register variable[10]: Local variable */
12506 variable[10] = variable[6] /*nodearraylist3*/;
12507 /* Register variable[11]: Result */
12508 variable[11] = TAG_Bool(( variable[10] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
12509 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction83___action, LOCATE_parser, 4689); nit_exit(1);}
12510 /* Register variable[11]: Result */
12511 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::==*/)))))));
12512 if (UNTAG_Bool(variable[11])) { /*if*/
12513 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pformaldefnode1*/) /*AbstractArray::add*/;
12514 }
12515 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
12516 /* Register variable[11]: Result */
12517 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
12518 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
12519 return_label198: while(false);
12520 tracehead = trace.prev;
12521 return;
12522 }
12523 void parser___ReduceAction83___init(val_t self, int* init_table) {
12524 struct trace_t trace = {NULL, NULL, 4696, LOCATE_parser___ReduceAction83___init};
12525 val_t variable[2];
12526 struct WBT_ **closurevariable = NULL;
12527 trace.prev = tracehead; tracehead = &trace;
12528 trace.file = LOCATE_parser;
12529 /* Register variable[0]: Local variable */
12530 variable[0] = self;
12531 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction83].i]) return;
12532 /* Register variable[1]: Method return value and escape marker */
12533 return_label199: while(false);
12534 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction83].i] = 1;
12535 tracehead = trace.prev;
12536 return;
12537 }
12538 void parser___ReduceAction84___action(val_t self, val_t param0) {
12539 struct trace_t trace = {NULL, NULL, 4700, LOCATE_parser___ReduceAction84___action};
12540 val_t variable[14];
12541 struct WBT_ **closurevariable = NULL;
12542 trace.prev = tracehead; tracehead = &trace;
12543 trace.file = LOCATE_parser;
12544 /* Register variable[0]: Local variable */
12545 variable[0] = self;
12546 /* Register variable[1]: Local variable */
12547 variable[1] = param0;
12548 /* Register variable[2]: Method return value and escape marker */
12549 /* Register variable[3]: Local variable */
12550 variable[3] = NIT_NULL /*null*/;
12551 /* Register variable[4]: Local variable */
12552 /* Register variable[5]: Result */
12553 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12554 variable[4] = variable[5];
12555 /* Register variable[5]: Local variable */
12556 /* Register variable[6]: Result */
12557 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12558 variable[5] = variable[6];
12559 /* Register variable[6]: Local variable */
12560 /* Register variable[7]: Result */
12561 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12562 variable[6] = variable[7];
12563 /* Register variable[7]: Local variable */
12564 /* Register variable[8]: Result */
12565 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12566 variable[7] = variable[8];
12567 /* Register variable[8]: Local variable */
12568 /* Register variable[9]: Result */
12569 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12570 variable[8] = variable[9];
12571 /* Register variable[9]: Local variable */
12572 /* Register variable[10]: Result */
12573 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12574 variable[9] = variable[10];
12575 /* Register variable[10]: Local variable */
12576 /* Register variable[11]: Result */
12577 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
12578 variable[10] = variable[11];
12579 /* Register variable[11]: Local variable */
12580 variable[11] = variable[7] /*nodearraylist3*/;
12581 /* Register variable[12]: Result */
12582 variable[12] = TAG_Bool(( variable[11] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
12583 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4711); nit_exit(1);}
12584 /* Register variable[12]: Local variable */
12585 variable[12] = variable[6] /*nodearraylist4*/;
12586 /* Register variable[13]: Result */
12587 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
12588 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction84___action, LOCATE_parser, 4713); nit_exit(1);}
12589 /* Register variable[13]: Result */
12590 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::==*/)))))));
12591 if (UNTAG_Bool(variable[13])) { /*if*/
12592 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pformaldefnode1*/) /*AbstractArray::add*/;
12593 }
12594 /* Register variable[13]: Result */
12595 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::==*/)))))));
12596 if (UNTAG_Bool(variable[13])) { /*if*/
12597 /* Register variable[13]: Result */
12598 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
12599 if (UNTAG_Bool(variable[13])) { /*if*/
12600 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
12601 } else { /*if*/
12602 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
12603 }
12604 }
12605 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
12606 /* Register variable[13]: Result */
12607 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(7)) /*Parser::go_to*/;
12608 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
12609 return_label200: while(false);
12610 tracehead = trace.prev;
12611 return;
12612 }
12613 void parser___ReduceAction84___init(val_t self, int* init_table) {
12614 struct trace_t trace = {NULL, NULL, 4727, LOCATE_parser___ReduceAction84___init};
12615 val_t variable[2];
12616 struct WBT_ **closurevariable = NULL;
12617 trace.prev = tracehead; tracehead = &trace;
12618 trace.file = LOCATE_parser;
12619 /* Register variable[0]: Local variable */
12620 variable[0] = self;
12621 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction84].i]) return;
12622 /* Register variable[1]: Method return value and escape marker */
12623 return_label201: while(false);
12624 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction84].i] = 1;
12625 tracehead = trace.prev;
12626 return;
12627 }
12628 void parser___ReduceAction85___action(val_t self, val_t param0) {
12629 struct trace_t trace = {NULL, NULL, 4731, LOCATE_parser___ReduceAction85___action};
12630 val_t variable[9];
12631 struct WBT_ **closurevariable = NULL;
12632 trace.prev = tracehead; tracehead = &trace;
12633 trace.file = LOCATE_parser;
12634 /* Register variable[0]: Local variable */
12635 variable[0] = self;
12636 /* Register variable[1]: Local variable */
12637 variable[1] = param0;
12638 /* Register variable[2]: Method return value and escape marker */
12639 /* Register variable[3]: Local variable */
12640 variable[3] = NIT_NULL /*null*/;
12641 /* Register variable[4]: Local variable */
12642 /* Register variable[5]: Result */
12643 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12644 variable[4] = variable[5];
12645 /* Register variable[5]: Local variable */
12646 /* Register variable[6]: Result */
12647 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12648 variable[5] = variable[6];
12649 /* Register variable[6]: Local variable */
12650 /* Register variable[7]: Result */
12651 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12652 variable[6] = variable[7];
12653 /* Register variable[7]: Local variable */
12654 variable[7] = variable[4] /*nodearraylist3*/;
12655 /* Register variable[8]: Result */
12656 variable[8] = TAG_Bool(( variable[7] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
12657 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction85___action, LOCATE_parser, 4738); nit_exit(1);}
12658 variable[3] = variable[7] /*pformaldefnode1*/ /*node_list=*/;
12659 /* Register variable[8]: Result */
12660 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(8)) /*Parser::go_to*/;
12661 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
12662 return_label202: while(false);
12663 tracehead = trace.prev;
12664 return;
12665 }
12666 void parser___ReduceAction85___init(val_t self, int* init_table) {
12667 struct trace_t trace = {NULL, NULL, 4742, LOCATE_parser___ReduceAction85___init};
12668 val_t variable[2];
12669 struct WBT_ **closurevariable = NULL;
12670 trace.prev = tracehead; tracehead = &trace;
12671 trace.file = LOCATE_parser;
12672 /* Register variable[0]: Local variable */
12673 variable[0] = self;
12674 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction85].i]) return;
12675 /* Register variable[1]: Method return value and escape marker */
12676 return_label203: while(false);
12677 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction85].i] = 1;
12678 tracehead = trace.prev;
12679 return;
12680 }
12681 void parser___ReduceAction86___action(val_t self, val_t param0) {
12682 struct trace_t trace = {NULL, NULL, 4746, LOCATE_parser___ReduceAction86___action};
12683 val_t variable[8];
12684 struct WBT_ **closurevariable = NULL;
12685 trace.prev = tracehead; tracehead = &trace;
12686 trace.file = LOCATE_parser;
12687 /* Register variable[0]: Local variable */
12688 variable[0] = self;
12689 /* Register variable[1]: Local variable */
12690 variable[1] = param0;
12691 /* Register variable[2]: Method return value and escape marker */
12692 /* Register variable[3]: Local variable */
12693 variable[3] = NIT_NULL /*null*/;
12694 /* Register variable[4]: Local variable */
12695 /* Register variable[5]: Result */
12696 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12697 variable[4] = variable[5];
12698 /* Register variable[5]: Local variable */
12699 variable[5] = variable[4] /*nodearraylist1*/;
12700 /* Register variable[6]: Result */
12701 variable[6] = TAG_Bool(( variable[5] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
12702 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction86___action, LOCATE_parser, 4751); nit_exit(1);}
12703 /* Register variable[6]: Local variable */
12704 /* Register variable[7]: Result */
12705 variable[7] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[5] /*tclassidnode2*/, NIT_NULL /*null*/) /*new AFormaldef*/;
12706 variable[6] = variable[7];
12707 variable[3] = variable[6] /*pformaldefnode1*/ /*node_list=*/;
12708 /* Register variable[7]: Result */
12709 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
12710 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
12711 return_label204: while(false);
12712 tracehead = trace.prev;
12713 return;
12714 }
12715 void parser___ReduceAction86___init(val_t self, int* init_table) {
12716 struct trace_t trace = {NULL, NULL, 4759, LOCATE_parser___ReduceAction86___init};
12717 val_t variable[2];
12718 struct WBT_ **closurevariable = NULL;
12719 trace.prev = tracehead; tracehead = &trace;
12720 trace.file = LOCATE_parser;
12721 /* Register variable[0]: Local variable */
12722 variable[0] = self;
12723 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction86].i]) return;
12724 /* Register variable[1]: Method return value and escape marker */
12725 return_label205: while(false);
12726 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction86].i] = 1;
12727 tracehead = trace.prev;
12728 return;
12729 }
12730 void parser___ReduceAction87___action(val_t self, val_t param0) {
12731 struct trace_t trace = {NULL, NULL, 4763, LOCATE_parser___ReduceAction87___action};
12732 val_t variable[10];
12733 struct WBT_ **closurevariable = NULL;
12734 trace.prev = tracehead; tracehead = &trace;
12735 trace.file = LOCATE_parser;
12736 /* Register variable[0]: Local variable */
12737 variable[0] = self;
12738 /* Register variable[1]: Local variable */
12739 variable[1] = param0;
12740 /* Register variable[2]: Method return value and escape marker */
12741 /* Register variable[3]: Local variable */
12742 variable[3] = NIT_NULL /*null*/;
12743 /* Register variable[4]: Local variable */
12744 /* Register variable[5]: Result */
12745 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12746 variable[4] = variable[5];
12747 /* Register variable[5]: Local variable */
12748 /* Register variable[6]: Result */
12749 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12750 variable[5] = variable[6];
12751 /* Register variable[6]: Local variable */
12752 variable[6] = variable[5] /*nodearraylist1*/;
12753 /* Register variable[7]: Result */
12754 variable[7] = TAG_Bool(( variable[6] /*tclassidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode2*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
12755 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4769); nit_exit(1);}
12756 /* Register variable[7]: Local variable */
12757 variable[7] = variable[4] /*nodearraylist2*/;
12758 /* Register variable[8]: Result */
12759 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
12760 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction87___action, LOCATE_parser, 4771); nit_exit(1);}
12761 /* Register variable[8]: Local variable */
12762 /* Register variable[9]: Result */
12763 variable[9] = NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef( variable[6] /*tclassidnode2*/, variable[7] /*ptypenode3*/) /*new AFormaldef*/;
12764 variable[8] = variable[9];
12765 variable[3] = variable[8] /*pformaldefnode1*/ /*node_list=*/;
12766 /* Register variable[9]: Result */
12767 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(9)) /*Parser::go_to*/;
12768 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
12769 return_label206: while(false);
12770 tracehead = trace.prev;
12771 return;
12772 }
12773 void parser___ReduceAction87___init(val_t self, int* init_table) {
12774 struct trace_t trace = {NULL, NULL, 4779, LOCATE_parser___ReduceAction87___init};
12775 val_t variable[2];
12776 struct WBT_ **closurevariable = NULL;
12777 trace.prev = tracehead; tracehead = &trace;
12778 trace.file = LOCATE_parser;
12779 /* Register variable[0]: Local variable */
12780 variable[0] = self;
12781 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction87].i]) return;
12782 /* Register variable[1]: Method return value and escape marker */
12783 return_label207: while(false);
12784 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction87].i] = 1;
12785 tracehead = trace.prev;
12786 return;
12787 }
12788 void parser___ReduceAction88___action(val_t self, val_t param0) {
12789 struct trace_t trace = {NULL, NULL, 4783, LOCATE_parser___ReduceAction88___action};
12790 val_t variable[12];
12791 struct WBT_ **closurevariable = NULL;
12792 trace.prev = tracehead; tracehead = &trace;
12793 trace.file = LOCATE_parser;
12794 /* Register variable[0]: Local variable */
12795 variable[0] = self;
12796 /* Register variable[1]: Local variable */
12797 variable[1] = param0;
12798 /* Register variable[2]: Method return value and escape marker */
12799 /* Register variable[3]: Local variable */
12800 variable[3] = NIT_NULL /*null*/;
12801 /* Register variable[4]: Local variable */
12802 /* Register variable[5]: Result */
12803 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12804 variable[4] = variable[5];
12805 /* Register variable[5]: Local variable */
12806 /* Register variable[6]: Result */
12807 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12808 variable[5] = variable[6];
12809 /* Register variable[6]: Local variable */
12810 /* Register variable[7]: Result */
12811 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12812 variable[6] = variable[7];
12813 /* Register variable[7]: Local variable */
12814 /* Register variable[8]: Result */
12815 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12816 variable[7] = variable[8];
12817 /* Register variable[8]: Local variable */
12818 variable[8] = variable[6] /*nodearraylist2*/;
12819 /* Register variable[9]: Result */
12820 variable[9] = TAG_Bool(( variable[8] /*tkwspecialnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwspecialnode2*/, COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
12821 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4791); nit_exit(1);}
12822 /* Register variable[9]: Local variable */
12823 variable[9] = variable[4] /*nodearraylist4*/;
12824 /* Register variable[10]: Result */
12825 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
12826 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction88___action, LOCATE_parser, 4793); nit_exit(1);}
12827 /* Register variable[10]: Local variable */
12828 /* Register variable[11]: Result */
12829 variable[11] = NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass( variable[8] /*tkwspecialnode2*/, variable[9] /*ptypenode3*/) /*new ASuperclass*/;
12830 variable[10] = variable[11];
12831 variable[3] = variable[10] /*psuperclassnode1*/ /*node_list=*/;
12832 /* Register variable[11]: Result */
12833 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(10)) /*Parser::go_to*/;
12834 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
12835 return_label208: while(false);
12836 tracehead = trace.prev;
12837 return;
12838 }
12839 void parser___ReduceAction88___init(val_t self, int* init_table) {
12840 struct trace_t trace = {NULL, NULL, 4801, LOCATE_parser___ReduceAction88___init};
12841 val_t variable[2];
12842 struct WBT_ **closurevariable = NULL;
12843 trace.prev = tracehead; tracehead = &trace;
12844 trace.file = LOCATE_parser;
12845 /* Register variable[0]: Local variable */
12846 variable[0] = self;
12847 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction88].i]) return;
12848 /* Register variable[1]: Method return value and escape marker */
12849 return_label209: while(false);
12850 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction88].i] = 1;
12851 tracehead = trace.prev;
12852 return;
12853 }
12854 void parser___ReduceAction89___action(val_t self, val_t param0) {
12855 struct trace_t trace = {NULL, NULL, 4805, LOCATE_parser___ReduceAction89___action};
12856 val_t variable[8];
12857 struct WBT_ **closurevariable = NULL;
12858 trace.prev = tracehead; tracehead = &trace;
12859 trace.file = LOCATE_parser;
12860 /* Register variable[0]: Local variable */
12861 variable[0] = self;
12862 /* Register variable[1]: Local variable */
12863 variable[1] = param0;
12864 /* Register variable[2]: Method return value and escape marker */
12865 /* Register variable[3]: Local variable */
12866 variable[3] = NIT_NULL /*null*/;
12867 /* Register variable[4]: Local variable */
12868 /* Register variable[5]: Result */
12869 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12870 variable[4] = variable[5];
12871 /* Register variable[5]: Local variable */
12872 /* Register variable[6]: Result */
12873 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12874 variable[5] = variable[6];
12875 /* Register variable[6]: Local variable */
12876 variable[6] = variable[5] /*nodearraylist1*/;
12877 /* Register variable[7]: Result */
12878 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
12879 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction89___action, LOCATE_parser, 4811); nit_exit(1);}
12880 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
12881 /* Register variable[7]: Result */
12882 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(11)) /*Parser::go_to*/;
12883 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
12884 return_label210: while(false);
12885 tracehead = trace.prev;
12886 return;
12887 }
12888 void parser___ReduceAction89___init(val_t self, int* init_table) {
12889 struct trace_t trace = {NULL, NULL, 4815, LOCATE_parser___ReduceAction89___init};
12890 val_t variable[2];
12891 struct WBT_ **closurevariable = NULL;
12892 trace.prev = tracehead; tracehead = &trace;
12893 trace.file = LOCATE_parser;
12894 /* Register variable[0]: Local variable */
12895 variable[0] = self;
12896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction89].i]) return;
12897 /* Register variable[1]: Method return value and escape marker */
12898 return_label211: while(false);
12899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction89].i] = 1;
12900 tracehead = trace.prev;
12901 return;
12902 }
12903 void parser___ReduceAction90___action(val_t self, val_t param0) {
12904 struct trace_t trace = {NULL, NULL, 4819, LOCATE_parser___ReduceAction90___action};
12905 val_t variable[19];
12906 struct WBT_ **closurevariable = NULL;
12907 trace.prev = tracehead; tracehead = &trace;
12908 trace.file = LOCATE_parser;
12909 /* Register variable[0]: Local variable */
12910 variable[0] = self;
12911 /* Register variable[1]: Local variable */
12912 variable[1] = param0;
12913 /* Register variable[2]: Method return value and escape marker */
12914 /* Register variable[3]: Local variable */
12915 variable[3] = NIT_NULL /*null*/;
12916 /* Register variable[4]: Local variable */
12917 /* Register variable[5]: Result */
12918 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12919 variable[4] = variable[5];
12920 /* Register variable[5]: Local variable */
12921 /* Register variable[6]: Result */
12922 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12923 variable[5] = variable[6];
12924 /* Register variable[6]: Local variable */
12925 /* Register variable[7]: Result */
12926 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12927 variable[6] = variable[7];
12928 /* Register variable[7]: Local variable */
12929 /* Register variable[8]: Result */
12930 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12931 variable[7] = variable[8];
12932 /* Register variable[8]: Local variable */
12933 /* Register variable[9]: Result */
12934 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12935 variable[8] = variable[9];
12936 /* Register variable[9]: Local variable */
12937 /* Register variable[10]: Result */
12938 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12939 variable[9] = variable[10];
12940 /* Register variable[10]: Local variable */
12941 /* Register variable[11]: Result */
12942 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
12943 variable[10] = variable[11];
12944 /* Register variable[11]: Local variable */
12945 variable[11] = variable[10] /*nodearraylist1*/;
12946 /* Register variable[12]: Result */
12947 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
12948 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4830); nit_exit(1);}
12949 /* Register variable[12]: Local variable */
12950 variable[12] = variable[9] /*nodearraylist2*/;
12951 /* Register variable[13]: Result */
12952 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
12953 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4832); nit_exit(1);}
12954 /* Register variable[13]: Local variable */
12955 variable[13] = variable[8] /*nodearraylist3*/;
12956 /* Register variable[14]: Result */
12957 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
12958 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4834); nit_exit(1);}
12959 /* Register variable[14]: Local variable */
12960 variable[14] = variable[7] /*nodearraylist4*/;
12961 /* Register variable[15]: Result */
12962 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
12963 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4836); nit_exit(1);}
12964 /* Register variable[15]: Local variable */
12965 variable[15] = variable[6] /*nodearraylist5*/;
12966 /* Register variable[16]: Result */
12967 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
12968 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4838); nit_exit(1);}
12969 /* Register variable[16]: Local variable */
12970 variable[16] = variable[4] /*nodearraylist7*/;
12971 /* Register variable[17]: Result */
12972 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
12973 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction90___action, LOCATE_parser, 4840); nit_exit(1);}
12974 /* Register variable[17]: Local variable */
12975 /* Register variable[18]: Result */
12976 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*/;
12977 variable[17] = variable[18];
12978 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
12979 /* Register variable[18]: Result */
12980 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
12981 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
12982 return_label212: while(false);
12983 tracehead = trace.prev;
12984 return;
12985 }
12986 void parser___ReduceAction90___init(val_t self, int* init_table) {
12987 struct trace_t trace = {NULL, NULL, 4853, LOCATE_parser___ReduceAction90___init};
12988 val_t variable[2];
12989 struct WBT_ **closurevariable = NULL;
12990 trace.prev = tracehead; tracehead = &trace;
12991 trace.file = LOCATE_parser;
12992 /* Register variable[0]: Local variable */
12993 variable[0] = self;
12994 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction90].i]) return;
12995 /* Register variable[1]: Method return value and escape marker */
12996 return_label213: while(false);
12997 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction90].i] = 1;
12998 tracehead = trace.prev;
12999 return;
13000 }
13001 void parser___ReduceAction91___action(val_t self, val_t param0) {
13002 struct trace_t trace = {NULL, NULL, 4857, LOCATE_parser___ReduceAction91___action};
13003 val_t variable[21];
13004 struct WBT_ **closurevariable = NULL;
13005 trace.prev = tracehead; tracehead = &trace;
13006 trace.file = LOCATE_parser;
13007 /* Register variable[0]: Local variable */
13008 variable[0] = self;
13009 /* Register variable[1]: Local variable */
13010 variable[1] = param0;
13011 /* Register variable[2]: Method return value and escape marker */
13012 /* Register variable[3]: Local variable */
13013 variable[3] = NIT_NULL /*null*/;
13014 /* Register variable[4]: Local variable */
13015 /* Register variable[5]: Result */
13016 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13017 variable[4] = variable[5];
13018 /* Register variable[5]: Local variable */
13019 /* Register variable[6]: Result */
13020 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13021 variable[5] = variable[6];
13022 /* Register variable[6]: Local variable */
13023 /* Register variable[7]: Result */
13024 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13025 variable[6] = variable[7];
13026 /* Register variable[7]: Local variable */
13027 /* Register variable[8]: Result */
13028 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13029 variable[7] = variable[8];
13030 /* Register variable[8]: Local variable */
13031 /* Register variable[9]: Result */
13032 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13033 variable[8] = variable[9];
13034 /* Register variable[9]: Local variable */
13035 /* Register variable[10]: Result */
13036 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13037 variable[9] = variable[10];
13038 /* Register variable[10]: Local variable */
13039 /* Register variable[11]: Result */
13040 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13041 variable[10] = variable[11];
13042 /* Register variable[11]: Local variable */
13043 /* Register variable[12]: Result */
13044 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13045 variable[11] = variable[12];
13046 /* Register variable[12]: Local variable */
13047 variable[12] = variable[11] /*nodearraylist1*/;
13048 /* Register variable[13]: Result */
13049 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13050 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4869); nit_exit(1);}
13051 /* Register variable[13]: Local variable */
13052 variable[13] = variable[10] /*nodearraylist2*/;
13053 /* Register variable[14]: Result */
13054 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13055 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4871); nit_exit(1);}
13056 /* Register variable[14]: Local variable */
13057 variable[14] = variable[9] /*nodearraylist3*/;
13058 /* Register variable[15]: Result */
13059 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13060 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4873); nit_exit(1);}
13061 /* Register variable[15]: Local variable */
13062 variable[15] = variable[8] /*nodearraylist4*/;
13063 /* Register variable[16]: Result */
13064 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13065 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4875); nit_exit(1);}
13066 /* Register variable[16]: Local variable */
13067 variable[16] = variable[7] /*nodearraylist5*/;
13068 /* Register variable[17]: Result */
13069 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13070 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4877); nit_exit(1);}
13071 /* Register variable[17]: Local variable */
13072 variable[17] = variable[6] /*nodearraylist6*/;
13073 /* Register variable[18]: Result */
13074 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13075 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4879); nit_exit(1);}
13076 /* Register variable[18]: Local variable */
13077 variable[18] = variable[4] /*nodearraylist8*/;
13078 /* Register variable[19]: Result */
13079 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13080 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction91___action, LOCATE_parser, 4881); nit_exit(1);}
13081 /* Register variable[19]: Local variable */
13082 /* Register variable[20]: Result */
13083 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*/;
13084 variable[19] = variable[20];
13085 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
13086 /* Register variable[20]: Result */
13087 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13088 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
13089 return_label214: while(false);
13090 tracehead = trace.prev;
13091 return;
13092 }
13093 void parser___ReduceAction91___init(val_t self, int* init_table) {
13094 struct trace_t trace = {NULL, NULL, 4894, LOCATE_parser___ReduceAction91___init};
13095 val_t variable[2];
13096 struct WBT_ **closurevariable = NULL;
13097 trace.prev = tracehead; tracehead = &trace;
13098 trace.file = LOCATE_parser;
13099 /* Register variable[0]: Local variable */
13100 variable[0] = self;
13101 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction91].i]) return;
13102 /* Register variable[1]: Method return value and escape marker */
13103 return_label215: while(false);
13104 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction91].i] = 1;
13105 tracehead = trace.prev;
13106 return;
13107 }
13108 void parser___ReduceAction92___action(val_t self, val_t param0) {
13109 struct trace_t trace = {NULL, NULL, 4898, LOCATE_parser___ReduceAction92___action};
13110 val_t variable[20];
13111 struct WBT_ **closurevariable = NULL;
13112 trace.prev = tracehead; tracehead = &trace;
13113 trace.file = LOCATE_parser;
13114 /* Register variable[0]: Local variable */
13115 variable[0] = self;
13116 /* Register variable[1]: Local variable */
13117 variable[1] = param0;
13118 /* Register variable[2]: Method return value and escape marker */
13119 /* Register variable[3]: Local variable */
13120 variable[3] = NIT_NULL /*null*/;
13121 /* Register variable[4]: Local variable */
13122 /* Register variable[5]: Result */
13123 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13124 variable[4] = variable[5];
13125 /* Register variable[5]: Local variable */
13126 /* Register variable[6]: Result */
13127 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13128 variable[5] = variable[6];
13129 /* Register variable[6]: Local variable */
13130 /* Register variable[7]: Result */
13131 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13132 variable[6] = variable[7];
13133 /* Register variable[7]: Local variable */
13134 /* Register variable[8]: Result */
13135 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13136 variable[7] = variable[8];
13137 /* Register variable[8]: Local variable */
13138 /* Register variable[9]: Result */
13139 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13140 variable[8] = variable[9];
13141 /* Register variable[9]: Local variable */
13142 /* Register variable[10]: Result */
13143 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13144 variable[9] = variable[10];
13145 /* Register variable[10]: Local variable */
13146 /* Register variable[11]: Result */
13147 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13148 variable[10] = variable[11];
13149 /* Register variable[11]: Local variable */
13150 /* Register variable[12]: Result */
13151 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13152 variable[11] = variable[12];
13153 /* Register variable[12]: Local variable */
13154 variable[12] = variable[11] /*nodearraylist1*/;
13155 /* Register variable[13]: Result */
13156 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13157 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4910); nit_exit(1);}
13158 /* Register variable[13]: Local variable */
13159 variable[13] = variable[10] /*nodearraylist2*/;
13160 /* Register variable[14]: Result */
13161 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13162 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4912); nit_exit(1);}
13163 /* Register variable[14]: Local variable */
13164 variable[14] = variable[9] /*nodearraylist3*/;
13165 /* Register variable[15]: Result */
13166 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13167 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4914); nit_exit(1);}
13168 /* Register variable[15]: Local variable */
13169 variable[15] = variable[8] /*nodearraylist4*/;
13170 /* Register variable[16]: Result */
13171 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13172 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4916); nit_exit(1);}
13173 /* Register variable[16]: Local variable */
13174 variable[16] = variable[7] /*nodearraylist5*/;
13175 /* Register variable[17]: Result */
13176 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13177 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4918); nit_exit(1);}
13178 /* Register variable[17]: Local variable */
13179 variable[17] = variable[5] /*nodearraylist7*/;
13180 /* Register variable[18]: Result */
13181 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13182 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction92___action, LOCATE_parser, 4920); nit_exit(1);}
13183 /* Register variable[18]: Local variable */
13184 /* Register variable[19]: Result */
13185 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*/;
13186 variable[18] = variable[19];
13187 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13188 /* Register variable[19]: Result */
13189 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13190 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13191 return_label216: while(false);
13192 tracehead = trace.prev;
13193 return;
13194 }
13195 void parser___ReduceAction92___init(val_t self, int* init_table) {
13196 struct trace_t trace = {NULL, NULL, 4933, LOCATE_parser___ReduceAction92___init};
13197 val_t variable[2];
13198 struct WBT_ **closurevariable = NULL;
13199 trace.prev = tracehead; tracehead = &trace;
13200 trace.file = LOCATE_parser;
13201 /* Register variable[0]: Local variable */
13202 variable[0] = self;
13203 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction92].i]) return;
13204 /* Register variable[1]: Method return value and escape marker */
13205 return_label217: while(false);
13206 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction92].i] = 1;
13207 tracehead = trace.prev;
13208 return;
13209 }
13210 void parser___ReduceAction93___action(val_t self, val_t param0) {
13211 struct trace_t trace = {NULL, NULL, 4937, LOCATE_parser___ReduceAction93___action};
13212 val_t variable[22];
13213 struct WBT_ **closurevariable = NULL;
13214 trace.prev = tracehead; tracehead = &trace;
13215 trace.file = LOCATE_parser;
13216 /* Register variable[0]: Local variable */
13217 variable[0] = self;
13218 /* Register variable[1]: Local variable */
13219 variable[1] = param0;
13220 /* Register variable[2]: Method return value and escape marker */
13221 /* Register variable[3]: Local variable */
13222 variable[3] = NIT_NULL /*null*/;
13223 /* Register variable[4]: Local variable */
13224 /* Register variable[5]: Result */
13225 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13226 variable[4] = variable[5];
13227 /* Register variable[5]: Local variable */
13228 /* Register variable[6]: Result */
13229 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13230 variable[5] = variable[6];
13231 /* Register variable[6]: Local variable */
13232 /* Register variable[7]: Result */
13233 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13234 variable[6] = variable[7];
13235 /* Register variable[7]: Local variable */
13236 /* Register variable[8]: Result */
13237 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13238 variable[7] = variable[8];
13239 /* Register variable[8]: Local variable */
13240 /* Register variable[9]: Result */
13241 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13242 variable[8] = variable[9];
13243 /* Register variable[9]: Local variable */
13244 /* Register variable[10]: Result */
13245 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13246 variable[9] = variable[10];
13247 /* Register variable[10]: Local variable */
13248 /* Register variable[11]: Result */
13249 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13250 variable[10] = variable[11];
13251 /* Register variable[11]: Local variable */
13252 /* Register variable[12]: Result */
13253 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13254 variable[11] = variable[12];
13255 /* Register variable[12]: Local variable */
13256 /* Register variable[13]: Result */
13257 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13258 variable[12] = variable[13];
13259 /* Register variable[13]: Local variable */
13260 variable[13] = variable[12] /*nodearraylist1*/;
13261 /* Register variable[14]: Result */
13262 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13263 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4950); nit_exit(1);}
13264 /* Register variable[14]: Local variable */
13265 variable[14] = variable[11] /*nodearraylist2*/;
13266 /* Register variable[15]: Result */
13267 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13268 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4952); nit_exit(1);}
13269 /* Register variable[15]: Local variable */
13270 variable[15] = variable[10] /*nodearraylist3*/;
13271 /* Register variable[16]: Result */
13272 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13273 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4954); nit_exit(1);}
13274 /* Register variable[16]: Local variable */
13275 variable[16] = variable[9] /*nodearraylist4*/;
13276 /* Register variable[17]: Result */
13277 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13278 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4956); nit_exit(1);}
13279 /* Register variable[17]: Local variable */
13280 variable[17] = variable[8] /*nodearraylist5*/;
13281 /* Register variable[18]: Result */
13282 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13283 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4958); nit_exit(1);}
13284 /* Register variable[18]: Local variable */
13285 variable[18] = variable[7] /*nodearraylist6*/;
13286 /* Register variable[19]: Result */
13287 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13288 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4960); nit_exit(1);}
13289 /* Register variable[19]: Local variable */
13290 variable[19] = variable[5] /*nodearraylist8*/;
13291 /* Register variable[20]: Result */
13292 variable[20] = TAG_Bool(( variable[19] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
13293 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction93___action, LOCATE_parser, 4962); nit_exit(1);}
13294 /* Register variable[20]: Local variable */
13295 /* Register variable[21]: Result */
13296 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*/;
13297 variable[20] = variable[21];
13298 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
13299 /* Register variable[21]: Result */
13300 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13301 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
13302 return_label218: while(false);
13303 tracehead = trace.prev;
13304 return;
13305 }
13306 void parser___ReduceAction93___init(val_t self, int* init_table) {
13307 struct trace_t trace = {NULL, NULL, 4975, LOCATE_parser___ReduceAction93___init};
13308 val_t variable[2];
13309 struct WBT_ **closurevariable = NULL;
13310 trace.prev = tracehead; tracehead = &trace;
13311 trace.file = LOCATE_parser;
13312 /* Register variable[0]: Local variable */
13313 variable[0] = self;
13314 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction93].i]) return;
13315 /* Register variable[1]: Method return value and escape marker */
13316 return_label219: while(false);
13317 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction93].i] = 1;
13318 tracehead = trace.prev;
13319 return;
13320 }
13321 void parser___ReduceAction94___action(val_t self, val_t param0) {
13322 struct trace_t trace = {NULL, NULL, 4979, LOCATE_parser___ReduceAction94___action};
13323 val_t variable[18];
13324 struct WBT_ **closurevariable = NULL;
13325 trace.prev = tracehead; tracehead = &trace;
13326 trace.file = LOCATE_parser;
13327 /* Register variable[0]: Local variable */
13328 variable[0] = self;
13329 /* Register variable[1]: Local variable */
13330 variable[1] = param0;
13331 /* Register variable[2]: Method return value and escape marker */
13332 /* Register variable[3]: Local variable */
13333 variable[3] = NIT_NULL /*null*/;
13334 /* Register variable[4]: Local variable */
13335 /* Register variable[5]: Result */
13336 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13337 variable[4] = variable[5];
13338 /* Register variable[5]: Local variable */
13339 /* Register variable[6]: Result */
13340 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13341 variable[5] = variable[6];
13342 /* Register variable[6]: Local variable */
13343 /* Register variable[7]: Result */
13344 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13345 variable[6] = variable[7];
13346 /* Register variable[7]: Local variable */
13347 /* Register variable[8]: Result */
13348 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13349 variable[7] = variable[8];
13350 /* Register variable[8]: Local variable */
13351 /* Register variable[9]: Result */
13352 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13353 variable[8] = variable[9];
13354 /* Register variable[9]: Local variable */
13355 /* Register variable[10]: Result */
13356 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13357 variable[9] = variable[10];
13358 /* Register variable[10]: Local variable */
13359 /* Register variable[11]: Result */
13360 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13361 variable[10] = variable[11];
13362 /* Register variable[11]: Local variable */
13363 variable[11] = variable[10] /*nodearraylist1*/;
13364 /* Register variable[12]: Result */
13365 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13366 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4990); nit_exit(1);}
13367 /* Register variable[12]: Local variable */
13368 variable[12] = variable[9] /*nodearraylist2*/;
13369 /* Register variable[13]: Result */
13370 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13371 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4992); nit_exit(1);}
13372 /* Register variable[13]: Local variable */
13373 variable[13] = variable[8] /*nodearraylist3*/;
13374 /* Register variable[14]: Result */
13375 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13376 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4994); nit_exit(1);}
13377 /* Register variable[14]: Local variable */
13378 variable[14] = variable[7] /*nodearraylist4*/;
13379 /* Register variable[15]: Result */
13380 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13381 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4996); nit_exit(1);}
13382 /* Register variable[15]: Local variable */
13383 variable[15] = variable[6] /*nodearraylist5*/;
13384 /* Register variable[16]: Result */
13385 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13386 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction94___action, LOCATE_parser, 4998); nit_exit(1);}
13387 /* Register variable[16]: Local variable */
13388 /* Register variable[17]: Result */
13389 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*/;
13390 variable[16] = variable[17];
13391 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
13392 /* Register variable[17]: Result */
13393 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13394 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
13395 return_label220: while(false);
13396 tracehead = trace.prev;
13397 return;
13398 }
13399 void parser___ReduceAction94___init(val_t self, int* init_table) {
13400 struct trace_t trace = {NULL, NULL, 5010, LOCATE_parser___ReduceAction94___init};
13401 val_t variable[2];
13402 struct WBT_ **closurevariable = NULL;
13403 trace.prev = tracehead; tracehead = &trace;
13404 trace.file = LOCATE_parser;
13405 /* Register variable[0]: Local variable */
13406 variable[0] = self;
13407 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction94].i]) return;
13408 /* Register variable[1]: Method return value and escape marker */
13409 return_label221: while(false);
13410 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction94].i] = 1;
13411 tracehead = trace.prev;
13412 return;
13413 }
13414 void parser___ReduceAction95___action(val_t self, val_t param0) {
13415 struct trace_t trace = {NULL, NULL, 5014, LOCATE_parser___ReduceAction95___action};
13416 val_t variable[20];
13417 struct WBT_ **closurevariable = NULL;
13418 trace.prev = tracehead; tracehead = &trace;
13419 trace.file = LOCATE_parser;
13420 /* Register variable[0]: Local variable */
13421 variable[0] = self;
13422 /* Register variable[1]: Local variable */
13423 variable[1] = param0;
13424 /* Register variable[2]: Method return value and escape marker */
13425 /* Register variable[3]: Local variable */
13426 variable[3] = NIT_NULL /*null*/;
13427 /* Register variable[4]: Local variable */
13428 /* Register variable[5]: Result */
13429 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13430 variable[4] = variable[5];
13431 /* Register variable[5]: Local variable */
13432 /* Register variable[6]: Result */
13433 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13434 variable[5] = variable[6];
13435 /* Register variable[6]: Local variable */
13436 /* Register variable[7]: Result */
13437 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13438 variable[6] = variable[7];
13439 /* Register variable[7]: Local variable */
13440 /* Register variable[8]: Result */
13441 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13442 variable[7] = variable[8];
13443 /* Register variable[8]: Local variable */
13444 /* Register variable[9]: Result */
13445 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13446 variable[8] = variable[9];
13447 /* Register variable[9]: Local variable */
13448 /* Register variable[10]: Result */
13449 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13450 variable[9] = variable[10];
13451 /* Register variable[10]: Local variable */
13452 /* Register variable[11]: Result */
13453 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13454 variable[10] = variable[11];
13455 /* Register variable[11]: Local variable */
13456 /* Register variable[12]: Result */
13457 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13458 variable[11] = variable[12];
13459 /* Register variable[12]: Local variable */
13460 variable[12] = variable[11] /*nodearraylist1*/;
13461 /* Register variable[13]: Result */
13462 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13463 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5026); nit_exit(1);}
13464 /* Register variable[13]: Local variable */
13465 variable[13] = variable[10] /*nodearraylist2*/;
13466 /* Register variable[14]: Result */
13467 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13468 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5028); nit_exit(1);}
13469 /* Register variable[14]: Local variable */
13470 variable[14] = variable[9] /*nodearraylist3*/;
13471 /* Register variable[15]: Result */
13472 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13473 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5030); nit_exit(1);}
13474 /* Register variable[15]: Local variable */
13475 variable[15] = variable[8] /*nodearraylist4*/;
13476 /* Register variable[16]: Result */
13477 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13478 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5032); nit_exit(1);}
13479 /* Register variable[16]: Local variable */
13480 variable[16] = variable[7] /*nodearraylist5*/;
13481 /* Register variable[17]: Result */
13482 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13483 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5034); nit_exit(1);}
13484 /* Register variable[17]: Local variable */
13485 variable[17] = variable[6] /*nodearraylist6*/;
13486 /* Register variable[18]: Result */
13487 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13488 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction95___action, LOCATE_parser, 5036); nit_exit(1);}
13489 /* Register variable[18]: Local variable */
13490 /* Register variable[19]: Result */
13491 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*/;
13492 variable[18] = variable[19];
13493 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13494 /* Register variable[19]: Result */
13495 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13496 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13497 return_label222: while(false);
13498 tracehead = trace.prev;
13499 return;
13500 }
13501 void parser___ReduceAction95___init(val_t self, int* init_table) {
13502 struct trace_t trace = {NULL, NULL, 5048, LOCATE_parser___ReduceAction95___init};
13503 val_t variable[2];
13504 struct WBT_ **closurevariable = NULL;
13505 trace.prev = tracehead; tracehead = &trace;
13506 trace.file = LOCATE_parser;
13507 /* Register variable[0]: Local variable */
13508 variable[0] = self;
13509 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction95].i]) return;
13510 /* Register variable[1]: Method return value and escape marker */
13511 return_label223: while(false);
13512 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction95].i] = 1;
13513 tracehead = trace.prev;
13514 return;
13515 }
13516 void parser___ReduceAction96___action(val_t self, val_t param0) {
13517 struct trace_t trace = {NULL, NULL, 5052, LOCATE_parser___ReduceAction96___action};
13518 val_t variable[18];
13519 struct WBT_ **closurevariable = NULL;
13520 trace.prev = tracehead; tracehead = &trace;
13521 trace.file = LOCATE_parser;
13522 /* Register variable[0]: Local variable */
13523 variable[0] = self;
13524 /* Register variable[1]: Local variable */
13525 variable[1] = param0;
13526 /* Register variable[2]: Method return value and escape marker */
13527 /* Register variable[3]: Local variable */
13528 variable[3] = NIT_NULL /*null*/;
13529 /* Register variable[4]: Local variable */
13530 /* Register variable[5]: Result */
13531 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13532 variable[4] = variable[5];
13533 /* Register variable[5]: Local variable */
13534 /* Register variable[6]: Result */
13535 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13536 variable[5] = variable[6];
13537 /* Register variable[6]: Local variable */
13538 /* Register variable[7]: Result */
13539 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13540 variable[6] = variable[7];
13541 /* Register variable[7]: Local variable */
13542 /* Register variable[8]: Result */
13543 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13544 variable[7] = variable[8];
13545 /* Register variable[8]: Local variable */
13546 /* Register variable[9]: Result */
13547 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13548 variable[8] = variable[9];
13549 /* Register variable[9]: Local variable */
13550 /* Register variable[10]: Result */
13551 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13552 variable[9] = variable[10];
13553 /* Register variable[10]: Local variable */
13554 /* Register variable[11]: Result */
13555 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13556 variable[10] = variable[11];
13557 /* Register variable[11]: Local variable */
13558 variable[11] = variable[10] /*nodearraylist1*/;
13559 /* Register variable[12]: Result */
13560 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13561 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5063); nit_exit(1);}
13562 /* Register variable[12]: Local variable */
13563 variable[12] = variable[9] /*nodearraylist2*/;
13564 /* Register variable[13]: Result */
13565 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13566 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5065); nit_exit(1);}
13567 /* Register variable[13]: Local variable */
13568 variable[13] = variable[8] /*nodearraylist3*/;
13569 /* Register variable[14]: Result */
13570 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13571 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5067); nit_exit(1);}
13572 /* Register variable[14]: Local variable */
13573 variable[14] = variable[7] /*nodearraylist4*/;
13574 /* Register variable[15]: Result */
13575 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13576 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5069); nit_exit(1);}
13577 /* Register variable[15]: Local variable */
13578 variable[15] = variable[6] /*nodearraylist5*/;
13579 /* Register variable[16]: Result */
13580 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13581 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction96___action, LOCATE_parser, 5071); nit_exit(1);}
13582 /* Register variable[16]: Local variable */
13583 /* Register variable[17]: Result */
13584 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*/;
13585 variable[16] = variable[17];
13586 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
13587 /* Register variable[17]: Result */
13588 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13589 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
13590 return_label224: while(false);
13591 tracehead = trace.prev;
13592 return;
13593 }
13594 void parser___ReduceAction96___init(val_t self, int* init_table) {
13595 struct trace_t trace = {NULL, NULL, 5083, LOCATE_parser___ReduceAction96___init};
13596 val_t variable[2];
13597 struct WBT_ **closurevariable = NULL;
13598 trace.prev = tracehead; tracehead = &trace;
13599 trace.file = LOCATE_parser;
13600 /* Register variable[0]: Local variable */
13601 variable[0] = self;
13602 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction96].i]) return;
13603 /* Register variable[1]: Method return value and escape marker */
13604 return_label225: while(false);
13605 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction96].i] = 1;
13606 tracehead = trace.prev;
13607 return;
13608 }
13609 void parser___ReduceAction97___action(val_t self, val_t param0) {
13610 struct trace_t trace = {NULL, NULL, 5087, LOCATE_parser___ReduceAction97___action};
13611 val_t variable[20];
13612 struct WBT_ **closurevariable = NULL;
13613 trace.prev = tracehead; tracehead = &trace;
13614 trace.file = LOCATE_parser;
13615 /* Register variable[0]: Local variable */
13616 variable[0] = self;
13617 /* Register variable[1]: Local variable */
13618 variable[1] = param0;
13619 /* Register variable[2]: Method return value and escape marker */
13620 /* Register variable[3]: Local variable */
13621 variable[3] = NIT_NULL /*null*/;
13622 /* Register variable[4]: Local variable */
13623 /* Register variable[5]: Result */
13624 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13625 variable[4] = variable[5];
13626 /* Register variable[5]: Local variable */
13627 /* Register variable[6]: Result */
13628 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13629 variable[5] = variable[6];
13630 /* Register variable[6]: Local variable */
13631 /* Register variable[7]: Result */
13632 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13633 variable[6] = variable[7];
13634 /* Register variable[7]: Local variable */
13635 /* Register variable[8]: Result */
13636 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13637 variable[7] = variable[8];
13638 /* Register variable[8]: Local variable */
13639 /* Register variable[9]: Result */
13640 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13641 variable[8] = variable[9];
13642 /* Register variable[9]: Local variable */
13643 /* Register variable[10]: Result */
13644 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13645 variable[9] = variable[10];
13646 /* Register variable[10]: Local variable */
13647 /* Register variable[11]: Result */
13648 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13649 variable[10] = variable[11];
13650 /* Register variable[11]: Local variable */
13651 /* Register variable[12]: Result */
13652 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13653 variable[11] = variable[12];
13654 /* Register variable[12]: Local variable */
13655 variable[12] = variable[11] /*nodearraylist1*/;
13656 /* Register variable[13]: Result */
13657 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13658 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5099); nit_exit(1);}
13659 /* Register variable[13]: Local variable */
13660 variable[13] = variable[10] /*nodearraylist2*/;
13661 /* Register variable[14]: Result */
13662 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13663 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5101); nit_exit(1);}
13664 /* Register variable[14]: Local variable */
13665 variable[14] = variable[9] /*nodearraylist3*/;
13666 /* Register variable[15]: Result */
13667 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13668 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5103); nit_exit(1);}
13669 /* Register variable[15]: Local variable */
13670 variable[15] = variable[8] /*nodearraylist4*/;
13671 /* Register variable[16]: Result */
13672 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13673 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5105); nit_exit(1);}
13674 /* Register variable[16]: Local variable */
13675 variable[16] = variable[7] /*nodearraylist5*/;
13676 /* Register variable[17]: Result */
13677 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13678 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5107); nit_exit(1);}
13679 /* Register variable[17]: Local variable */
13680 variable[17] = variable[6] /*nodearraylist6*/;
13681 /* Register variable[18]: Result */
13682 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13683 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction97___action, LOCATE_parser, 5109); nit_exit(1);}
13684 /* Register variable[18]: Local variable */
13685 /* Register variable[19]: Result */
13686 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*/;
13687 variable[18] = variable[19];
13688 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13689 /* Register variable[19]: Result */
13690 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13691 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13692 return_label226: while(false);
13693 tracehead = trace.prev;
13694 return;
13695 }
13696 void parser___ReduceAction97___init(val_t self, int* init_table) {
13697 struct trace_t trace = {NULL, NULL, 5121, LOCATE_parser___ReduceAction97___init};
13698 val_t variable[2];
13699 struct WBT_ **closurevariable = NULL;
13700 trace.prev = tracehead; tracehead = &trace;
13701 trace.file = LOCATE_parser;
13702 /* Register variable[0]: Local variable */
13703 variable[0] = self;
13704 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction97].i]) return;
13705 /* Register variable[1]: Method return value and escape marker */
13706 return_label227: while(false);
13707 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction97].i] = 1;
13708 tracehead = trace.prev;
13709 return;
13710 }
13711 void parser___ReduceAction98___action(val_t self, val_t param0) {
13712 struct trace_t trace = {NULL, NULL, 5125, LOCATE_parser___ReduceAction98___action};
13713 val_t variable[18];
13714 struct WBT_ **closurevariable = NULL;
13715 trace.prev = tracehead; tracehead = &trace;
13716 trace.file = LOCATE_parser;
13717 /* Register variable[0]: Local variable */
13718 variable[0] = self;
13719 /* Register variable[1]: Local variable */
13720 variable[1] = param0;
13721 /* Register variable[2]: Method return value and escape marker */
13722 /* Register variable[3]: Local variable */
13723 variable[3] = NIT_NULL /*null*/;
13724 /* Register variable[4]: Local variable */
13725 /* Register variable[5]: Result */
13726 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13727 variable[4] = variable[5];
13728 /* Register variable[5]: Local variable */
13729 /* Register variable[6]: Result */
13730 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13731 variable[5] = variable[6];
13732 /* Register variable[6]: Local variable */
13733 /* Register variable[7]: Result */
13734 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13735 variable[6] = variable[7];
13736 /* Register variable[7]: Local variable */
13737 /* Register variable[8]: Result */
13738 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13739 variable[7] = variable[8];
13740 /* Register variable[8]: Local variable */
13741 /* Register variable[9]: Result */
13742 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13743 variable[8] = variable[9];
13744 /* Register variable[9]: Local variable */
13745 /* Register variable[10]: Result */
13746 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13747 variable[9] = variable[10];
13748 /* Register variable[10]: Local variable */
13749 /* Register variable[11]: Result */
13750 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13751 variable[10] = variable[11];
13752 /* Register variable[11]: Local variable */
13753 variable[11] = variable[10] /*nodearraylist1*/;
13754 /* Register variable[12]: Result */
13755 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13756 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5136); nit_exit(1);}
13757 /* Register variable[12]: Local variable */
13758 variable[12] = variable[9] /*nodearraylist2*/;
13759 /* Register variable[13]: Result */
13760 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13761 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5138); nit_exit(1);}
13762 /* Register variable[13]: Local variable */
13763 variable[13] = variable[8] /*nodearraylist3*/;
13764 /* Register variable[14]: Result */
13765 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13766 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5140); nit_exit(1);}
13767 /* Register variable[14]: Local variable */
13768 variable[14] = variable[7] /*nodearraylist4*/;
13769 /* Register variable[15]: Result */
13770 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13771 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5142); nit_exit(1);}
13772 /* Register variable[15]: Local variable */
13773 variable[15] = variable[6] /*nodearraylist5*/;
13774 /* Register variable[16]: Result */
13775 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13776 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction98___action, LOCATE_parser, 5144); nit_exit(1);}
13777 /* Register variable[16]: Local variable */
13778 /* Register variable[17]: Result */
13779 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*/;
13780 variable[16] = variable[17];
13781 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
13782 /* Register variable[17]: Result */
13783 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13784 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
13785 return_label228: while(false);
13786 tracehead = trace.prev;
13787 return;
13788 }
13789 void parser___ReduceAction98___init(val_t self, int* init_table) {
13790 struct trace_t trace = {NULL, NULL, 5157, LOCATE_parser___ReduceAction98___init};
13791 val_t variable[2];
13792 struct WBT_ **closurevariable = NULL;
13793 trace.prev = tracehead; tracehead = &trace;
13794 trace.file = LOCATE_parser;
13795 /* Register variable[0]: Local variable */
13796 variable[0] = self;
13797 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction98].i]) return;
13798 /* Register variable[1]: Method return value and escape marker */
13799 return_label229: while(false);
13800 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction98].i] = 1;
13801 tracehead = trace.prev;
13802 return;
13803 }
13804 void parser___ReduceAction99___action(val_t self, val_t param0) {
13805 struct trace_t trace = {NULL, NULL, 5161, LOCATE_parser___ReduceAction99___action};
13806 val_t variable[20];
13807 struct WBT_ **closurevariable = NULL;
13808 trace.prev = tracehead; tracehead = &trace;
13809 trace.file = LOCATE_parser;
13810 /* Register variable[0]: Local variable */
13811 variable[0] = self;
13812 /* Register variable[1]: Local variable */
13813 variable[1] = param0;
13814 /* Register variable[2]: Method return value and escape marker */
13815 /* Register variable[3]: Local variable */
13816 variable[3] = NIT_NULL /*null*/;
13817 /* Register variable[4]: Local variable */
13818 /* Register variable[5]: Result */
13819 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13820 variable[4] = variable[5];
13821 /* Register variable[5]: Local variable */
13822 /* Register variable[6]: Result */
13823 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13824 variable[5] = variable[6];
13825 /* Register variable[6]: Local variable */
13826 /* Register variable[7]: Result */
13827 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13828 variable[6] = variable[7];
13829 /* Register variable[7]: Local variable */
13830 /* Register variable[8]: Result */
13831 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13832 variable[7] = variable[8];
13833 /* Register variable[8]: Local variable */
13834 /* Register variable[9]: Result */
13835 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13836 variable[8] = variable[9];
13837 /* Register variable[9]: Local variable */
13838 /* Register variable[10]: Result */
13839 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13840 variable[9] = variable[10];
13841 /* Register variable[10]: Local variable */
13842 /* Register variable[11]: Result */
13843 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13844 variable[10] = variable[11];
13845 /* Register variable[11]: Local variable */
13846 /* Register variable[12]: Result */
13847 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13848 variable[11] = variable[12];
13849 /* Register variable[12]: Local variable */
13850 variable[12] = variable[11] /*nodearraylist1*/;
13851 /* Register variable[13]: Result */
13852 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13853 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5173); nit_exit(1);}
13854 /* Register variable[13]: Local variable */
13855 variable[13] = variable[10] /*nodearraylist2*/;
13856 /* Register variable[14]: Result */
13857 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13858 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5175); nit_exit(1);}
13859 /* Register variable[14]: Local variable */
13860 variable[14] = variable[9] /*nodearraylist3*/;
13861 /* Register variable[15]: Result */
13862 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13863 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5177); nit_exit(1);}
13864 /* Register variable[15]: Local variable */
13865 variable[15] = variable[8] /*nodearraylist4*/;
13866 /* Register variable[16]: Result */
13867 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13868 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5179); nit_exit(1);}
13869 /* Register variable[16]: Local variable */
13870 variable[16] = variable[7] /*nodearraylist5*/;
13871 /* Register variable[17]: Result */
13872 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13873 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5181); nit_exit(1);}
13874 /* Register variable[17]: Local variable */
13875 variable[17] = variable[6] /*nodearraylist6*/;
13876 /* Register variable[18]: Result */
13877 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13878 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction99___action, LOCATE_parser, 5183); nit_exit(1);}
13879 /* Register variable[18]: Local variable */
13880 /* Register variable[19]: Result */
13881 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*/;
13882 variable[18] = variable[19];
13883 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13884 /* Register variable[19]: Result */
13885 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13886 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13887 return_label230: while(false);
13888 tracehead = trace.prev;
13889 return;
13890 }
13891 void parser___ReduceAction99___init(val_t self, int* init_table) {
13892 struct trace_t trace = {NULL, NULL, 5196, LOCATE_parser___ReduceAction99___init};
13893 val_t variable[2];
13894 struct WBT_ **closurevariable = NULL;
13895 trace.prev = tracehead; tracehead = &trace;
13896 trace.file = LOCATE_parser;
13897 /* Register variable[0]: Local variable */
13898 variable[0] = self;
13899 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction99].i]) return;
13900 /* Register variable[1]: Method return value and escape marker */
13901 return_label231: while(false);
13902 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction99].i] = 1;
13903 tracehead = trace.prev;
13904 return;
13905 }
13906 void parser___ReduceAction100___action(val_t self, val_t param0) {
13907 struct trace_t trace = {NULL, NULL, 5200, LOCATE_parser___ReduceAction100___action};
13908 val_t variable[20];
13909 struct WBT_ **closurevariable = NULL;
13910 trace.prev = tracehead; tracehead = &trace;
13911 trace.file = LOCATE_parser;
13912 /* Register variable[0]: Local variable */
13913 variable[0] = self;
13914 /* Register variable[1]: Local variable */
13915 variable[1] = param0;
13916 /* Register variable[2]: Method return value and escape marker */
13917 /* Register variable[3]: Local variable */
13918 variable[3] = NIT_NULL /*null*/;
13919 /* Register variable[4]: Local variable */
13920 /* Register variable[5]: Result */
13921 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13922 variable[4] = variable[5];
13923 /* Register variable[5]: Local variable */
13924 /* Register variable[6]: Result */
13925 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13926 variable[5] = variable[6];
13927 /* Register variable[6]: Local variable */
13928 /* Register variable[7]: Result */
13929 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13930 variable[6] = variable[7];
13931 /* Register variable[7]: Local variable */
13932 /* Register variable[8]: Result */
13933 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13934 variable[7] = variable[8];
13935 /* Register variable[8]: Local variable */
13936 /* Register variable[9]: Result */
13937 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13938 variable[8] = variable[9];
13939 /* Register variable[9]: Local variable */
13940 /* Register variable[10]: Result */
13941 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13942 variable[9] = variable[10];
13943 /* Register variable[10]: Local variable */
13944 /* Register variable[11]: Result */
13945 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13946 variable[10] = variable[11];
13947 /* Register variable[11]: Local variable */
13948 /* Register variable[12]: Result */
13949 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
13950 variable[11] = variable[12];
13951 /* Register variable[12]: Local variable */
13952 variable[12] = variable[11] /*nodearraylist1*/;
13953 /* Register variable[13]: Result */
13954 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
13955 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5212); nit_exit(1);}
13956 /* Register variable[13]: Local variable */
13957 variable[13] = variable[10] /*nodearraylist2*/;
13958 /* Register variable[14]: Result */
13959 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
13960 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5214); nit_exit(1);}
13961 /* Register variable[14]: Local variable */
13962 variable[14] = variable[9] /*nodearraylist3*/;
13963 /* Register variable[15]: Result */
13964 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
13965 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5216); nit_exit(1);}
13966 /* Register variable[15]: Local variable */
13967 variable[15] = variable[8] /*nodearraylist4*/;
13968 /* Register variable[16]: Result */
13969 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
13970 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5218); nit_exit(1);}
13971 /* Register variable[16]: Local variable */
13972 variable[16] = variable[7] /*nodearraylist5*/;
13973 /* Register variable[17]: Result */
13974 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
13975 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5220); nit_exit(1);}
13976 /* Register variable[17]: Local variable */
13977 variable[17] = variable[4] /*nodearraylist8*/;
13978 /* Register variable[18]: Result */
13979 variable[18] = TAG_Bool(( variable[17] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
13980 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction100___action, LOCATE_parser, 5222); nit_exit(1);}
13981 /* Register variable[18]: Local variable */
13982 /* Register variable[19]: Result */
13983 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*/;
13984 variable[18] = variable[19];
13985 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
13986 /* Register variable[19]: Result */
13987 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
13988 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
13989 return_label232: while(false);
13990 tracehead = trace.prev;
13991 return;
13992 }
13993 void parser___ReduceAction100___init(val_t self, int* init_table) {
13994 struct trace_t trace = {NULL, NULL, 5235, LOCATE_parser___ReduceAction100___init};
13995 val_t variable[2];
13996 struct WBT_ **closurevariable = NULL;
13997 trace.prev = tracehead; tracehead = &trace;
13998 trace.file = LOCATE_parser;
13999 /* Register variable[0]: Local variable */
14000 variable[0] = self;
14001 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction100].i]) return;
14002 /* Register variable[1]: Method return value and escape marker */
14003 return_label233: while(false);
14004 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction100].i] = 1;
14005 tracehead = trace.prev;
14006 return;
14007 }
14008 void parser___ReduceAction101___action(val_t self, val_t param0) {
14009 struct trace_t trace = {NULL, NULL, 5239, LOCATE_parser___ReduceAction101___action};
14010 val_t variable[22];
14011 struct WBT_ **closurevariable = NULL;
14012 trace.prev = tracehead; tracehead = &trace;
14013 trace.file = LOCATE_parser;
14014 /* Register variable[0]: Local variable */
14015 variable[0] = self;
14016 /* Register variable[1]: Local variable */
14017 variable[1] = param0;
14018 /* Register variable[2]: Method return value and escape marker */
14019 /* Register variable[3]: Local variable */
14020 variable[3] = NIT_NULL /*null*/;
14021 /* Register variable[4]: Local variable */
14022 /* Register variable[5]: Result */
14023 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14024 variable[4] = variable[5];
14025 /* Register variable[5]: Local variable */
14026 /* Register variable[6]: Result */
14027 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14028 variable[5] = variable[6];
14029 /* Register variable[6]: Local variable */
14030 /* Register variable[7]: Result */
14031 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14032 variable[6] = variable[7];
14033 /* Register variable[7]: Local variable */
14034 /* Register variable[8]: Result */
14035 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14036 variable[7] = variable[8];
14037 /* Register variable[8]: Local variable */
14038 /* Register variable[9]: Result */
14039 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14040 variable[8] = variable[9];
14041 /* Register variable[9]: Local variable */
14042 /* Register variable[10]: Result */
14043 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14044 variable[9] = variable[10];
14045 /* Register variable[10]: Local variable */
14046 /* Register variable[11]: Result */
14047 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14048 variable[10] = variable[11];
14049 /* Register variable[11]: Local variable */
14050 /* Register variable[12]: Result */
14051 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14052 variable[11] = variable[12];
14053 /* Register variable[12]: Local variable */
14054 /* Register variable[13]: Result */
14055 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14056 variable[12] = variable[13];
14057 /* Register variable[13]: Local variable */
14058 variable[13] = variable[12] /*nodearraylist1*/;
14059 /* Register variable[14]: Result */
14060 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14061 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5252); nit_exit(1);}
14062 /* Register variable[14]: Local variable */
14063 variable[14] = variable[11] /*nodearraylist2*/;
14064 /* Register variable[15]: Result */
14065 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14066 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5254); nit_exit(1);}
14067 /* Register variable[15]: Local variable */
14068 variable[15] = variable[10] /*nodearraylist3*/;
14069 /* Register variable[16]: Result */
14070 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14071 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5256); nit_exit(1);}
14072 /* Register variable[16]: Local variable */
14073 variable[16] = variable[9] /*nodearraylist4*/;
14074 /* Register variable[17]: Result */
14075 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
14076 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5258); nit_exit(1);}
14077 /* Register variable[17]: Local variable */
14078 variable[17] = variable[8] /*nodearraylist5*/;
14079 /* Register variable[18]: Result */
14080 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
14081 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5260); nit_exit(1);}
14082 /* Register variable[18]: Local variable */
14083 variable[18] = variable[7] /*nodearraylist6*/;
14084 /* Register variable[19]: Result */
14085 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
14086 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5262); nit_exit(1);}
14087 /* Register variable[19]: Local variable */
14088 variable[19] = variable[4] /*nodearraylist9*/;
14089 /* Register variable[20]: Result */
14090 variable[20] = TAG_Bool(( variable[19] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
14091 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction101___action, LOCATE_parser, 5264); nit_exit(1);}
14092 /* Register variable[20]: Local variable */
14093 /* Register variable[21]: Result */
14094 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*/;
14095 variable[20] = variable[21];
14096 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14097 /* Register variable[21]: Result */
14098 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14099 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14100 return_label234: while(false);
14101 tracehead = trace.prev;
14102 return;
14103 }
14104 void parser___ReduceAction101___init(val_t self, int* init_table) {
14105 struct trace_t trace = {NULL, NULL, 5277, LOCATE_parser___ReduceAction101___init};
14106 val_t variable[2];
14107 struct WBT_ **closurevariable = NULL;
14108 trace.prev = tracehead; tracehead = &trace;
14109 trace.file = LOCATE_parser;
14110 /* Register variable[0]: Local variable */
14111 variable[0] = self;
14112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction101].i]) return;
14113 /* Register variable[1]: Method return value and escape marker */
14114 return_label235: while(false);
14115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction101].i] = 1;
14116 tracehead = trace.prev;
14117 return;
14118 }
14119 void parser___ReduceAction102___action(val_t self, val_t param0) {
14120 struct trace_t trace = {NULL, NULL, 5281, LOCATE_parser___ReduceAction102___action};
14121 val_t variable[20];
14122 struct WBT_ **closurevariable = NULL;
14123 trace.prev = tracehead; tracehead = &trace;
14124 trace.file = LOCATE_parser;
14125 /* Register variable[0]: Local variable */
14126 variable[0] = self;
14127 /* Register variable[1]: Local variable */
14128 variable[1] = param0;
14129 /* Register variable[2]: Method return value and escape marker */
14130 /* Register variable[3]: Local variable */
14131 variable[3] = NIT_NULL /*null*/;
14132 /* Register variable[4]: Local variable */
14133 /* Register variable[5]: Result */
14134 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14135 variable[4] = variable[5];
14136 /* Register variable[5]: Local variable */
14137 /* Register variable[6]: Result */
14138 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14139 variable[5] = variable[6];
14140 /* Register variable[6]: Local variable */
14141 /* Register variable[7]: Result */
14142 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14143 variable[6] = variable[7];
14144 /* Register variable[7]: Local variable */
14145 /* Register variable[8]: Result */
14146 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14147 variable[7] = variable[8];
14148 /* Register variable[8]: Local variable */
14149 /* Register variable[9]: Result */
14150 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14151 variable[8] = variable[9];
14152 /* Register variable[9]: Local variable */
14153 /* Register variable[10]: Result */
14154 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14155 variable[9] = variable[10];
14156 /* Register variable[10]: Local variable */
14157 variable[10] = variable[9] /*nodearraylist1*/;
14158 /* Register variable[11]: Result */
14159 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14160 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5291); nit_exit(1);}
14161 /* Register variable[11]: Local variable */
14162 variable[11] = variable[8] /*nodearraylist2*/;
14163 /* Register variable[12]: Result */
14164 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14165 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5293); nit_exit(1);}
14166 /* Register variable[12]: Local variable */
14167 /* Register variable[13]: Result */
14168 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
14169 variable[12] = variable[13];
14170 /* Register variable[13]: Local variable */
14171 variable[13] = variable[7] /*nodearraylist3*/;
14172 /* Register variable[14]: Result */
14173 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14174 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5299); nit_exit(1);}
14175 /* Register variable[14]: Local variable */
14176 /* Register variable[15]: Result */
14177 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode8*/) /*new AWriteAble*/;
14178 variable[14] = variable[15];
14179 /* Register variable[15]: Local variable */
14180 variable[15] = variable[6] /*nodearraylist4*/;
14181 /* Register variable[16]: Result */
14182 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14183 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5305); nit_exit(1);}
14184 /* Register variable[16]: Local variable */
14185 variable[16] = variable[5] /*nodearraylist5*/;
14186 /* Register variable[17]: Result */
14187 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14188 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5307); nit_exit(1);}
14189 /* Register variable[17]: Local variable */
14190 variable[17] = variable[4] /*nodearraylist6*/;
14191 /* Register variable[18]: Result */
14192 variable[18] = TAG_Bool(( variable[17] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14193 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction102___action, LOCATE_parser, 5309); nit_exit(1);}
14194 /* Register variable[18]: Local variable */
14195 /* Register variable[19]: Result */
14196 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14197 variable[18] = variable[19];
14198 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
14199 /* Register variable[19]: Result */
14200 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14201 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
14202 return_label236: while(false);
14203 tracehead = trace.prev;
14204 return;
14205 }
14206 void parser___ReduceAction102___init(val_t self, int* init_table) {
14207 struct trace_t trace = {NULL, NULL, 5325, LOCATE_parser___ReduceAction102___init};
14208 val_t variable[2];
14209 struct WBT_ **closurevariable = NULL;
14210 trace.prev = tracehead; tracehead = &trace;
14211 trace.file = LOCATE_parser;
14212 /* Register variable[0]: Local variable */
14213 variable[0] = self;
14214 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction102].i]) return;
14215 /* Register variable[1]: Method return value and escape marker */
14216 return_label237: while(false);
14217 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction102].i] = 1;
14218 tracehead = trace.prev;
14219 return;
14220 }
14221 void parser___ReduceAction103___action(val_t self, val_t param0) {
14222 struct trace_t trace = {NULL, NULL, 5329, LOCATE_parser___ReduceAction103___action};
14223 val_t variable[22];
14224 struct WBT_ **closurevariable = NULL;
14225 trace.prev = tracehead; tracehead = &trace;
14226 trace.file = LOCATE_parser;
14227 /* Register variable[0]: Local variable */
14228 variable[0] = self;
14229 /* Register variable[1]: Local variable */
14230 variable[1] = param0;
14231 /* Register variable[2]: Method return value and escape marker */
14232 /* Register variable[3]: Local variable */
14233 variable[3] = NIT_NULL /*null*/;
14234 /* Register variable[4]: Local variable */
14235 /* Register variable[5]: Result */
14236 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14237 variable[4] = variable[5];
14238 /* Register variable[5]: Local variable */
14239 /* Register variable[6]: Result */
14240 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14241 variable[5] = variable[6];
14242 /* Register variable[6]: Local variable */
14243 /* Register variable[7]: Result */
14244 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14245 variable[6] = variable[7];
14246 /* Register variable[7]: Local variable */
14247 /* Register variable[8]: Result */
14248 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14249 variable[7] = variable[8];
14250 /* Register variable[8]: Local variable */
14251 /* Register variable[9]: Result */
14252 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14253 variable[8] = variable[9];
14254 /* Register variable[9]: Local variable */
14255 /* Register variable[10]: Result */
14256 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14257 variable[9] = variable[10];
14258 /* Register variable[10]: Local variable */
14259 /* Register variable[11]: Result */
14260 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14261 variable[10] = variable[11];
14262 /* Register variable[11]: Local variable */
14263 variable[11] = variable[10] /*nodearraylist1*/;
14264 /* Register variable[12]: Result */
14265 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14266 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5340); nit_exit(1);}
14267 /* Register variable[12]: Local variable */
14268 variable[12] = variable[9] /*nodearraylist2*/;
14269 /* Register variable[13]: Result */
14270 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14271 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5342); nit_exit(1);}
14272 /* Register variable[13]: Local variable */
14273 /* Register variable[14]: Result */
14274 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
14275 variable[13] = variable[14];
14276 /* Register variable[14]: Local variable */
14277 variable[14] = variable[8] /*nodearraylist3*/;
14278 /* Register variable[15]: Result */
14279 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14280 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);}
14281 /* Register variable[15]: Local variable */
14282 variable[15] = variable[7] /*nodearraylist4*/;
14283 /* Register variable[16]: Result */
14284 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14285 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);}
14286 /* Register variable[16]: Local variable */
14287 /* Register variable[17]: Result */
14288 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode7*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
14289 variable[16] = variable[17];
14290 /* Register variable[17]: Local variable */
14291 variable[17] = variable[6] /*nodearraylist5*/;
14292 /* Register variable[18]: Result */
14293 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14294 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);}
14295 /* Register variable[18]: Local variable */
14296 variable[18] = variable[5] /*nodearraylist6*/;
14297 /* Register variable[19]: Result */
14298 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14299 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);}
14300 /* Register variable[19]: Local variable */
14301 variable[19] = variable[4] /*nodearraylist7*/;
14302 /* Register variable[20]: Result */
14303 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14304 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction103___action, LOCATE_parser, 5360); nit_exit(1);}
14305 /* Register variable[20]: Local variable */
14306 /* Register variable[21]: Result */
14307 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14308 variable[20] = variable[21];
14309 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14310 /* Register variable[21]: Result */
14311 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14312 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14313 return_label238: while(false);
14314 tracehead = trace.prev;
14315 return;
14316 }
14317 void parser___ReduceAction103___init(val_t self, int* init_table) {
14318 struct trace_t trace = {NULL, NULL, 5376, LOCATE_parser___ReduceAction103___init};
14319 val_t variable[2];
14320 struct WBT_ **closurevariable = NULL;
14321 trace.prev = tracehead; tracehead = &trace;
14322 trace.file = LOCATE_parser;
14323 /* Register variable[0]: Local variable */
14324 variable[0] = self;
14325 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction103].i]) return;
14326 /* Register variable[1]: Method return value and escape marker */
14327 return_label239: while(false);
14328 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction103].i] = 1;
14329 tracehead = trace.prev;
14330 return;
14331 }
14332 void parser___ReduceAction104___action(val_t self, val_t param0) {
14333 struct trace_t trace = {NULL, NULL, 5380, LOCATE_parser___ReduceAction104___action};
14334 val_t variable[17];
14335 struct WBT_ **closurevariable = NULL;
14336 trace.prev = tracehead; tracehead = &trace;
14337 trace.file = LOCATE_parser;
14338 /* Register variable[0]: Local variable */
14339 variable[0] = self;
14340 /* Register variable[1]: Local variable */
14341 variable[1] = param0;
14342 /* Register variable[2]: Method return value and escape marker */
14343 /* Register variable[3]: Local variable */
14344 variable[3] = NIT_NULL /*null*/;
14345 /* Register variable[4]: Local variable */
14346 /* Register variable[5]: Result */
14347 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14348 variable[4] = variable[5];
14349 /* Register variable[5]: Local variable */
14350 /* Register variable[6]: Result */
14351 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14352 variable[5] = variable[6];
14353 /* Register variable[6]: Local variable */
14354 /* Register variable[7]: Result */
14355 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14356 variable[6] = variable[7];
14357 /* Register variable[7]: Local variable */
14358 /* Register variable[8]: Result */
14359 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14360 variable[7] = variable[8];
14361 /* Register variable[8]: Local variable */
14362 /* Register variable[9]: Result */
14363 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14364 variable[8] = variable[9];
14365 /* Register variable[9]: Local variable */
14366 variable[9] = variable[8] /*nodearraylist1*/;
14367 /* Register variable[10]: Result */
14368 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14369 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5389); nit_exit(1);}
14370 /* Register variable[10]: Local variable */
14371 variable[10] = variable[7] /*nodearraylist2*/;
14372 /* Register variable[11]: Result */
14373 variable[11] = TAG_Bool(( variable[10] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14374 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5391); nit_exit(1);}
14375 /* Register variable[11]: Local variable */
14376 /* Register variable[12]: Result */
14377 variable[12] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[10] /*tkwreadablenode5*/) /*new AReadAble*/;
14378 variable[11] = variable[12];
14379 /* Register variable[12]: Local variable */
14380 variable[12] = variable[6] /*nodearraylist3*/;
14381 /* Register variable[13]: Result */
14382 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14383 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5397); nit_exit(1);}
14384 /* Register variable[13]: Local variable */
14385 variable[13] = variable[5] /*nodearraylist4*/;
14386 /* Register variable[14]: Result */
14387 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14388 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5399); nit_exit(1);}
14389 /* Register variable[14]: Local variable */
14390 variable[14] = variable[4] /*nodearraylist5*/;
14391 /* Register variable[15]: Result */
14392 variable[15] = TAG_Bool(( variable[14] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14393 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction104___action, LOCATE_parser, 5401); nit_exit(1);}
14394 /* Register variable[15]: Local variable */
14395 /* Register variable[16]: Result */
14396 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*/, NIT_NULL /*null*/, variable[14] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14397 variable[15] = variable[16];
14398 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
14399 /* Register variable[16]: Result */
14400 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14401 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
14402 return_label240: while(false);
14403 tracehead = trace.prev;
14404 return;
14405 }
14406 void parser___ReduceAction104___init(val_t self, int* init_table) {
14407 struct trace_t trace = {NULL, NULL, 5417, LOCATE_parser___ReduceAction104___init};
14408 val_t variable[2];
14409 struct WBT_ **closurevariable = NULL;
14410 trace.prev = tracehead; tracehead = &trace;
14411 trace.file = LOCATE_parser;
14412 /* Register variable[0]: Local variable */
14413 variable[0] = self;
14414 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction104].i]) return;
14415 /* Register variable[1]: Method return value and escape marker */
14416 return_label241: while(false);
14417 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction104].i] = 1;
14418 tracehead = trace.prev;
14419 return;
14420 }
14421 void parser___ReduceAction105___action(val_t self, val_t param0) {
14422 struct trace_t trace = {NULL, NULL, 5421, LOCATE_parser___ReduceAction105___action};
14423 val_t variable[22];
14424 struct WBT_ **closurevariable = NULL;
14425 trace.prev = tracehead; tracehead = &trace;
14426 trace.file = LOCATE_parser;
14427 /* Register variable[0]: Local variable */
14428 variable[0] = self;
14429 /* Register variable[1]: Local variable */
14430 variable[1] = param0;
14431 /* Register variable[2]: Method return value and escape marker */
14432 /* Register variable[3]: Local variable */
14433 variable[3] = NIT_NULL /*null*/;
14434 /* Register variable[4]: Local variable */
14435 /* Register variable[5]: Result */
14436 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14437 variable[4] = variable[5];
14438 /* Register variable[5]: Local variable */
14439 /* Register variable[6]: Result */
14440 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14441 variable[5] = variable[6];
14442 /* Register variable[6]: Local variable */
14443 /* Register variable[7]: Result */
14444 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14445 variable[6] = variable[7];
14446 /* Register variable[7]: Local variable */
14447 /* Register variable[8]: Result */
14448 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14449 variable[7] = variable[8];
14450 /* Register variable[8]: Local variable */
14451 /* Register variable[9]: Result */
14452 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14453 variable[8] = variable[9];
14454 /* Register variable[9]: Local variable */
14455 /* Register variable[10]: Result */
14456 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14457 variable[9] = variable[10];
14458 /* Register variable[10]: Local variable */
14459 /* Register variable[11]: Result */
14460 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14461 variable[10] = variable[11];
14462 /* Register variable[11]: Local variable */
14463 variable[11] = variable[10] /*nodearraylist1*/;
14464 /* Register variable[12]: Result */
14465 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14466 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5432); nit_exit(1);}
14467 /* Register variable[12]: Local variable */
14468 variable[12] = variable[9] /*nodearraylist2*/;
14469 /* Register variable[13]: Result */
14470 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14471 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5434); nit_exit(1);}
14472 /* Register variable[13]: Local variable */
14473 variable[13] = variable[8] /*nodearraylist3*/;
14474 /* Register variable[14]: Result */
14475 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14476 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5436); nit_exit(1);}
14477 /* Register variable[14]: Local variable */
14478 /* Register variable[15]: Result */
14479 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
14480 variable[14] = variable[15];
14481 /* Register variable[15]: Local variable */
14482 variable[15] = variable[7] /*nodearraylist4*/;
14483 /* Register variable[16]: Result */
14484 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14485 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5442); nit_exit(1);}
14486 /* Register variable[16]: Local variable */
14487 /* Register variable[17]: Result */
14488 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
14489 variable[16] = variable[17];
14490 /* Register variable[17]: Local variable */
14491 variable[17] = variable[6] /*nodearraylist5*/;
14492 /* Register variable[18]: Result */
14493 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14494 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5448); nit_exit(1);}
14495 /* Register variable[18]: Local variable */
14496 variable[18] = variable[5] /*nodearraylist6*/;
14497 /* Register variable[19]: Result */
14498 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14499 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5450); nit_exit(1);}
14500 /* Register variable[19]: Local variable */
14501 variable[19] = variable[4] /*nodearraylist7*/;
14502 /* Register variable[20]: Result */
14503 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14504 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction105___action, LOCATE_parser, 5452); nit_exit(1);}
14505 /* Register variable[20]: Local variable */
14506 /* Register variable[21]: Result */
14507 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14508 variable[20] = variable[21];
14509 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
14510 /* Register variable[21]: Result */
14511 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14512 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
14513 return_label242: while(false);
14514 tracehead = trace.prev;
14515 return;
14516 }
14517 void parser___ReduceAction105___init(val_t self, int* init_table) {
14518 struct trace_t trace = {NULL, NULL, 5468, LOCATE_parser___ReduceAction105___init};
14519 val_t variable[2];
14520 struct WBT_ **closurevariable = NULL;
14521 trace.prev = tracehead; tracehead = &trace;
14522 trace.file = LOCATE_parser;
14523 /* Register variable[0]: Local variable */
14524 variable[0] = self;
14525 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction105].i]) return;
14526 /* Register variable[1]: Method return value and escape marker */
14527 return_label243: while(false);
14528 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction105].i] = 1;
14529 tracehead = trace.prev;
14530 return;
14531 }
14532 void parser___ReduceAction106___action(val_t self, val_t param0) {
14533 struct trace_t trace = {NULL, NULL, 5472, LOCATE_parser___ReduceAction106___action};
14534 val_t variable[24];
14535 struct WBT_ **closurevariable = NULL;
14536 trace.prev = tracehead; tracehead = &trace;
14537 trace.file = LOCATE_parser;
14538 /* Register variable[0]: Local variable */
14539 variable[0] = self;
14540 /* Register variable[1]: Local variable */
14541 variable[1] = param0;
14542 /* Register variable[2]: Method return value and escape marker */
14543 /* Register variable[3]: Local variable */
14544 variable[3] = NIT_NULL /*null*/;
14545 /* Register variable[4]: Local variable */
14546 /* Register variable[5]: Result */
14547 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14548 variable[4] = variable[5];
14549 /* Register variable[5]: Local variable */
14550 /* Register variable[6]: Result */
14551 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14552 variable[5] = variable[6];
14553 /* Register variable[6]: Local variable */
14554 /* Register variable[7]: Result */
14555 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14556 variable[6] = variable[7];
14557 /* Register variable[7]: Local variable */
14558 /* Register variable[8]: Result */
14559 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14560 variable[7] = variable[8];
14561 /* Register variable[8]: Local variable */
14562 /* Register variable[9]: Result */
14563 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14564 variable[8] = variable[9];
14565 /* Register variable[9]: Local variable */
14566 /* Register variable[10]: Result */
14567 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14568 variable[9] = variable[10];
14569 /* Register variable[10]: Local variable */
14570 /* Register variable[11]: Result */
14571 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14572 variable[10] = variable[11];
14573 /* Register variable[11]: Local variable */
14574 /* Register variable[12]: Result */
14575 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14576 variable[11] = variable[12];
14577 /* Register variable[12]: Local variable */
14578 variable[12] = variable[11] /*nodearraylist1*/;
14579 /* Register variable[13]: Result */
14580 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14581 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5484); nit_exit(1);}
14582 /* Register variable[13]: Local variable */
14583 variable[13] = variable[10] /*nodearraylist2*/;
14584 /* Register variable[14]: Result */
14585 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14586 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5486); nit_exit(1);}
14587 /* Register variable[14]: Local variable */
14588 variable[14] = variable[9] /*nodearraylist3*/;
14589 /* Register variable[15]: Result */
14590 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14591 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5488); nit_exit(1);}
14592 /* Register variable[15]: Local variable */
14593 /* Register variable[16]: Result */
14594 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
14595 variable[15] = variable[16];
14596 /* Register variable[16]: Local variable */
14597 variable[16] = variable[8] /*nodearraylist4*/;
14598 /* Register variable[17]: Result */
14599 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14600 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5494); nit_exit(1);}
14601 /* Register variable[17]: Local variable */
14602 variable[17] = variable[7] /*nodearraylist5*/;
14603 /* Register variable[18]: Result */
14604 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14605 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5496); nit_exit(1);}
14606 /* Register variable[18]: Local variable */
14607 /* Register variable[19]: Result */
14608 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
14609 variable[18] = variable[19];
14610 /* Register variable[19]: Local variable */
14611 variable[19] = variable[6] /*nodearraylist6*/;
14612 /* Register variable[20]: Result */
14613 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14614 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5502); nit_exit(1);}
14615 /* Register variable[20]: Local variable */
14616 variable[20] = variable[5] /*nodearraylist7*/;
14617 /* Register variable[21]: Result */
14618 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14619 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5504); nit_exit(1);}
14620 /* Register variable[21]: Local variable */
14621 variable[21] = variable[4] /*nodearraylist8*/;
14622 /* Register variable[22]: Result */
14623 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14624 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction106___action, LOCATE_parser, 5506); nit_exit(1);}
14625 /* Register variable[22]: Local variable */
14626 /* Register variable[23]: Result */
14627 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14628 variable[22] = variable[23];
14629 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
14630 /* Register variable[23]: Result */
14631 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14632 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
14633 return_label244: while(false);
14634 tracehead = trace.prev;
14635 return;
14636 }
14637 void parser___ReduceAction106___init(val_t self, int* init_table) {
14638 struct trace_t trace = {NULL, NULL, 5522, LOCATE_parser___ReduceAction106___init};
14639 val_t variable[2];
14640 struct WBT_ **closurevariable = NULL;
14641 trace.prev = tracehead; tracehead = &trace;
14642 trace.file = LOCATE_parser;
14643 /* Register variable[0]: Local variable */
14644 variable[0] = self;
14645 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction106].i]) return;
14646 /* Register variable[1]: Method return value and escape marker */
14647 return_label245: while(false);
14648 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction106].i] = 1;
14649 tracehead = trace.prev;
14650 return;
14651 }
14652 void parser___ReduceAction107___action(val_t self, val_t param0) {
14653 struct trace_t trace = {NULL, NULL, 5526, LOCATE_parser___ReduceAction107___action};
14654 val_t variable[19];
14655 struct WBT_ **closurevariable = NULL;
14656 trace.prev = tracehead; tracehead = &trace;
14657 trace.file = LOCATE_parser;
14658 /* Register variable[0]: Local variable */
14659 variable[0] = self;
14660 /* Register variable[1]: Local variable */
14661 variable[1] = param0;
14662 /* Register variable[2]: Method return value and escape marker */
14663 /* Register variable[3]: Local variable */
14664 variable[3] = NIT_NULL /*null*/;
14665 /* Register variable[4]: Local variable */
14666 /* Register variable[5]: Result */
14667 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14668 variable[4] = variable[5];
14669 /* Register variable[5]: Local variable */
14670 /* Register variable[6]: Result */
14671 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14672 variable[5] = variable[6];
14673 /* Register variable[6]: Local variable */
14674 /* Register variable[7]: Result */
14675 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14676 variable[6] = variable[7];
14677 /* Register variable[7]: Local variable */
14678 /* Register variable[8]: Result */
14679 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14680 variable[7] = variable[8];
14681 /* Register variable[8]: Local variable */
14682 /* Register variable[9]: Result */
14683 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14684 variable[8] = variable[9];
14685 /* Register variable[9]: Local variable */
14686 /* Register variable[10]: Result */
14687 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14688 variable[9] = variable[10];
14689 /* Register variable[10]: Local variable */
14690 variable[10] = variable[9] /*nodearraylist1*/;
14691 /* Register variable[11]: Result */
14692 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14693 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5536); nit_exit(1);}
14694 /* Register variable[11]: Local variable */
14695 variable[11] = variable[8] /*nodearraylist2*/;
14696 /* Register variable[12]: Result */
14697 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14698 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5538); nit_exit(1);}
14699 /* Register variable[12]: Local variable */
14700 variable[12] = variable[7] /*nodearraylist3*/;
14701 /* Register variable[13]: Result */
14702 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
14703 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5540); nit_exit(1);}
14704 /* Register variable[13]: Local variable */
14705 /* Register variable[14]: Result */
14706 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[11] /*tkwredefnode4*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
14707 variable[13] = variable[14];
14708 /* Register variable[14]: Local variable */
14709 variable[14] = variable[6] /*nodearraylist4*/;
14710 /* Register variable[15]: Result */
14711 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14712 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5546); nit_exit(1);}
14713 /* Register variable[15]: Local variable */
14714 variable[15] = variable[5] /*nodearraylist5*/;
14715 /* Register variable[16]: Result */
14716 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14717 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5548); nit_exit(1);}
14718 /* Register variable[16]: Local variable */
14719 variable[16] = variable[4] /*nodearraylist6*/;
14720 /* Register variable[17]: Result */
14721 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14722 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction107___action, LOCATE_parser, 5550); nit_exit(1);}
14723 /* Register variable[17]: Local variable */
14724 /* Register variable[18]: Result */
14725 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*/, NIT_NULL /*null*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14726 variable[17] = variable[18];
14727 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14728 /* Register variable[18]: Result */
14729 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14730 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14731 return_label246: while(false);
14732 tracehead = trace.prev;
14733 return;
14734 }
14735 void parser___ReduceAction107___init(val_t self, int* init_table) {
14736 struct trace_t trace = {NULL, NULL, 5566, LOCATE_parser___ReduceAction107___init};
14737 val_t variable[2];
14738 struct WBT_ **closurevariable = NULL;
14739 trace.prev = tracehead; tracehead = &trace;
14740 trace.file = LOCATE_parser;
14741 /* Register variable[0]: Local variable */
14742 variable[0] = self;
14743 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction107].i]) return;
14744 /* Register variable[1]: Method return value and escape marker */
14745 return_label247: while(false);
14746 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction107].i] = 1;
14747 tracehead = trace.prev;
14748 return;
14749 }
14750 void parser___ReduceAction108___action(val_t self, val_t param0) {
14751 struct trace_t trace = {NULL, NULL, 5570, LOCATE_parser___ReduceAction108___action};
14752 val_t variable[17];
14753 struct WBT_ **closurevariable = NULL;
14754 trace.prev = tracehead; tracehead = &trace;
14755 trace.file = LOCATE_parser;
14756 /* Register variable[0]: Local variable */
14757 variable[0] = self;
14758 /* Register variable[1]: Local variable */
14759 variable[1] = param0;
14760 /* Register variable[2]: Method return value and escape marker */
14761 /* Register variable[3]: Local variable */
14762 variable[3] = NIT_NULL /*null*/;
14763 /* Register variable[4]: Local variable */
14764 /* Register variable[5]: Result */
14765 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14766 variable[4] = variable[5];
14767 /* Register variable[5]: Local variable */
14768 /* Register variable[6]: Result */
14769 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14770 variable[5] = variable[6];
14771 /* Register variable[6]: Local variable */
14772 /* Register variable[7]: Result */
14773 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14774 variable[6] = variable[7];
14775 /* Register variable[7]: Local variable */
14776 /* Register variable[8]: Result */
14777 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14778 variable[7] = variable[8];
14779 /* Register variable[8]: Local variable */
14780 /* Register variable[9]: Result */
14781 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14782 variable[8] = variable[9];
14783 /* Register variable[9]: Local variable */
14784 variable[9] = variable[8] /*nodearraylist1*/;
14785 /* Register variable[10]: Result */
14786 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14787 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5579); nit_exit(1);}
14788 /* Register variable[10]: Local variable */
14789 variable[10] = variable[7] /*nodearraylist2*/;
14790 /* Register variable[11]: Result */
14791 variable[11] = TAG_Bool(( variable[10] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14792 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5581); nit_exit(1);}
14793 /* Register variable[11]: Local variable */
14794 /* Register variable[12]: Result */
14795 variable[12] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[10] /*tkwwritablenode6*/) /*new AWriteAble*/;
14796 variable[11] = variable[12];
14797 /* Register variable[12]: Local variable */
14798 variable[12] = variable[6] /*nodearraylist3*/;
14799 /* Register variable[13]: Result */
14800 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14801 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5587); nit_exit(1);}
14802 /* Register variable[13]: Local variable */
14803 variable[13] = variable[5] /*nodearraylist4*/;
14804 /* Register variable[14]: Result */
14805 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14806 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5589); nit_exit(1);}
14807 /* Register variable[14]: Local variable */
14808 variable[14] = variable[4] /*nodearraylist5*/;
14809 /* Register variable[15]: Result */
14810 variable[15] = TAG_Bool(( variable[14] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14811 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction108___action, LOCATE_parser, 5591); nit_exit(1);}
14812 /* Register variable[15]: Local variable */
14813 /* Register variable[16]: Result */
14814 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*/, NIT_NULL /*null*/, variable[14] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14815 variable[15] = variable[16];
14816 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
14817 /* Register variable[16]: Result */
14818 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14819 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
14820 return_label248: while(false);
14821 tracehead = trace.prev;
14822 return;
14823 }
14824 void parser___ReduceAction108___init(val_t self, int* init_table) {
14825 struct trace_t trace = {NULL, NULL, 5607, LOCATE_parser___ReduceAction108___init};
14826 val_t variable[2];
14827 struct WBT_ **closurevariable = NULL;
14828 trace.prev = tracehead; tracehead = &trace;
14829 trace.file = LOCATE_parser;
14830 /* Register variable[0]: Local variable */
14831 variable[0] = self;
14832 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction108].i]) return;
14833 /* Register variable[1]: Method return value and escape marker */
14834 return_label249: while(false);
14835 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction108].i] = 1;
14836 tracehead = trace.prev;
14837 return;
14838 }
14839 void parser___ReduceAction109___action(val_t self, val_t param0) {
14840 struct trace_t trace = {NULL, NULL, 5611, LOCATE_parser___ReduceAction109___action};
14841 val_t variable[19];
14842 struct WBT_ **closurevariable = NULL;
14843 trace.prev = tracehead; tracehead = &trace;
14844 trace.file = LOCATE_parser;
14845 /* Register variable[0]: Local variable */
14846 variable[0] = self;
14847 /* Register variable[1]: Local variable */
14848 variable[1] = param0;
14849 /* Register variable[2]: Method return value and escape marker */
14850 /* Register variable[3]: Local variable */
14851 variable[3] = NIT_NULL /*null*/;
14852 /* Register variable[4]: Local variable */
14853 /* Register variable[5]: Result */
14854 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14855 variable[4] = variable[5];
14856 /* Register variable[5]: Local variable */
14857 /* Register variable[6]: Result */
14858 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14859 variable[5] = variable[6];
14860 /* Register variable[6]: Local variable */
14861 /* Register variable[7]: Result */
14862 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14863 variable[6] = variable[7];
14864 /* Register variable[7]: Local variable */
14865 /* Register variable[8]: Result */
14866 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14867 variable[7] = variable[8];
14868 /* Register variable[8]: Local variable */
14869 /* Register variable[9]: Result */
14870 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14871 variable[8] = variable[9];
14872 /* Register variable[9]: Local variable */
14873 /* Register variable[10]: Result */
14874 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14875 variable[9] = variable[10];
14876 /* Register variable[10]: Local variable */
14877 variable[10] = variable[9] /*nodearraylist1*/;
14878 /* Register variable[11]: Result */
14879 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14880 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5621); nit_exit(1);}
14881 /* Register variable[11]: Local variable */
14882 variable[11] = variable[8] /*nodearraylist2*/;
14883 /* Register variable[12]: Result */
14884 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14885 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5623); nit_exit(1);}
14886 /* Register variable[12]: Local variable */
14887 variable[12] = variable[7] /*nodearraylist3*/;
14888 /* Register variable[13]: Result */
14889 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
14890 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5625); nit_exit(1);}
14891 /* Register variable[13]: Local variable */
14892 /* Register variable[14]: Result */
14893 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[11] /*tkwredefnode5*/, variable[12] /*tkwwritablenode6*/) /*new AWriteAble*/;
14894 variable[13] = variable[14];
14895 /* Register variable[14]: Local variable */
14896 variable[14] = variable[6] /*nodearraylist4*/;
14897 /* Register variable[15]: Result */
14898 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14899 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5631); nit_exit(1);}
14900 /* Register variable[15]: Local variable */
14901 variable[15] = variable[5] /*nodearraylist5*/;
14902 /* Register variable[16]: Result */
14903 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14904 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5633); nit_exit(1);}
14905 /* Register variable[16]: Local variable */
14906 variable[16] = variable[4] /*nodearraylist6*/;
14907 /* Register variable[17]: Result */
14908 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14909 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction109___action, LOCATE_parser, 5635); nit_exit(1);}
14910 /* Register variable[17]: Local variable */
14911 /* Register variable[18]: Result */
14912 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*/, NIT_NULL /*null*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14913 variable[17] = variable[18];
14914 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
14915 /* Register variable[18]: Result */
14916 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14917 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
14918 return_label250: while(false);
14919 tracehead = trace.prev;
14920 return;
14921 }
14922 void parser___ReduceAction109___init(val_t self, int* init_table) {
14923 struct trace_t trace = {NULL, NULL, 5651, LOCATE_parser___ReduceAction109___init};
14924 val_t variable[2];
14925 struct WBT_ **closurevariable = NULL;
14926 trace.prev = tracehead; tracehead = &trace;
14927 trace.file = LOCATE_parser;
14928 /* Register variable[0]: Local variable */
14929 variable[0] = self;
14930 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction109].i]) return;
14931 /* Register variable[1]: Method return value and escape marker */
14932 return_label251: while(false);
14933 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction109].i] = 1;
14934 tracehead = trace.prev;
14935 return;
14936 }
14937 void parser___ReduceAction110___action(val_t self, val_t param0) {
14938 struct trace_t trace = {NULL, NULL, 5655, LOCATE_parser___ReduceAction110___action};
14939 val_t variable[14];
14940 struct WBT_ **closurevariable = NULL;
14941 trace.prev = tracehead; tracehead = &trace;
14942 trace.file = LOCATE_parser;
14943 /* Register variable[0]: Local variable */
14944 variable[0] = self;
14945 /* Register variable[1]: Local variable */
14946 variable[1] = param0;
14947 /* Register variable[2]: Method return value and escape marker */
14948 /* Register variable[3]: Local variable */
14949 variable[3] = NIT_NULL /*null*/;
14950 /* Register variable[4]: Local variable */
14951 /* Register variable[5]: Result */
14952 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14953 variable[4] = variable[5];
14954 /* Register variable[5]: Local variable */
14955 /* Register variable[6]: Result */
14956 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14957 variable[5] = variable[6];
14958 /* Register variable[6]: Local variable */
14959 /* Register variable[7]: Result */
14960 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14961 variable[6] = variable[7];
14962 /* Register variable[7]: Local variable */
14963 /* Register variable[8]: Result */
14964 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
14965 variable[7] = variable[8];
14966 /* Register variable[8]: Local variable */
14967 variable[8] = variable[7] /*nodearraylist1*/;
14968 /* Register variable[9]: Result */
14969 variable[9] = TAG_Bool(( variable[8] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
14970 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5663); nit_exit(1);}
14971 /* Register variable[9]: Local variable */
14972 variable[9] = variable[6] /*nodearraylist2*/;
14973 /* Register variable[10]: Result */
14974 variable[10] = TAG_Bool(( variable[9] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[9] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
14975 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5665); nit_exit(1);}
14976 /* Register variable[10]: Local variable */
14977 variable[10] = variable[5] /*nodearraylist3*/;
14978 /* Register variable[11]: Result */
14979 variable[11] = TAG_Bool(( variable[10] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
14980 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5667); nit_exit(1);}
14981 /* Register variable[11]: Local variable */
14982 variable[11] = variable[4] /*nodearraylist4*/;
14983 /* Register variable[12]: Result */
14984 variable[12] = TAG_Bool(( variable[11] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
14985 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction110___action, LOCATE_parser, 5669); nit_exit(1);}
14986 /* Register variable[12]: Local variable */
14987 /* Register variable[13]: Result */
14988 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*/, NIT_NULL /*null*/, variable[11] /*tattridnode9*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
14989 variable[12] = variable[13];
14990 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
14991 /* Register variable[13]: Result */
14992 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
14993 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
14994 return_label252: while(false);
14995 tracehead = trace.prev;
14996 return;
14997 }
14998 void parser___ReduceAction110___init(val_t self, int* init_table) {
14999 struct trace_t trace = {NULL, NULL, 5685, LOCATE_parser___ReduceAction110___init};
15000 val_t variable[2];
15001 struct WBT_ **closurevariable = NULL;
15002 trace.prev = tracehead; tracehead = &trace;
15003 trace.file = LOCATE_parser;
15004 /* Register variable[0]: Local variable */
15005 variable[0] = self;
15006 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction110].i]) return;
15007 /* Register variable[1]: Method return value and escape marker */
15008 return_label253: while(false);
15009 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction110].i] = 1;
15010 tracehead = trace.prev;
15011 return;
15012 }
15013 void parser___ReduceAction111___action(val_t self, val_t param0) {
15014 struct trace_t trace = {NULL, NULL, 5689, LOCATE_parser___ReduceAction111___action};
15015 val_t variable[22];
15016 struct WBT_ **closurevariable = NULL;
15017 trace.prev = tracehead; tracehead = &trace;
15018 trace.file = LOCATE_parser;
15019 /* Register variable[0]: Local variable */
15020 variable[0] = self;
15021 /* Register variable[1]: Local variable */
15022 variable[1] = param0;
15023 /* Register variable[2]: Method return value and escape marker */
15024 /* Register variable[3]: Local variable */
15025 variable[3] = NIT_NULL /*null*/;
15026 /* Register variable[4]: Local variable */
15027 /* Register variable[5]: Result */
15028 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15029 variable[4] = variable[5];
15030 /* Register variable[5]: Local variable */
15031 /* Register variable[6]: Result */
15032 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15033 variable[5] = variable[6];
15034 /* Register variable[6]: Local variable */
15035 /* Register variable[7]: Result */
15036 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15037 variable[6] = variable[7];
15038 /* Register variable[7]: Local variable */
15039 /* Register variable[8]: Result */
15040 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15041 variable[7] = variable[8];
15042 /* Register variable[8]: Local variable */
15043 /* Register variable[9]: Result */
15044 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15045 variable[8] = variable[9];
15046 /* Register variable[9]: Local variable */
15047 /* Register variable[10]: Result */
15048 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15049 variable[9] = variable[10];
15050 /* Register variable[10]: Local variable */
15051 /* Register variable[11]: Result */
15052 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15053 variable[10] = variable[11];
15054 /* Register variable[11]: Local variable */
15055 variable[11] = variable[10] /*nodearraylist1*/;
15056 /* Register variable[12]: Result */
15057 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15058 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5700); nit_exit(1);}
15059 /* Register variable[12]: Local variable */
15060 variable[12] = variable[9] /*nodearraylist2*/;
15061 /* Register variable[13]: Result */
15062 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15063 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5702); nit_exit(1);}
15064 /* Register variable[13]: Local variable */
15065 /* Register variable[14]: Result */
15066 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
15067 variable[13] = variable[14];
15068 /* Register variable[14]: Local variable */
15069 variable[14] = variable[8] /*nodearraylist3*/;
15070 /* Register variable[15]: Result */
15071 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15072 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5708); nit_exit(1);}
15073 /* Register variable[15]: Local variable */
15074 /* Register variable[16]: Result */
15075 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/) /*new AWriteAble*/;
15076 variable[15] = variable[16];
15077 /* Register variable[16]: Local variable */
15078 variable[16] = variable[7] /*nodearraylist4*/;
15079 /* Register variable[17]: Result */
15080 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15081 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5714); nit_exit(1);}
15082 /* Register variable[17]: Local variable */
15083 variable[17] = variable[6] /*nodearraylist5*/;
15084 /* Register variable[18]: Result */
15085 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15086 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5716); nit_exit(1);}
15087 /* Register variable[18]: Local variable */
15088 variable[18] = variable[5] /*nodearraylist6*/;
15089 /* Register variable[19]: Result */
15090 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15091 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5718); nit_exit(1);}
15092 /* Register variable[19]: Local variable */
15093 variable[19] = variable[4] /*nodearraylist7*/;
15094 /* Register variable[20]: Result */
15095 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15096 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction111___action, LOCATE_parser, 5720); nit_exit(1);}
15097 /* Register variable[20]: Local variable */
15098 /* Register variable[21]: Result */
15099 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15100 variable[20] = variable[21];
15101 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
15102 /* Register variable[21]: Result */
15103 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15104 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
15105 return_label254: while(false);
15106 tracehead = trace.prev;
15107 return;
15108 }
15109 void parser___ReduceAction111___init(val_t self, int* init_table) {
15110 struct trace_t trace = {NULL, NULL, 5736, LOCATE_parser___ReduceAction111___init};
15111 val_t variable[2];
15112 struct WBT_ **closurevariable = NULL;
15113 trace.prev = tracehead; tracehead = &trace;
15114 trace.file = LOCATE_parser;
15115 /* Register variable[0]: Local variable */
15116 variable[0] = self;
15117 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction111].i]) return;
15118 /* Register variable[1]: Method return value and escape marker */
15119 return_label255: while(false);
15120 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction111].i] = 1;
15121 tracehead = trace.prev;
15122 return;
15123 }
15124 void parser___ReduceAction112___action(val_t self, val_t param0) {
15125 struct trace_t trace = {NULL, NULL, 5740, LOCATE_parser___ReduceAction112___action};
15126 val_t variable[24];
15127 struct WBT_ **closurevariable = NULL;
15128 trace.prev = tracehead; tracehead = &trace;
15129 trace.file = LOCATE_parser;
15130 /* Register variable[0]: Local variable */
15131 variable[0] = self;
15132 /* Register variable[1]: Local variable */
15133 variable[1] = param0;
15134 /* Register variable[2]: Method return value and escape marker */
15135 /* Register variable[3]: Local variable */
15136 variable[3] = NIT_NULL /*null*/;
15137 /* Register variable[4]: Local variable */
15138 /* Register variable[5]: Result */
15139 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15140 variable[4] = variable[5];
15141 /* Register variable[5]: Local variable */
15142 /* Register variable[6]: Result */
15143 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15144 variable[5] = variable[6];
15145 /* Register variable[6]: Local variable */
15146 /* Register variable[7]: Result */
15147 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15148 variable[6] = variable[7];
15149 /* Register variable[7]: Local variable */
15150 /* Register variable[8]: Result */
15151 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15152 variable[7] = variable[8];
15153 /* Register variable[8]: Local variable */
15154 /* Register variable[9]: Result */
15155 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15156 variable[8] = variable[9];
15157 /* Register variable[9]: Local variable */
15158 /* Register variable[10]: Result */
15159 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15160 variable[9] = variable[10];
15161 /* Register variable[10]: Local variable */
15162 /* Register variable[11]: Result */
15163 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15164 variable[10] = variable[11];
15165 /* Register variable[11]: Local variable */
15166 /* Register variable[12]: Result */
15167 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15168 variable[11] = variable[12];
15169 /* Register variable[12]: Local variable */
15170 variable[12] = variable[11] /*nodearraylist1*/;
15171 /* Register variable[13]: Result */
15172 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15173 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5752); nit_exit(1);}
15174 /* Register variable[13]: Local variable */
15175 variable[13] = variable[10] /*nodearraylist2*/;
15176 /* Register variable[14]: Result */
15177 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15178 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5754); nit_exit(1);}
15179 /* Register variable[14]: Local variable */
15180 /* Register variable[15]: Result */
15181 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
15182 variable[14] = variable[15];
15183 /* Register variable[15]: Local variable */
15184 variable[15] = variable[9] /*nodearraylist3*/;
15185 /* Register variable[16]: Result */
15186 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15187 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5760); nit_exit(1);}
15188 /* Register variable[16]: Local variable */
15189 variable[16] = variable[8] /*nodearraylist4*/;
15190 /* Register variable[17]: Result */
15191 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15192 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5762); nit_exit(1);}
15193 /* Register variable[17]: Local variable */
15194 /* Register variable[18]: Result */
15195 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
15196 variable[17] = variable[18];
15197 /* Register variable[18]: Local variable */
15198 variable[18] = variable[7] /*nodearraylist5*/;
15199 /* Register variable[19]: Result */
15200 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15201 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5768); nit_exit(1);}
15202 /* Register variable[19]: Local variable */
15203 variable[19] = variable[6] /*nodearraylist6*/;
15204 /* Register variable[20]: Result */
15205 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15206 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5770); nit_exit(1);}
15207 /* Register variable[20]: Local variable */
15208 variable[20] = variable[5] /*nodearraylist7*/;
15209 /* Register variable[21]: Result */
15210 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15211 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5772); nit_exit(1);}
15212 /* Register variable[21]: Local variable */
15213 variable[21] = variable[4] /*nodearraylist8*/;
15214 /* Register variable[22]: Result */
15215 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15216 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction112___action, LOCATE_parser, 5774); nit_exit(1);}
15217 /* Register variable[22]: Local variable */
15218 /* Register variable[23]: Result */
15219 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15220 variable[22] = variable[23];
15221 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
15222 /* Register variable[23]: Result */
15223 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15224 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
15225 return_label256: while(false);
15226 tracehead = trace.prev;
15227 return;
15228 }
15229 void parser___ReduceAction112___init(val_t self, int* init_table) {
15230 struct trace_t trace = {NULL, NULL, 5790, LOCATE_parser___ReduceAction112___init};
15231 val_t variable[2];
15232 struct WBT_ **closurevariable = NULL;
15233 trace.prev = tracehead; tracehead = &trace;
15234 trace.file = LOCATE_parser;
15235 /* Register variable[0]: Local variable */
15236 variable[0] = self;
15237 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction112].i]) return;
15238 /* Register variable[1]: Method return value and escape marker */
15239 return_label257: while(false);
15240 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction112].i] = 1;
15241 tracehead = trace.prev;
15242 return;
15243 }
15244 void parser___ReduceAction113___action(val_t self, val_t param0) {
15245 struct trace_t trace = {NULL, NULL, 5794, LOCATE_parser___ReduceAction113___action};
15246 val_t variable[19];
15247 struct WBT_ **closurevariable = NULL;
15248 trace.prev = tracehead; tracehead = &trace;
15249 trace.file = LOCATE_parser;
15250 /* Register variable[0]: Local variable */
15251 variable[0] = self;
15252 /* Register variable[1]: Local variable */
15253 variable[1] = param0;
15254 /* Register variable[2]: Method return value and escape marker */
15255 /* Register variable[3]: Local variable */
15256 variable[3] = NIT_NULL /*null*/;
15257 /* Register variable[4]: Local variable */
15258 /* Register variable[5]: Result */
15259 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15260 variable[4] = variable[5];
15261 /* Register variable[5]: Local variable */
15262 /* Register variable[6]: Result */
15263 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15264 variable[5] = variable[6];
15265 /* Register variable[6]: Local variable */
15266 /* Register variable[7]: Result */
15267 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15268 variable[6] = variable[7];
15269 /* Register variable[7]: Local variable */
15270 /* Register variable[8]: Result */
15271 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15272 variable[7] = variable[8];
15273 /* Register variable[8]: Local variable */
15274 /* Register variable[9]: Result */
15275 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15276 variable[8] = variable[9];
15277 /* Register variable[9]: Local variable */
15278 /* Register variable[10]: Result */
15279 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15280 variable[9] = variable[10];
15281 /* Register variable[10]: Local variable */
15282 variable[10] = variable[9] /*nodearraylist1*/;
15283 /* Register variable[11]: Result */
15284 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15285 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5804); nit_exit(1);}
15286 /* Register variable[11]: Local variable */
15287 variable[11] = variable[8] /*nodearraylist2*/;
15288 /* Register variable[12]: Result */
15289 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15290 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5806); nit_exit(1);}
15291 /* Register variable[12]: Local variable */
15292 /* Register variable[13]: Result */
15293 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
15294 variable[12] = variable[13];
15295 /* Register variable[13]: Local variable */
15296 variable[13] = variable[7] /*nodearraylist3*/;
15297 /* Register variable[14]: Result */
15298 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15299 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5812); nit_exit(1);}
15300 /* Register variable[14]: Local variable */
15301 variable[14] = variable[6] /*nodearraylist4*/;
15302 /* Register variable[15]: Result */
15303 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15304 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5814); nit_exit(1);}
15305 /* Register variable[15]: Local variable */
15306 variable[15] = variable[5] /*nodearraylist5*/;
15307 /* Register variable[16]: Result */
15308 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15309 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5816); nit_exit(1);}
15310 /* Register variable[16]: Local variable */
15311 variable[16] = variable[4] /*nodearraylist6*/;
15312 /* Register variable[17]: Result */
15313 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15314 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction113___action, LOCATE_parser, 5818); nit_exit(1);}
15315 /* Register variable[17]: Local variable */
15316 /* Register variable[18]: Result */
15317 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*/, NIT_NULL /*null*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15318 variable[17] = variable[18];
15319 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
15320 /* Register variable[18]: Result */
15321 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15322 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
15323 return_label258: while(false);
15324 tracehead = trace.prev;
15325 return;
15326 }
15327 void parser___ReduceAction113___init(val_t self, int* init_table) {
15328 struct trace_t trace = {NULL, NULL, 5834, LOCATE_parser___ReduceAction113___init};
15329 val_t variable[2];
15330 struct WBT_ **closurevariable = NULL;
15331 trace.prev = tracehead; tracehead = &trace;
15332 trace.file = LOCATE_parser;
15333 /* Register variable[0]: Local variable */
15334 variable[0] = self;
15335 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction113].i]) return;
15336 /* Register variable[1]: Method return value and escape marker */
15337 return_label259: while(false);
15338 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction113].i] = 1;
15339 tracehead = trace.prev;
15340 return;
15341 }
15342 void parser___ReduceAction114___action(val_t self, val_t param0) {
15343 struct trace_t trace = {NULL, NULL, 5838, LOCATE_parser___ReduceAction114___action};
15344 val_t variable[24];
15345 struct WBT_ **closurevariable = NULL;
15346 trace.prev = tracehead; tracehead = &trace;
15347 trace.file = LOCATE_parser;
15348 /* Register variable[0]: Local variable */
15349 variable[0] = self;
15350 /* Register variable[1]: Local variable */
15351 variable[1] = param0;
15352 /* Register variable[2]: Method return value and escape marker */
15353 /* Register variable[3]: Local variable */
15354 variable[3] = NIT_NULL /*null*/;
15355 /* Register variable[4]: Local variable */
15356 /* Register variable[5]: Result */
15357 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15358 variable[4] = variable[5];
15359 /* Register variable[5]: Local variable */
15360 /* Register variable[6]: Result */
15361 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15362 variable[5] = variable[6];
15363 /* Register variable[6]: Local variable */
15364 /* Register variable[7]: Result */
15365 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15366 variable[6] = variable[7];
15367 /* Register variable[7]: Local variable */
15368 /* Register variable[8]: Result */
15369 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15370 variable[7] = variable[8];
15371 /* Register variable[8]: Local variable */
15372 /* Register variable[9]: Result */
15373 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15374 variable[8] = variable[9];
15375 /* Register variable[9]: Local variable */
15376 /* Register variable[10]: Result */
15377 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15378 variable[9] = variable[10];
15379 /* Register variable[10]: Local variable */
15380 /* Register variable[11]: Result */
15381 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15382 variable[10] = variable[11];
15383 /* Register variable[11]: Local variable */
15384 /* Register variable[12]: Result */
15385 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15386 variable[11] = variable[12];
15387 /* Register variable[12]: Local variable */
15388 variable[12] = variable[11] /*nodearraylist1*/;
15389 /* Register variable[13]: Result */
15390 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15391 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5850); nit_exit(1);}
15392 /* Register variable[13]: Local variable */
15393 variable[13] = variable[10] /*nodearraylist2*/;
15394 /* Register variable[14]: Result */
15395 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15396 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5852); nit_exit(1);}
15397 /* Register variable[14]: Local variable */
15398 variable[14] = variable[9] /*nodearraylist3*/;
15399 /* Register variable[15]: Result */
15400 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15401 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5854); nit_exit(1);}
15402 /* Register variable[15]: Local variable */
15403 /* Register variable[16]: Result */
15404 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
15405 variable[15] = variable[16];
15406 /* Register variable[16]: Local variable */
15407 variable[16] = variable[8] /*nodearraylist4*/;
15408 /* Register variable[17]: Result */
15409 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15410 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5860); nit_exit(1);}
15411 /* Register variable[17]: Local variable */
15412 /* Register variable[18]: Result */
15413 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
15414 variable[17] = variable[18];
15415 /* Register variable[18]: Local variable */
15416 variable[18] = variable[7] /*nodearraylist5*/;
15417 /* Register variable[19]: Result */
15418 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15419 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5866); nit_exit(1);}
15420 /* Register variable[19]: Local variable */
15421 variable[19] = variable[6] /*nodearraylist6*/;
15422 /* Register variable[20]: Result */
15423 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15424 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5868); nit_exit(1);}
15425 /* Register variable[20]: Local variable */
15426 variable[20] = variable[5] /*nodearraylist7*/;
15427 /* Register variable[21]: Result */
15428 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15429 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5870); nit_exit(1);}
15430 /* Register variable[21]: Local variable */
15431 variable[21] = variable[4] /*nodearraylist8*/;
15432 /* Register variable[22]: Result */
15433 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15434 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction114___action, LOCATE_parser, 5872); nit_exit(1);}
15435 /* Register variable[22]: Local variable */
15436 /* Register variable[23]: Result */
15437 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15438 variable[22] = variable[23];
15439 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
15440 /* Register variable[23]: Result */
15441 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15442 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
15443 return_label260: while(false);
15444 tracehead = trace.prev;
15445 return;
15446 }
15447 void parser___ReduceAction114___init(val_t self, int* init_table) {
15448 struct trace_t trace = {NULL, NULL, 5888, LOCATE_parser___ReduceAction114___init};
15449 val_t variable[2];
15450 struct WBT_ **closurevariable = NULL;
15451 trace.prev = tracehead; tracehead = &trace;
15452 trace.file = LOCATE_parser;
15453 /* Register variable[0]: Local variable */
15454 variable[0] = self;
15455 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction114].i]) return;
15456 /* Register variable[1]: Method return value and escape marker */
15457 return_label261: while(false);
15458 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction114].i] = 1;
15459 tracehead = trace.prev;
15460 return;
15461 }
15462 void parser___ReduceAction115___action(val_t self, val_t param0) {
15463 struct trace_t trace = {NULL, NULL, 5892, LOCATE_parser___ReduceAction115___action};
15464 val_t variable[26];
15465 struct WBT_ **closurevariable = NULL;
15466 trace.prev = tracehead; tracehead = &trace;
15467 trace.file = LOCATE_parser;
15468 /* Register variable[0]: Local variable */
15469 variable[0] = self;
15470 /* Register variable[1]: Local variable */
15471 variable[1] = param0;
15472 /* Register variable[2]: Method return value and escape marker */
15473 /* Register variable[3]: Local variable */
15474 variable[3] = NIT_NULL /*null*/;
15475 /* Register variable[4]: Local variable */
15476 /* Register variable[5]: Result */
15477 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15478 variable[4] = variable[5];
15479 /* Register variable[5]: Local variable */
15480 /* Register variable[6]: Result */
15481 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15482 variable[5] = variable[6];
15483 /* Register variable[6]: Local variable */
15484 /* Register variable[7]: Result */
15485 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15486 variable[6] = variable[7];
15487 /* Register variable[7]: Local variable */
15488 /* Register variable[8]: Result */
15489 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15490 variable[7] = variable[8];
15491 /* Register variable[8]: Local variable */
15492 /* Register variable[9]: Result */
15493 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15494 variable[8] = variable[9];
15495 /* Register variable[9]: Local variable */
15496 /* Register variable[10]: Result */
15497 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15498 variable[9] = variable[10];
15499 /* Register variable[10]: Local variable */
15500 /* Register variable[11]: Result */
15501 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15502 variable[10] = variable[11];
15503 /* Register variable[11]: Local variable */
15504 /* Register variable[12]: Result */
15505 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15506 variable[11] = variable[12];
15507 /* Register variable[12]: Local variable */
15508 /* Register variable[13]: Result */
15509 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15510 variable[12] = variable[13];
15511 /* Register variable[13]: Local variable */
15512 variable[13] = variable[12] /*nodearraylist1*/;
15513 /* Register variable[14]: Result */
15514 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15515 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5905); nit_exit(1);}
15516 /* Register variable[14]: Local variable */
15517 variable[14] = variable[11] /*nodearraylist2*/;
15518 /* Register variable[15]: Result */
15519 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15520 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5907); nit_exit(1);}
15521 /* Register variable[15]: Local variable */
15522 variable[15] = variable[10] /*nodearraylist3*/;
15523 /* Register variable[16]: Result */
15524 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15525 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5909); nit_exit(1);}
15526 /* Register variable[16]: Local variable */
15527 /* Register variable[17]: Result */
15528 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
15529 variable[16] = variable[17];
15530 /* Register variable[17]: Local variable */
15531 variable[17] = variable[9] /*nodearraylist4*/;
15532 /* Register variable[18]: Result */
15533 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15534 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5915); nit_exit(1);}
15535 /* Register variable[18]: Local variable */
15536 variable[18] = variable[8] /*nodearraylist5*/;
15537 /* Register variable[19]: Result */
15538 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15539 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5917); nit_exit(1);}
15540 /* Register variable[19]: Local variable */
15541 /* Register variable[20]: Result */
15542 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
15543 variable[19] = variable[20];
15544 /* Register variable[20]: Local variable */
15545 variable[20] = variable[7] /*nodearraylist6*/;
15546 /* Register variable[21]: Result */
15547 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15548 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5923); nit_exit(1);}
15549 /* Register variable[21]: Local variable */
15550 variable[21] = variable[6] /*nodearraylist7*/;
15551 /* Register variable[22]: Result */
15552 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15553 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5925); nit_exit(1);}
15554 /* Register variable[22]: Local variable */
15555 variable[22] = variable[5] /*nodearraylist8*/;
15556 /* Register variable[23]: Result */
15557 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15558 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5927); nit_exit(1);}
15559 /* Register variable[23]: Local variable */
15560 variable[23] = variable[4] /*nodearraylist9*/;
15561 /* Register variable[24]: Result */
15562 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15563 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction115___action, LOCATE_parser, 5929); nit_exit(1);}
15564 /* Register variable[24]: Local variable */
15565 /* Register variable[25]: Result */
15566 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*/, NIT_NULL /*null*/, variable[23] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15567 variable[24] = variable[25];
15568 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
15569 /* Register variable[25]: Result */
15570 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15571 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
15572 return_label262: while(false);
15573 tracehead = trace.prev;
15574 return;
15575 }
15576 void parser___ReduceAction115___init(val_t self, int* init_table) {
15577 struct trace_t trace = {NULL, NULL, 5945, LOCATE_parser___ReduceAction115___init};
15578 val_t variable[2];
15579 struct WBT_ **closurevariable = NULL;
15580 trace.prev = tracehead; tracehead = &trace;
15581 trace.file = LOCATE_parser;
15582 /* Register variable[0]: Local variable */
15583 variable[0] = self;
15584 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction115].i]) return;
15585 /* Register variable[1]: Method return value and escape marker */
15586 return_label263: while(false);
15587 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction115].i] = 1;
15588 tracehead = trace.prev;
15589 return;
15590 }
15591 void parser___ReduceAction116___action(val_t self, val_t param0) {
15592 struct trace_t trace = {NULL, NULL, 5949, LOCATE_parser___ReduceAction116___action};
15593 val_t variable[21];
15594 struct WBT_ **closurevariable = NULL;
15595 trace.prev = tracehead; tracehead = &trace;
15596 trace.file = LOCATE_parser;
15597 /* Register variable[0]: Local variable */
15598 variable[0] = self;
15599 /* Register variable[1]: Local variable */
15600 variable[1] = param0;
15601 /* Register variable[2]: Method return value and escape marker */
15602 /* Register variable[3]: Local variable */
15603 variable[3] = NIT_NULL /*null*/;
15604 /* Register variable[4]: Local variable */
15605 /* Register variable[5]: Result */
15606 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15607 variable[4] = variable[5];
15608 /* Register variable[5]: Local variable */
15609 /* Register variable[6]: Result */
15610 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15611 variable[5] = variable[6];
15612 /* Register variable[6]: Local variable */
15613 /* Register variable[7]: Result */
15614 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15615 variable[6] = variable[7];
15616 /* Register variable[7]: Local variable */
15617 /* Register variable[8]: Result */
15618 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15619 variable[7] = variable[8];
15620 /* Register variable[8]: Local variable */
15621 /* Register variable[9]: Result */
15622 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15623 variable[8] = variable[9];
15624 /* Register variable[9]: Local variable */
15625 /* Register variable[10]: Result */
15626 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15627 variable[9] = variable[10];
15628 /* Register variable[10]: Local variable */
15629 /* Register variable[11]: Result */
15630 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15631 variable[10] = variable[11];
15632 /* Register variable[11]: Local variable */
15633 variable[11] = variable[10] /*nodearraylist1*/;
15634 /* Register variable[12]: Result */
15635 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15636 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5960); nit_exit(1);}
15637 /* Register variable[12]: Local variable */
15638 variable[12] = variable[9] /*nodearraylist2*/;
15639 /* Register variable[13]: Result */
15640 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15641 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5962); nit_exit(1);}
15642 /* Register variable[13]: Local variable */
15643 variable[13] = variable[8] /*nodearraylist3*/;
15644 /* Register variable[14]: Result */
15645 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15646 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5964); nit_exit(1);}
15647 /* Register variable[14]: Local variable */
15648 /* Register variable[15]: Result */
15649 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
15650 variable[14] = variable[15];
15651 /* Register variable[15]: Local variable */
15652 variable[15] = variable[7] /*nodearraylist4*/;
15653 /* Register variable[16]: Result */
15654 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15655 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5970); nit_exit(1);}
15656 /* Register variable[16]: Local variable */
15657 variable[16] = variable[6] /*nodearraylist5*/;
15658 /* Register variable[17]: Result */
15659 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15660 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5972); nit_exit(1);}
15661 /* Register variable[17]: Local variable */
15662 variable[17] = variable[5] /*nodearraylist6*/;
15663 /* Register variable[18]: Result */
15664 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15665 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5974); nit_exit(1);}
15666 /* Register variable[18]: Local variable */
15667 variable[18] = variable[4] /*nodearraylist7*/;
15668 /* Register variable[19]: Result */
15669 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15670 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction116___action, LOCATE_parser, 5976); nit_exit(1);}
15671 /* Register variable[19]: Local variable */
15672 /* Register variable[20]: Result */
15673 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*/, NIT_NULL /*null*/, variable[18] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15674 variable[19] = variable[20];
15675 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15676 /* Register variable[20]: Result */
15677 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15678 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15679 return_label264: while(false);
15680 tracehead = trace.prev;
15681 return;
15682 }
15683 void parser___ReduceAction116___init(val_t self, int* init_table) {
15684 struct trace_t trace = {NULL, NULL, 5992, LOCATE_parser___ReduceAction116___init};
15685 val_t variable[2];
15686 struct WBT_ **closurevariable = NULL;
15687 trace.prev = tracehead; tracehead = &trace;
15688 trace.file = LOCATE_parser;
15689 /* Register variable[0]: Local variable */
15690 variable[0] = self;
15691 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction116].i]) return;
15692 /* Register variable[1]: Method return value and escape marker */
15693 return_label265: while(false);
15694 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction116].i] = 1;
15695 tracehead = trace.prev;
15696 return;
15697 }
15698 void parser___ReduceAction117___action(val_t self, val_t param0) {
15699 struct trace_t trace = {NULL, NULL, 5996, LOCATE_parser___ReduceAction117___action};
15700 val_t variable[19];
15701 struct WBT_ **closurevariable = NULL;
15702 trace.prev = tracehead; tracehead = &trace;
15703 trace.file = LOCATE_parser;
15704 /* Register variable[0]: Local variable */
15705 variable[0] = self;
15706 /* Register variable[1]: Local variable */
15707 variable[1] = param0;
15708 /* Register variable[2]: Method return value and escape marker */
15709 /* Register variable[3]: Local variable */
15710 variable[3] = NIT_NULL /*null*/;
15711 /* Register variable[4]: Local variable */
15712 /* Register variable[5]: Result */
15713 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15714 variable[4] = variable[5];
15715 /* Register variable[5]: Local variable */
15716 /* Register variable[6]: Result */
15717 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15718 variable[5] = variable[6];
15719 /* Register variable[6]: Local variable */
15720 /* Register variable[7]: Result */
15721 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15722 variable[6] = variable[7];
15723 /* Register variable[7]: Local variable */
15724 /* Register variable[8]: Result */
15725 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15726 variable[7] = variable[8];
15727 /* Register variable[8]: Local variable */
15728 /* Register variable[9]: Result */
15729 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15730 variable[8] = variable[9];
15731 /* Register variable[9]: Local variable */
15732 /* Register variable[10]: Result */
15733 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15734 variable[9] = variable[10];
15735 /* Register variable[10]: Local variable */
15736 variable[10] = variable[9] /*nodearraylist1*/;
15737 /* Register variable[11]: Result */
15738 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15739 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6006); nit_exit(1);}
15740 /* Register variable[11]: Local variable */
15741 variable[11] = variable[8] /*nodearraylist2*/;
15742 /* Register variable[12]: Result */
15743 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15744 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6008); nit_exit(1);}
15745 /* Register variable[12]: Local variable */
15746 /* Register variable[13]: Result */
15747 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/) /*new AWriteAble*/;
15748 variable[12] = variable[13];
15749 /* Register variable[13]: Local variable */
15750 variable[13] = variable[7] /*nodearraylist3*/;
15751 /* Register variable[14]: Result */
15752 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15753 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6014); nit_exit(1);}
15754 /* Register variable[14]: Local variable */
15755 variable[14] = variable[6] /*nodearraylist4*/;
15756 /* Register variable[15]: Result */
15757 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15758 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6016); nit_exit(1);}
15759 /* Register variable[15]: Local variable */
15760 variable[15] = variable[5] /*nodearraylist5*/;
15761 /* Register variable[16]: Result */
15762 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15763 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6018); nit_exit(1);}
15764 /* Register variable[16]: Local variable */
15765 variable[16] = variable[4] /*nodearraylist6*/;
15766 /* Register variable[17]: Result */
15767 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15768 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction117___action, LOCATE_parser, 6020); nit_exit(1);}
15769 /* Register variable[17]: Local variable */
15770 /* Register variable[18]: Result */
15771 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*/, NIT_NULL /*null*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15772 variable[17] = variable[18];
15773 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
15774 /* Register variable[18]: Result */
15775 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15776 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
15777 return_label266: while(false);
15778 tracehead = trace.prev;
15779 return;
15780 }
15781 void parser___ReduceAction117___init(val_t self, int* init_table) {
15782 struct trace_t trace = {NULL, NULL, 6036, LOCATE_parser___ReduceAction117___init};
15783 val_t variable[2];
15784 struct WBT_ **closurevariable = NULL;
15785 trace.prev = tracehead; tracehead = &trace;
15786 trace.file = LOCATE_parser;
15787 /* Register variable[0]: Local variable */
15788 variable[0] = self;
15789 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction117].i]) return;
15790 /* Register variable[1]: Method return value and escape marker */
15791 return_label267: while(false);
15792 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction117].i] = 1;
15793 tracehead = trace.prev;
15794 return;
15795 }
15796 void parser___ReduceAction118___action(val_t self, val_t param0) {
15797 struct trace_t trace = {NULL, NULL, 6040, LOCATE_parser___ReduceAction118___action};
15798 val_t variable[21];
15799 struct WBT_ **closurevariable = NULL;
15800 trace.prev = tracehead; tracehead = &trace;
15801 trace.file = LOCATE_parser;
15802 /* Register variable[0]: Local variable */
15803 variable[0] = self;
15804 /* Register variable[1]: Local variable */
15805 variable[1] = param0;
15806 /* Register variable[2]: Method return value and escape marker */
15807 /* Register variable[3]: Local variable */
15808 variable[3] = NIT_NULL /*null*/;
15809 /* Register variable[4]: Local variable */
15810 /* Register variable[5]: Result */
15811 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15812 variable[4] = variable[5];
15813 /* Register variable[5]: Local variable */
15814 /* Register variable[6]: Result */
15815 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15816 variable[5] = variable[6];
15817 /* Register variable[6]: Local variable */
15818 /* Register variable[7]: Result */
15819 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15820 variable[6] = variable[7];
15821 /* Register variable[7]: Local variable */
15822 /* Register variable[8]: Result */
15823 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15824 variable[7] = variable[8];
15825 /* Register variable[8]: Local variable */
15826 /* Register variable[9]: Result */
15827 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15828 variable[8] = variable[9];
15829 /* Register variable[9]: Local variable */
15830 /* Register variable[10]: Result */
15831 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15832 variable[9] = variable[10];
15833 /* Register variable[10]: Local variable */
15834 /* Register variable[11]: Result */
15835 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15836 variable[10] = variable[11];
15837 /* Register variable[11]: Local variable */
15838 variable[11] = variable[10] /*nodearraylist1*/;
15839 /* Register variable[12]: Result */
15840 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15841 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6051); nit_exit(1);}
15842 /* Register variable[12]: Local variable */
15843 variable[12] = variable[9] /*nodearraylist2*/;
15844 /* Register variable[13]: Result */
15845 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15846 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6053); nit_exit(1);}
15847 /* Register variable[13]: Local variable */
15848 variable[13] = variable[8] /*nodearraylist3*/;
15849 /* Register variable[14]: Result */
15850 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
15851 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6055); nit_exit(1);}
15852 /* Register variable[14]: Local variable */
15853 /* Register variable[15]: Result */
15854 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
15855 variable[14] = variable[15];
15856 /* Register variable[15]: Local variable */
15857 variable[15] = variable[7] /*nodearraylist4*/;
15858 /* Register variable[16]: Result */
15859 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15860 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6061); nit_exit(1);}
15861 /* Register variable[16]: Local variable */
15862 variable[16] = variable[6] /*nodearraylist5*/;
15863 /* Register variable[17]: Result */
15864 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15865 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6063); nit_exit(1);}
15866 /* Register variable[17]: Local variable */
15867 variable[17] = variable[5] /*nodearraylist6*/;
15868 /* Register variable[18]: Result */
15869 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15870 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6065); nit_exit(1);}
15871 /* Register variable[18]: Local variable */
15872 variable[18] = variable[4] /*nodearraylist7*/;
15873 /* Register variable[19]: Result */
15874 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15875 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction118___action, LOCATE_parser, 6067); nit_exit(1);}
15876 /* Register variable[19]: Local variable */
15877 /* Register variable[20]: Result */
15878 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*/, NIT_NULL /*null*/, variable[18] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15879 variable[19] = variable[20];
15880 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
15881 /* Register variable[20]: Result */
15882 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15883 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
15884 return_label268: while(false);
15885 tracehead = trace.prev;
15886 return;
15887 }
15888 void parser___ReduceAction118___init(val_t self, int* init_table) {
15889 struct trace_t trace = {NULL, NULL, 6083, LOCATE_parser___ReduceAction118___init};
15890 val_t variable[2];
15891 struct WBT_ **closurevariable = NULL;
15892 trace.prev = tracehead; tracehead = &trace;
15893 trace.file = LOCATE_parser;
15894 /* Register variable[0]: Local variable */
15895 variable[0] = self;
15896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction118].i]) return;
15897 /* Register variable[1]: Method return value and escape marker */
15898 return_label269: while(false);
15899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction118].i] = 1;
15900 tracehead = trace.prev;
15901 return;
15902 }
15903 void parser___ReduceAction119___action(val_t self, val_t param0) {
15904 struct trace_t trace = {NULL, NULL, 6087, LOCATE_parser___ReduceAction119___action};
15905 val_t variable[16];
15906 struct WBT_ **closurevariable = NULL;
15907 trace.prev = tracehead; tracehead = &trace;
15908 trace.file = LOCATE_parser;
15909 /* Register variable[0]: Local variable */
15910 variable[0] = self;
15911 /* Register variable[1]: Local variable */
15912 variable[1] = param0;
15913 /* Register variable[2]: Method return value and escape marker */
15914 /* Register variable[3]: Local variable */
15915 variable[3] = NIT_NULL /*null*/;
15916 /* Register variable[4]: Local variable */
15917 /* Register variable[5]: Result */
15918 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15919 variable[4] = variable[5];
15920 /* Register variable[5]: Local variable */
15921 /* Register variable[6]: Result */
15922 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15923 variable[5] = variable[6];
15924 /* Register variable[6]: Local variable */
15925 /* Register variable[7]: Result */
15926 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15927 variable[6] = variable[7];
15928 /* Register variable[7]: Local variable */
15929 /* Register variable[8]: Result */
15930 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15931 variable[7] = variable[8];
15932 /* Register variable[8]: Local variable */
15933 /* Register variable[9]: Result */
15934 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
15935 variable[8] = variable[9];
15936 /* Register variable[9]: Local variable */
15937 variable[9] = variable[8] /*nodearraylist1*/;
15938 /* Register variable[10]: Result */
15939 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
15940 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6096); nit_exit(1);}
15941 /* Register variable[10]: Local variable */
15942 variable[10] = variable[7] /*nodearraylist2*/;
15943 /* Register variable[11]: Result */
15944 variable[11] = TAG_Bool(( variable[10] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15945 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6098); nit_exit(1);}
15946 /* Register variable[11]: Local variable */
15947 variable[11] = variable[6] /*nodearraylist3*/;
15948 /* Register variable[12]: Result */
15949 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
15950 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6100); nit_exit(1);}
15951 /* Register variable[12]: Local variable */
15952 variable[12] = variable[5] /*nodearraylist4*/;
15953 /* Register variable[13]: Result */
15954 variable[13] = TAG_Bool(( variable[12] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
15955 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6102); nit_exit(1);}
15956 /* Register variable[13]: Local variable */
15957 variable[13] = variable[4] /*nodearraylist5*/;
15958 /* Register variable[14]: Result */
15959 variable[14] = TAG_Bool(( variable[13] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
15960 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction119___action, LOCATE_parser, 6104); nit_exit(1);}
15961 /* Register variable[14]: Local variable */
15962 /* Register variable[15]: Result */
15963 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*/, NIT_NULL /*null*/, variable[13] /*tattridnode9*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
15964 variable[14] = variable[15];
15965 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
15966 /* Register variable[15]: Result */
15967 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
15968 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
15969 return_label270: while(false);
15970 tracehead = trace.prev;
15971 return;
15972 }
15973 void parser___ReduceAction119___init(val_t self, int* init_table) {
15974 struct trace_t trace = {NULL, NULL, 6120, LOCATE_parser___ReduceAction119___init};
15975 val_t variable[2];
15976 struct WBT_ **closurevariable = NULL;
15977 trace.prev = tracehead; tracehead = &trace;
15978 trace.file = LOCATE_parser;
15979 /* Register variable[0]: Local variable */
15980 variable[0] = self;
15981 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction119].i]) return;
15982 /* Register variable[1]: Method return value and escape marker */
15983 return_label271: while(false);
15984 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction119].i] = 1;
15985 tracehead = trace.prev;
15986 return;
15987 }
15988 void parser___ReduceAction120___action(val_t self, val_t param0) {
15989 struct trace_t trace = {NULL, NULL, 6124, LOCATE_parser___ReduceAction120___action};
15990 val_t variable[22];
15991 struct WBT_ **closurevariable = NULL;
15992 trace.prev = tracehead; tracehead = &trace;
15993 trace.file = LOCATE_parser;
15994 /* Register variable[0]: Local variable */
15995 variable[0] = self;
15996 /* Register variable[1]: Local variable */
15997 variable[1] = param0;
15998 /* Register variable[2]: Method return value and escape marker */
15999 /* Register variable[3]: Local variable */
16000 variable[3] = NIT_NULL /*null*/;
16001 /* Register variable[4]: Local variable */
16002 /* Register variable[5]: Result */
16003 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16004 variable[4] = variable[5];
16005 /* Register variable[5]: Local variable */
16006 /* Register variable[6]: Result */
16007 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16008 variable[5] = variable[6];
16009 /* Register variable[6]: Local variable */
16010 /* Register variable[7]: Result */
16011 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16012 variable[6] = variable[7];
16013 /* Register variable[7]: Local variable */
16014 /* Register variable[8]: Result */
16015 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16016 variable[7] = variable[8];
16017 /* Register variable[8]: Local variable */
16018 /* Register variable[9]: Result */
16019 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16020 variable[8] = variable[9];
16021 /* Register variable[9]: Local variable */
16022 /* Register variable[10]: Result */
16023 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16024 variable[9] = variable[10];
16025 /* Register variable[10]: Local variable */
16026 /* Register variable[11]: Result */
16027 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16028 variable[10] = variable[11];
16029 /* Register variable[11]: Local variable */
16030 variable[11] = variable[10] /*nodearraylist1*/;
16031 /* Register variable[12]: Result */
16032 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16033 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6135); nit_exit(1);}
16034 /* Register variable[12]: Local variable */
16035 variable[12] = variable[9] /*nodearraylist2*/;
16036 /* Register variable[13]: Result */
16037 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16038 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6137); nit_exit(1);}
16039 /* Register variable[13]: Local variable */
16040 /* Register variable[14]: Result */
16041 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
16042 variable[13] = variable[14];
16043 /* Register variable[14]: Local variable */
16044 variable[14] = variable[8] /*nodearraylist3*/;
16045 /* Register variable[15]: Result */
16046 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16047 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6143); nit_exit(1);}
16048 /* Register variable[15]: Local variable */
16049 /* Register variable[16]: Result */
16050 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/) /*new AWriteAble*/;
16051 variable[15] = variable[16];
16052 /* Register variable[16]: Local variable */
16053 variable[16] = variable[7] /*nodearraylist4*/;
16054 /* Register variable[17]: Result */
16055 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16056 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6149); nit_exit(1);}
16057 /* Register variable[17]: Local variable */
16058 variable[17] = variable[6] /*nodearraylist5*/;
16059 /* Register variable[18]: Result */
16060 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16061 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6151); nit_exit(1);}
16062 /* Register variable[18]: Local variable */
16063 variable[18] = variable[5] /*nodearraylist6*/;
16064 /* Register variable[19]: Result */
16065 variable[19] = TAG_Bool(( variable[18] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16066 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6153); nit_exit(1);}
16067 /* Register variable[19]: Local variable */
16068 variable[19] = variable[4] /*nodearraylist7*/;
16069 /* Register variable[20]: Result */
16070 variable[20] = TAG_Bool(( variable[19] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
16071 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction120___action, LOCATE_parser, 6155); nit_exit(1);}
16072 /* Register variable[20]: Local variable */
16073 /* Register variable[21]: Result */
16074 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*/, NIT_NULL /*null*/, variable[18] /*tattridnode13*/, variable[19] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16075 variable[20] = variable[21];
16076 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
16077 /* Register variable[21]: Result */
16078 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16079 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
16080 return_label272: while(false);
16081 tracehead = trace.prev;
16082 return;
16083 }
16084 void parser___ReduceAction120___init(val_t self, int* init_table) {
16085 struct trace_t trace = {NULL, NULL, 6171, LOCATE_parser___ReduceAction120___init};
16086 val_t variable[2];
16087 struct WBT_ **closurevariable = NULL;
16088 trace.prev = tracehead; tracehead = &trace;
16089 trace.file = LOCATE_parser;
16090 /* Register variable[0]: Local variable */
16091 variable[0] = self;
16092 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction120].i]) return;
16093 /* Register variable[1]: Method return value and escape marker */
16094 return_label273: while(false);
16095 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction120].i] = 1;
16096 tracehead = trace.prev;
16097 return;
16098 }
16099 void parser___ReduceAction121___action(val_t self, val_t param0) {
16100 struct trace_t trace = {NULL, NULL, 6175, LOCATE_parser___ReduceAction121___action};
16101 val_t variable[24];
16102 struct WBT_ **closurevariable = NULL;
16103 trace.prev = tracehead; tracehead = &trace;
16104 trace.file = LOCATE_parser;
16105 /* Register variable[0]: Local variable */
16106 variable[0] = self;
16107 /* Register variable[1]: Local variable */
16108 variable[1] = param0;
16109 /* Register variable[2]: Method return value and escape marker */
16110 /* Register variable[3]: Local variable */
16111 variable[3] = NIT_NULL /*null*/;
16112 /* Register variable[4]: Local variable */
16113 /* Register variable[5]: Result */
16114 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16115 variable[4] = variable[5];
16116 /* Register variable[5]: Local variable */
16117 /* Register variable[6]: Result */
16118 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16119 variable[5] = variable[6];
16120 /* Register variable[6]: Local variable */
16121 /* Register variable[7]: Result */
16122 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16123 variable[6] = variable[7];
16124 /* Register variable[7]: Local variable */
16125 /* Register variable[8]: Result */
16126 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16127 variable[7] = variable[8];
16128 /* Register variable[8]: Local variable */
16129 /* Register variable[9]: Result */
16130 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16131 variable[8] = variable[9];
16132 /* Register variable[9]: Local variable */
16133 /* Register variable[10]: Result */
16134 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16135 variable[9] = variable[10];
16136 /* Register variable[10]: Local variable */
16137 /* Register variable[11]: Result */
16138 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16139 variable[10] = variable[11];
16140 /* Register variable[11]: Local variable */
16141 /* Register variable[12]: Result */
16142 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16143 variable[11] = variable[12];
16144 /* Register variable[12]: Local variable */
16145 variable[12] = variable[11] /*nodearraylist1*/;
16146 /* Register variable[13]: Result */
16147 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16148 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6187); nit_exit(1);}
16149 /* Register variable[13]: Local variable */
16150 variable[13] = variable[10] /*nodearraylist2*/;
16151 /* Register variable[14]: Result */
16152 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16153 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6189); nit_exit(1);}
16154 /* Register variable[14]: Local variable */
16155 /* Register variable[15]: Result */
16156 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
16157 variable[14] = variable[15];
16158 /* Register variable[15]: Local variable */
16159 variable[15] = variable[9] /*nodearraylist3*/;
16160 /* Register variable[16]: Result */
16161 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16162 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6195); nit_exit(1);}
16163 /* Register variable[16]: Local variable */
16164 variable[16] = variable[8] /*nodearraylist4*/;
16165 /* Register variable[17]: Result */
16166 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16167 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6197); nit_exit(1);}
16168 /* Register variable[17]: Local variable */
16169 /* Register variable[18]: Result */
16170 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
16171 variable[17] = variable[18];
16172 /* Register variable[18]: Local variable */
16173 variable[18] = variable[7] /*nodearraylist5*/;
16174 /* Register variable[19]: Result */
16175 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16176 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6203); nit_exit(1);}
16177 /* Register variable[19]: Local variable */
16178 variable[19] = variable[6] /*nodearraylist6*/;
16179 /* Register variable[20]: Result */
16180 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16181 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6205); nit_exit(1);}
16182 /* Register variable[20]: Local variable */
16183 variable[20] = variable[5] /*nodearraylist7*/;
16184 /* Register variable[21]: Result */
16185 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16186 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6207); nit_exit(1);}
16187 /* Register variable[21]: Local variable */
16188 variable[21] = variable[4] /*nodearraylist8*/;
16189 /* Register variable[22]: Result */
16190 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
16191 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction121___action, LOCATE_parser, 6209); nit_exit(1);}
16192 /* Register variable[22]: Local variable */
16193 /* Register variable[23]: Result */
16194 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16195 variable[22] = variable[23];
16196 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
16197 /* Register variable[23]: Result */
16198 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16199 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
16200 return_label274: while(false);
16201 tracehead = trace.prev;
16202 return;
16203 }
16204 void parser___ReduceAction121___init(val_t self, int* init_table) {
16205 struct trace_t trace = {NULL, NULL, 6225, LOCATE_parser___ReduceAction121___init};
16206 val_t variable[2];
16207 struct WBT_ **closurevariable = NULL;
16208 trace.prev = tracehead; tracehead = &trace;
16209 trace.file = LOCATE_parser;
16210 /* Register variable[0]: Local variable */
16211 variable[0] = self;
16212 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction121].i]) return;
16213 /* Register variable[1]: Method return value and escape marker */
16214 return_label275: while(false);
16215 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction121].i] = 1;
16216 tracehead = trace.prev;
16217 return;
16218 }
16219 void parser___ReduceAction122___action(val_t self, val_t param0) {
16220 struct trace_t trace = {NULL, NULL, 6229, LOCATE_parser___ReduceAction122___action};
16221 val_t variable[19];
16222 struct WBT_ **closurevariable = NULL;
16223 trace.prev = tracehead; tracehead = &trace;
16224 trace.file = LOCATE_parser;
16225 /* Register variable[0]: Local variable */
16226 variable[0] = self;
16227 /* Register variable[1]: Local variable */
16228 variable[1] = param0;
16229 /* Register variable[2]: Method return value and escape marker */
16230 /* Register variable[3]: Local variable */
16231 variable[3] = NIT_NULL /*null*/;
16232 /* Register variable[4]: Local variable */
16233 /* Register variable[5]: Result */
16234 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16235 variable[4] = variable[5];
16236 /* Register variable[5]: Local variable */
16237 /* Register variable[6]: Result */
16238 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16239 variable[5] = variable[6];
16240 /* Register variable[6]: Local variable */
16241 /* Register variable[7]: Result */
16242 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16243 variable[6] = variable[7];
16244 /* Register variable[7]: Local variable */
16245 /* Register variable[8]: Result */
16246 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16247 variable[7] = variable[8];
16248 /* Register variable[8]: Local variable */
16249 /* Register variable[9]: Result */
16250 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16251 variable[8] = variable[9];
16252 /* Register variable[9]: Local variable */
16253 /* Register variable[10]: Result */
16254 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16255 variable[9] = variable[10];
16256 /* Register variable[10]: Local variable */
16257 variable[10] = variable[9] /*nodearraylist1*/;
16258 /* Register variable[11]: Result */
16259 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16260 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6239); nit_exit(1);}
16261 /* Register variable[11]: Local variable */
16262 variable[11] = variable[8] /*nodearraylist2*/;
16263 /* Register variable[12]: Result */
16264 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16265 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6241); nit_exit(1);}
16266 /* Register variable[12]: Local variable */
16267 /* Register variable[13]: Result */
16268 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
16269 variable[12] = variable[13];
16270 /* Register variable[13]: Local variable */
16271 variable[13] = variable[7] /*nodearraylist3*/;
16272 /* Register variable[14]: Result */
16273 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16274 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6247); nit_exit(1);}
16275 /* Register variable[14]: Local variable */
16276 variable[14] = variable[6] /*nodearraylist4*/;
16277 /* Register variable[15]: Result */
16278 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16279 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6249); nit_exit(1);}
16280 /* Register variable[15]: Local variable */
16281 variable[15] = variable[5] /*nodearraylist5*/;
16282 /* Register variable[16]: Result */
16283 variable[16] = TAG_Bool(( variable[15] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16284 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6251); nit_exit(1);}
16285 /* Register variable[16]: Local variable */
16286 variable[16] = variable[4] /*nodearraylist6*/;
16287 /* Register variable[17]: Result */
16288 variable[17] = TAG_Bool(( variable[16] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
16289 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction122___action, LOCATE_parser, 6253); nit_exit(1);}
16290 /* Register variable[17]: Local variable */
16291 /* Register variable[18]: Result */
16292 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*/, NIT_NULL /*null*/, variable[15] /*tattridnode11*/, variable[16] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16293 variable[17] = variable[18];
16294 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
16295 /* Register variable[18]: Result */
16296 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16297 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
16298 return_label276: while(false);
16299 tracehead = trace.prev;
16300 return;
16301 }
16302 void parser___ReduceAction122___init(val_t self, int* init_table) {
16303 struct trace_t trace = {NULL, NULL, 6269, LOCATE_parser___ReduceAction122___init};
16304 val_t variable[2];
16305 struct WBT_ **closurevariable = NULL;
16306 trace.prev = tracehead; tracehead = &trace;
16307 trace.file = LOCATE_parser;
16308 /* Register variable[0]: Local variable */
16309 variable[0] = self;
16310 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction122].i]) return;
16311 /* Register variable[1]: Method return value and escape marker */
16312 return_label277: while(false);
16313 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction122].i] = 1;
16314 tracehead = trace.prev;
16315 return;
16316 }
16317 void parser___ReduceAction123___action(val_t self, val_t param0) {
16318 struct trace_t trace = {NULL, NULL, 6273, LOCATE_parser___ReduceAction123___action};
16319 val_t variable[24];
16320 struct WBT_ **closurevariable = NULL;
16321 trace.prev = tracehead; tracehead = &trace;
16322 trace.file = LOCATE_parser;
16323 /* Register variable[0]: Local variable */
16324 variable[0] = self;
16325 /* Register variable[1]: Local variable */
16326 variable[1] = param0;
16327 /* Register variable[2]: Method return value and escape marker */
16328 /* Register variable[3]: Local variable */
16329 variable[3] = NIT_NULL /*null*/;
16330 /* Register variable[4]: Local variable */
16331 /* Register variable[5]: Result */
16332 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16333 variable[4] = variable[5];
16334 /* Register variable[5]: Local variable */
16335 /* Register variable[6]: Result */
16336 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16337 variable[5] = variable[6];
16338 /* Register variable[6]: Local variable */
16339 /* Register variable[7]: Result */
16340 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16341 variable[6] = variable[7];
16342 /* Register variable[7]: Local variable */
16343 /* Register variable[8]: Result */
16344 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16345 variable[7] = variable[8];
16346 /* Register variable[8]: Local variable */
16347 /* Register variable[9]: Result */
16348 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16349 variable[8] = variable[9];
16350 /* Register variable[9]: Local variable */
16351 /* Register variable[10]: Result */
16352 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16353 variable[9] = variable[10];
16354 /* Register variable[10]: Local variable */
16355 /* Register variable[11]: Result */
16356 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16357 variable[10] = variable[11];
16358 /* Register variable[11]: Local variable */
16359 /* Register variable[12]: Result */
16360 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16361 variable[11] = variable[12];
16362 /* Register variable[12]: Local variable */
16363 variable[12] = variable[11] /*nodearraylist1*/;
16364 /* Register variable[13]: Result */
16365 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16366 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6285); nit_exit(1);}
16367 /* Register variable[13]: Local variable */
16368 variable[13] = variable[10] /*nodearraylist2*/;
16369 /* Register variable[14]: Result */
16370 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16371 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6287); nit_exit(1);}
16372 /* Register variable[14]: Local variable */
16373 variable[14] = variable[9] /*nodearraylist3*/;
16374 /* Register variable[15]: Result */
16375 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16376 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6289); nit_exit(1);}
16377 /* Register variable[15]: Local variable */
16378 /* Register variable[16]: Result */
16379 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
16380 variable[15] = variable[16];
16381 /* Register variable[16]: Local variable */
16382 variable[16] = variable[8] /*nodearraylist4*/;
16383 /* Register variable[17]: Result */
16384 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16385 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6295); nit_exit(1);}
16386 /* Register variable[17]: Local variable */
16387 /* Register variable[18]: Result */
16388 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
16389 variable[17] = variable[18];
16390 /* Register variable[18]: Local variable */
16391 variable[18] = variable[7] /*nodearraylist5*/;
16392 /* Register variable[19]: Result */
16393 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16394 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6301); nit_exit(1);}
16395 /* Register variable[19]: Local variable */
16396 variable[19] = variable[6] /*nodearraylist6*/;
16397 /* Register variable[20]: Result */
16398 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16399 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6303); nit_exit(1);}
16400 /* Register variable[20]: Local variable */
16401 variable[20] = variable[5] /*nodearraylist7*/;
16402 /* Register variable[21]: Result */
16403 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16404 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6305); nit_exit(1);}
16405 /* Register variable[21]: Local variable */
16406 variable[21] = variable[4] /*nodearraylist8*/;
16407 /* Register variable[22]: Result */
16408 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
16409 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction123___action, LOCATE_parser, 6307); nit_exit(1);}
16410 /* Register variable[22]: Local variable */
16411 /* Register variable[23]: Result */
16412 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16413 variable[22] = variable[23];
16414 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
16415 /* Register variable[23]: Result */
16416 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16417 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
16418 return_label278: while(false);
16419 tracehead = trace.prev;
16420 return;
16421 }
16422 void parser___ReduceAction123___init(val_t self, int* init_table) {
16423 struct trace_t trace = {NULL, NULL, 6323, LOCATE_parser___ReduceAction123___init};
16424 val_t variable[2];
16425 struct WBT_ **closurevariable = NULL;
16426 trace.prev = tracehead; tracehead = &trace;
16427 trace.file = LOCATE_parser;
16428 /* Register variable[0]: Local variable */
16429 variable[0] = self;
16430 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction123].i]) return;
16431 /* Register variable[1]: Method return value and escape marker */
16432 return_label279: while(false);
16433 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction123].i] = 1;
16434 tracehead = trace.prev;
16435 return;
16436 }
16437 void parser___ReduceAction124___action(val_t self, val_t param0) {
16438 struct trace_t trace = {NULL, NULL, 6327, LOCATE_parser___ReduceAction124___action};
16439 val_t variable[26];
16440 struct WBT_ **closurevariable = NULL;
16441 trace.prev = tracehead; tracehead = &trace;
16442 trace.file = LOCATE_parser;
16443 /* Register variable[0]: Local variable */
16444 variable[0] = self;
16445 /* Register variable[1]: Local variable */
16446 variable[1] = param0;
16447 /* Register variable[2]: Method return value and escape marker */
16448 /* Register variable[3]: Local variable */
16449 variable[3] = NIT_NULL /*null*/;
16450 /* Register variable[4]: Local variable */
16451 /* Register variable[5]: Result */
16452 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16453 variable[4] = variable[5];
16454 /* Register variable[5]: Local variable */
16455 /* Register variable[6]: Result */
16456 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16457 variable[5] = variable[6];
16458 /* Register variable[6]: Local variable */
16459 /* Register variable[7]: Result */
16460 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16461 variable[6] = variable[7];
16462 /* Register variable[7]: Local variable */
16463 /* Register variable[8]: Result */
16464 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16465 variable[7] = variable[8];
16466 /* Register variable[8]: Local variable */
16467 /* Register variable[9]: Result */
16468 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16469 variable[8] = variable[9];
16470 /* Register variable[9]: Local variable */
16471 /* Register variable[10]: Result */
16472 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16473 variable[9] = variable[10];
16474 /* Register variable[10]: Local variable */
16475 /* Register variable[11]: Result */
16476 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16477 variable[10] = variable[11];
16478 /* Register variable[11]: Local variable */
16479 /* Register variable[12]: Result */
16480 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16481 variable[11] = variable[12];
16482 /* Register variable[12]: Local variable */
16483 /* Register variable[13]: Result */
16484 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16485 variable[12] = variable[13];
16486 /* Register variable[13]: Local variable */
16487 variable[13] = variable[12] /*nodearraylist1*/;
16488 /* Register variable[14]: Result */
16489 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16490 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6340); nit_exit(1);}
16491 /* Register variable[14]: Local variable */
16492 variable[14] = variable[11] /*nodearraylist2*/;
16493 /* Register variable[15]: Result */
16494 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16495 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6342); nit_exit(1);}
16496 /* Register variable[15]: Local variable */
16497 variable[15] = variable[10] /*nodearraylist3*/;
16498 /* Register variable[16]: Result */
16499 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16500 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6344); nit_exit(1);}
16501 /* Register variable[16]: Local variable */
16502 /* Register variable[17]: Result */
16503 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
16504 variable[16] = variable[17];
16505 /* Register variable[17]: Local variable */
16506 variable[17] = variable[9] /*nodearraylist4*/;
16507 /* Register variable[18]: Result */
16508 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16509 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6350); nit_exit(1);}
16510 /* Register variable[18]: Local variable */
16511 variable[18] = variable[8] /*nodearraylist5*/;
16512 /* Register variable[19]: Result */
16513 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16514 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6352); nit_exit(1);}
16515 /* Register variable[19]: Local variable */
16516 /* Register variable[20]: Result */
16517 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
16518 variable[19] = variable[20];
16519 /* Register variable[20]: Local variable */
16520 variable[20] = variable[7] /*nodearraylist6*/;
16521 /* Register variable[21]: Result */
16522 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16523 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6358); nit_exit(1);}
16524 /* Register variable[21]: Local variable */
16525 variable[21] = variable[6] /*nodearraylist7*/;
16526 /* Register variable[22]: Result */
16527 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16528 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6360); nit_exit(1);}
16529 /* Register variable[22]: Local variable */
16530 variable[22] = variable[5] /*nodearraylist8*/;
16531 /* Register variable[23]: Result */
16532 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16533 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6362); nit_exit(1);}
16534 /* Register variable[23]: Local variable */
16535 variable[23] = variable[4] /*nodearraylist9*/;
16536 /* Register variable[24]: Result */
16537 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
16538 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction124___action, LOCATE_parser, 6364); nit_exit(1);}
16539 /* Register variable[24]: Local variable */
16540 /* Register variable[25]: Result */
16541 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16542 variable[24] = variable[25];
16543 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
16544 /* Register variable[25]: Result */
16545 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16546 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
16547 return_label280: while(false);
16548 tracehead = trace.prev;
16549 return;
16550 }
16551 void parser___ReduceAction124___init(val_t self, int* init_table) {
16552 struct trace_t trace = {NULL, NULL, 6380, LOCATE_parser___ReduceAction124___init};
16553 val_t variable[2];
16554 struct WBT_ **closurevariable = NULL;
16555 trace.prev = tracehead; tracehead = &trace;
16556 trace.file = LOCATE_parser;
16557 /* Register variable[0]: Local variable */
16558 variable[0] = self;
16559 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction124].i]) return;
16560 /* Register variable[1]: Method return value and escape marker */
16561 return_label281: while(false);
16562 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction124].i] = 1;
16563 tracehead = trace.prev;
16564 return;
16565 }
16566 void parser___ReduceAction125___action(val_t self, val_t param0) {
16567 struct trace_t trace = {NULL, NULL, 6384, LOCATE_parser___ReduceAction125___action};
16568 val_t variable[21];
16569 struct WBT_ **closurevariable = NULL;
16570 trace.prev = tracehead; tracehead = &trace;
16571 trace.file = LOCATE_parser;
16572 /* Register variable[0]: Local variable */
16573 variable[0] = self;
16574 /* Register variable[1]: Local variable */
16575 variable[1] = param0;
16576 /* Register variable[2]: Method return value and escape marker */
16577 /* Register variable[3]: Local variable */
16578 variable[3] = NIT_NULL /*null*/;
16579 /* Register variable[4]: Local variable */
16580 /* Register variable[5]: Result */
16581 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16582 variable[4] = variable[5];
16583 /* Register variable[5]: Local variable */
16584 /* Register variable[6]: Result */
16585 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16586 variable[5] = variable[6];
16587 /* Register variable[6]: Local variable */
16588 /* Register variable[7]: Result */
16589 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16590 variable[6] = variable[7];
16591 /* Register variable[7]: Local variable */
16592 /* Register variable[8]: Result */
16593 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16594 variable[7] = variable[8];
16595 /* Register variable[8]: Local variable */
16596 /* Register variable[9]: Result */
16597 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16598 variable[8] = variable[9];
16599 /* Register variable[9]: Local variable */
16600 /* Register variable[10]: Result */
16601 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16602 variable[9] = variable[10];
16603 /* Register variable[10]: Local variable */
16604 /* Register variable[11]: Result */
16605 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16606 variable[10] = variable[11];
16607 /* Register variable[11]: Local variable */
16608 variable[11] = variable[10] /*nodearraylist1*/;
16609 /* Register variable[12]: Result */
16610 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16611 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6395); nit_exit(1);}
16612 /* Register variable[12]: Local variable */
16613 variable[12] = variable[9] /*nodearraylist2*/;
16614 /* Register variable[13]: Result */
16615 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16616 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6397); nit_exit(1);}
16617 /* Register variable[13]: Local variable */
16618 variable[13] = variable[8] /*nodearraylist3*/;
16619 /* Register variable[14]: Result */
16620 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
16621 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6399); nit_exit(1);}
16622 /* Register variable[14]: Local variable */
16623 /* Register variable[15]: Result */
16624 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
16625 variable[14] = variable[15];
16626 /* Register variable[15]: Local variable */
16627 variable[15] = variable[7] /*nodearraylist4*/;
16628 /* Register variable[16]: Result */
16629 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16630 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6405); nit_exit(1);}
16631 /* Register variable[16]: Local variable */
16632 variable[16] = variable[6] /*nodearraylist5*/;
16633 /* Register variable[17]: Result */
16634 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16635 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6407); nit_exit(1);}
16636 /* Register variable[17]: Local variable */
16637 variable[17] = variable[5] /*nodearraylist6*/;
16638 /* Register variable[18]: Result */
16639 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16640 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6409); nit_exit(1);}
16641 /* Register variable[18]: Local variable */
16642 variable[18] = variable[4] /*nodearraylist7*/;
16643 /* Register variable[19]: Result */
16644 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
16645 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction125___action, LOCATE_parser, 6411); nit_exit(1);}
16646 /* Register variable[19]: Local variable */
16647 /* Register variable[20]: Result */
16648 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16649 variable[19] = variable[20];
16650 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
16651 /* Register variable[20]: Result */
16652 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16653 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
16654 return_label282: while(false);
16655 tracehead = trace.prev;
16656 return;
16657 }
16658 void parser___ReduceAction125___init(val_t self, int* init_table) {
16659 struct trace_t trace = {NULL, NULL, 6427, LOCATE_parser___ReduceAction125___init};
16660 val_t variable[2];
16661 struct WBT_ **closurevariable = NULL;
16662 trace.prev = tracehead; tracehead = &trace;
16663 trace.file = LOCATE_parser;
16664 /* Register variable[0]: Local variable */
16665 variable[0] = self;
16666 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction125].i]) return;
16667 /* Register variable[1]: Method return value and escape marker */
16668 return_label283: while(false);
16669 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction125].i] = 1;
16670 tracehead = trace.prev;
16671 return;
16672 }
16673 void parser___ReduceAction126___action(val_t self, val_t param0) {
16674 struct trace_t trace = {NULL, NULL, 6431, LOCATE_parser___ReduceAction126___action};
16675 val_t variable[19];
16676 struct WBT_ **closurevariable = NULL;
16677 trace.prev = tracehead; tracehead = &trace;
16678 trace.file = LOCATE_parser;
16679 /* Register variable[0]: Local variable */
16680 variable[0] = self;
16681 /* Register variable[1]: Local variable */
16682 variable[1] = param0;
16683 /* Register variable[2]: Method return value and escape marker */
16684 /* Register variable[3]: Local variable */
16685 variable[3] = NIT_NULL /*null*/;
16686 /* Register variable[4]: Local variable */
16687 /* Register variable[5]: Result */
16688 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16689 variable[4] = variable[5];
16690 /* Register variable[5]: Local variable */
16691 /* Register variable[6]: Result */
16692 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16693 variable[5] = variable[6];
16694 /* Register variable[6]: Local variable */
16695 /* Register variable[7]: Result */
16696 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16697 variable[6] = variable[7];
16698 /* Register variable[7]: Local variable */
16699 /* Register variable[8]: Result */
16700 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16701 variable[7] = variable[8];
16702 /* Register variable[8]: Local variable */
16703 /* Register variable[9]: Result */
16704 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16705 variable[8] = variable[9];
16706 /* Register variable[9]: Local variable */
16707 /* Register variable[10]: Result */
16708 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16709 variable[9] = variable[10];
16710 /* Register variable[10]: Local variable */
16711 variable[10] = variable[9] /*nodearraylist1*/;
16712 /* Register variable[11]: Result */
16713 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16714 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6441); nit_exit(1);}
16715 /* Register variable[11]: Local variable */
16716 variable[11] = variable[8] /*nodearraylist2*/;
16717 /* Register variable[12]: Result */
16718 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16719 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6443); nit_exit(1);}
16720 /* Register variable[12]: Local variable */
16721 /* Register variable[13]: Result */
16722 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/) /*new AWriteAble*/;
16723 variable[12] = variable[13];
16724 /* Register variable[13]: Local variable */
16725 variable[13] = variable[7] /*nodearraylist3*/;
16726 /* Register variable[14]: Result */
16727 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16728 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6449); nit_exit(1);}
16729 /* Register variable[14]: Local variable */
16730 variable[14] = variable[6] /*nodearraylist4*/;
16731 /* Register variable[15]: Result */
16732 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16733 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6451); nit_exit(1);}
16734 /* Register variable[15]: Local variable */
16735 variable[15] = variable[5] /*nodearraylist5*/;
16736 /* Register variable[16]: Result */
16737 variable[16] = TAG_Bool(( variable[15] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16738 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6453); nit_exit(1);}
16739 /* Register variable[16]: Local variable */
16740 variable[16] = variable[4] /*nodearraylist6*/;
16741 /* Register variable[17]: Result */
16742 variable[17] = TAG_Bool(( variable[16] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
16743 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction126___action, LOCATE_parser, 6455); nit_exit(1);}
16744 /* Register variable[17]: Local variable */
16745 /* Register variable[18]: Result */
16746 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*/, NIT_NULL /*null*/, variable[15] /*tattridnode11*/, variable[16] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16747 variable[17] = variable[18];
16748 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
16749 /* Register variable[18]: Result */
16750 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16751 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
16752 return_label284: while(false);
16753 tracehead = trace.prev;
16754 return;
16755 }
16756 void parser___ReduceAction126___init(val_t self, int* init_table) {
16757 struct trace_t trace = {NULL, NULL, 6471, LOCATE_parser___ReduceAction126___init};
16758 val_t variable[2];
16759 struct WBT_ **closurevariable = NULL;
16760 trace.prev = tracehead; tracehead = &trace;
16761 trace.file = LOCATE_parser;
16762 /* Register variable[0]: Local variable */
16763 variable[0] = self;
16764 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction126].i]) return;
16765 /* Register variable[1]: Method return value and escape marker */
16766 return_label285: while(false);
16767 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction126].i] = 1;
16768 tracehead = trace.prev;
16769 return;
16770 }
16771 void parser___ReduceAction127___action(val_t self, val_t param0) {
16772 struct trace_t trace = {NULL, NULL, 6475, LOCATE_parser___ReduceAction127___action};
16773 val_t variable[21];
16774 struct WBT_ **closurevariable = NULL;
16775 trace.prev = tracehead; tracehead = &trace;
16776 trace.file = LOCATE_parser;
16777 /* Register variable[0]: Local variable */
16778 variable[0] = self;
16779 /* Register variable[1]: Local variable */
16780 variable[1] = param0;
16781 /* Register variable[2]: Method return value and escape marker */
16782 /* Register variable[3]: Local variable */
16783 variable[3] = NIT_NULL /*null*/;
16784 /* Register variable[4]: Local variable */
16785 /* Register variable[5]: Result */
16786 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16787 variable[4] = variable[5];
16788 /* Register variable[5]: Local variable */
16789 /* Register variable[6]: Result */
16790 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16791 variable[5] = variable[6];
16792 /* Register variable[6]: Local variable */
16793 /* Register variable[7]: Result */
16794 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16795 variable[6] = variable[7];
16796 /* Register variable[7]: Local variable */
16797 /* Register variable[8]: Result */
16798 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16799 variable[7] = variable[8];
16800 /* Register variable[8]: Local variable */
16801 /* Register variable[9]: Result */
16802 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16803 variable[8] = variable[9];
16804 /* Register variable[9]: Local variable */
16805 /* Register variable[10]: Result */
16806 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16807 variable[9] = variable[10];
16808 /* Register variable[10]: Local variable */
16809 /* Register variable[11]: Result */
16810 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16811 variable[10] = variable[11];
16812 /* Register variable[11]: Local variable */
16813 variable[11] = variable[10] /*nodearraylist1*/;
16814 /* Register variable[12]: Result */
16815 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16816 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6486); nit_exit(1);}
16817 /* Register variable[12]: Local variable */
16818 variable[12] = variable[9] /*nodearraylist2*/;
16819 /* Register variable[13]: Result */
16820 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16821 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6488); nit_exit(1);}
16822 /* Register variable[13]: Local variable */
16823 variable[13] = variable[8] /*nodearraylist3*/;
16824 /* Register variable[14]: Result */
16825 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16826 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6490); nit_exit(1);}
16827 /* Register variable[14]: Local variable */
16828 /* Register variable[15]: Result */
16829 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
16830 variable[14] = variable[15];
16831 /* Register variable[15]: Local variable */
16832 variable[15] = variable[7] /*nodearraylist4*/;
16833 /* Register variable[16]: Result */
16834 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16835 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6496); nit_exit(1);}
16836 /* Register variable[16]: Local variable */
16837 variable[16] = variable[6] /*nodearraylist5*/;
16838 /* Register variable[17]: Result */
16839 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16840 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6498); nit_exit(1);}
16841 /* Register variable[17]: Local variable */
16842 variable[17] = variable[5] /*nodearraylist6*/;
16843 /* Register variable[18]: Result */
16844 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16845 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6500); nit_exit(1);}
16846 /* Register variable[18]: Local variable */
16847 variable[18] = variable[4] /*nodearraylist7*/;
16848 /* Register variable[19]: Result */
16849 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
16850 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction127___action, LOCATE_parser, 6502); nit_exit(1);}
16851 /* Register variable[19]: Local variable */
16852 /* Register variable[20]: Result */
16853 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16854 variable[19] = variable[20];
16855 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
16856 /* Register variable[20]: Result */
16857 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16858 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
16859 return_label286: while(false);
16860 tracehead = trace.prev;
16861 return;
16862 }
16863 void parser___ReduceAction127___init(val_t self, int* init_table) {
16864 struct trace_t trace = {NULL, NULL, 6518, LOCATE_parser___ReduceAction127___init};
16865 val_t variable[2];
16866 struct WBT_ **closurevariable = NULL;
16867 trace.prev = tracehead; tracehead = &trace;
16868 trace.file = LOCATE_parser;
16869 /* Register variable[0]: Local variable */
16870 variable[0] = self;
16871 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction127].i]) return;
16872 /* Register variable[1]: Method return value and escape marker */
16873 return_label287: while(false);
16874 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction127].i] = 1;
16875 tracehead = trace.prev;
16876 return;
16877 }
16878 void parser___ReduceAction128___action(val_t self, val_t param0) {
16879 struct trace_t trace = {NULL, NULL, 6522, LOCATE_parser___ReduceAction128___action};
16880 val_t variable[16];
16881 struct WBT_ **closurevariable = NULL;
16882 trace.prev = tracehead; tracehead = &trace;
16883 trace.file = LOCATE_parser;
16884 /* Register variable[0]: Local variable */
16885 variable[0] = self;
16886 /* Register variable[1]: Local variable */
16887 variable[1] = param0;
16888 /* Register variable[2]: Method return value and escape marker */
16889 /* Register variable[3]: Local variable */
16890 variable[3] = NIT_NULL /*null*/;
16891 /* Register variable[4]: Local variable */
16892 /* Register variable[5]: Result */
16893 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16894 variable[4] = variable[5];
16895 /* Register variable[5]: Local variable */
16896 /* Register variable[6]: Result */
16897 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16898 variable[5] = variable[6];
16899 /* Register variable[6]: Local variable */
16900 /* Register variable[7]: Result */
16901 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16902 variable[6] = variable[7];
16903 /* Register variable[7]: Local variable */
16904 /* Register variable[8]: Result */
16905 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16906 variable[7] = variable[8];
16907 /* Register variable[8]: Local variable */
16908 /* Register variable[9]: Result */
16909 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16910 variable[8] = variable[9];
16911 /* Register variable[9]: Local variable */
16912 variable[9] = variable[8] /*nodearraylist1*/;
16913 /* Register variable[10]: Result */
16914 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
16915 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6531); nit_exit(1);}
16916 /* Register variable[10]: Local variable */
16917 variable[10] = variable[7] /*nodearraylist2*/;
16918 /* Register variable[11]: Result */
16919 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
16920 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6533); nit_exit(1);}
16921 /* Register variable[11]: Local variable */
16922 variable[11] = variable[6] /*nodearraylist3*/;
16923 /* Register variable[12]: Result */
16924 variable[12] = TAG_Bool(( variable[11] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
16925 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6535); nit_exit(1);}
16926 /* Register variable[12]: Local variable */
16927 variable[12] = variable[5] /*nodearraylist4*/;
16928 /* Register variable[13]: Result */
16929 variable[13] = TAG_Bool(( variable[12] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[12] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
16930 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6537); nit_exit(1);}
16931 /* Register variable[13]: Local variable */
16932 variable[13] = variable[4] /*nodearraylist5*/;
16933 /* Register variable[14]: Result */
16934 variable[14] = TAG_Bool(( variable[13] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
16935 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction128___action, LOCATE_parser, 6539); nit_exit(1);}
16936 /* Register variable[14]: Local variable */
16937 /* Register variable[15]: Result */
16938 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*/, NIT_NULL /*null*/, variable[12] /*tattridnode9*/, variable[13] /*ptypenode10*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
16939 variable[14] = variable[15];
16940 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
16941 /* Register variable[15]: Result */
16942 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
16943 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
16944 return_label288: while(false);
16945 tracehead = trace.prev;
16946 return;
16947 }
16948 void parser___ReduceAction128___init(val_t self, int* init_table) {
16949 struct trace_t trace = {NULL, NULL, 6555, LOCATE_parser___ReduceAction128___init};
16950 val_t variable[2];
16951 struct WBT_ **closurevariable = NULL;
16952 trace.prev = tracehead; tracehead = &trace;
16953 trace.file = LOCATE_parser;
16954 /* Register variable[0]: Local variable */
16955 variable[0] = self;
16956 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction128].i]) return;
16957 /* Register variable[1]: Method return value and escape marker */
16958 return_label289: while(false);
16959 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction128].i] = 1;
16960 tracehead = trace.prev;
16961 return;
16962 }
16963 void parser___ReduceAction129___action(val_t self, val_t param0) {
16964 struct trace_t trace = {NULL, NULL, 6559, LOCATE_parser___ReduceAction129___action};
16965 val_t variable[24];
16966 struct WBT_ **closurevariable = NULL;
16967 trace.prev = tracehead; tracehead = &trace;
16968 trace.file = LOCATE_parser;
16969 /* Register variable[0]: Local variable */
16970 variable[0] = self;
16971 /* Register variable[1]: Local variable */
16972 variable[1] = param0;
16973 /* Register variable[2]: Method return value and escape marker */
16974 /* Register variable[3]: Local variable */
16975 variable[3] = NIT_NULL /*null*/;
16976 /* Register variable[4]: Local variable */
16977 /* Register variable[5]: Result */
16978 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16979 variable[4] = variable[5];
16980 /* Register variable[5]: Local variable */
16981 /* Register variable[6]: Result */
16982 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16983 variable[5] = variable[6];
16984 /* Register variable[6]: Local variable */
16985 /* Register variable[7]: Result */
16986 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16987 variable[6] = variable[7];
16988 /* Register variable[7]: Local variable */
16989 /* Register variable[8]: Result */
16990 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16991 variable[7] = variable[8];
16992 /* Register variable[8]: Local variable */
16993 /* Register variable[9]: Result */
16994 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16995 variable[8] = variable[9];
16996 /* Register variable[9]: Local variable */
16997 /* Register variable[10]: Result */
16998 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
16999 variable[9] = variable[10];
17000 /* Register variable[10]: Local variable */
17001 /* Register variable[11]: Result */
17002 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17003 variable[10] = variable[11];
17004 /* Register variable[11]: Local variable */
17005 /* Register variable[12]: Result */
17006 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17007 variable[11] = variable[12];
17008 /* Register variable[12]: Local variable */
17009 variable[12] = variable[11] /*nodearraylist1*/;
17010 /* Register variable[13]: Result */
17011 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17012 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6571); nit_exit(1);}
17013 /* Register variable[13]: Local variable */
17014 variable[13] = variable[10] /*nodearraylist2*/;
17015 /* Register variable[14]: Result */
17016 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17017 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6573); nit_exit(1);}
17018 /* Register variable[14]: Local variable */
17019 /* Register variable[15]: Result */
17020 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
17021 variable[14] = variable[15];
17022 /* Register variable[15]: Local variable */
17023 variable[15] = variable[9] /*nodearraylist3*/;
17024 /* Register variable[16]: Result */
17025 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17026 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6579); nit_exit(1);}
17027 /* Register variable[16]: Local variable */
17028 /* Register variable[17]: Result */
17029 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
17030 variable[16] = variable[17];
17031 /* Register variable[17]: Local variable */
17032 variable[17] = variable[8] /*nodearraylist4*/;
17033 /* Register variable[18]: Result */
17034 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17035 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6585); nit_exit(1);}
17036 /* Register variable[18]: Local variable */
17037 variable[18] = variable[7] /*nodearraylist5*/;
17038 /* Register variable[19]: Result */
17039 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17040 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6587); nit_exit(1);}
17041 /* Register variable[19]: Local variable */
17042 variable[19] = variable[6] /*nodearraylist6*/;
17043 /* Register variable[20]: Result */
17044 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17045 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6589); nit_exit(1);}
17046 /* Register variable[20]: Local variable */
17047 variable[20] = variable[5] /*nodearraylist7*/;
17048 /* Register variable[21]: Result */
17049 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17050 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6591); nit_exit(1);}
17051 /* Register variable[21]: Local variable */
17052 variable[21] = variable[4] /*nodearraylist8*/;
17053 /* Register variable[22]: Result */
17054 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
17055 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction129___action, LOCATE_parser, 6593); nit_exit(1);}
17056 /* Register variable[22]: Local variable */
17057 /* Register variable[23]: Result */
17058 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17059 variable[22] = variable[23];
17060 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
17061 /* Register variable[23]: Result */
17062 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17063 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
17064 return_label290: while(false);
17065 tracehead = trace.prev;
17066 return;
17067 }
17068 void parser___ReduceAction129___init(val_t self, int* init_table) {
17069 struct trace_t trace = {NULL, NULL, 6609, LOCATE_parser___ReduceAction129___init};
17070 val_t variable[2];
17071 struct WBT_ **closurevariable = NULL;
17072 trace.prev = tracehead; tracehead = &trace;
17073 trace.file = LOCATE_parser;
17074 /* Register variable[0]: Local variable */
17075 variable[0] = self;
17076 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction129].i]) return;
17077 /* Register variable[1]: Method return value and escape marker */
17078 return_label291: while(false);
17079 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction129].i] = 1;
17080 tracehead = trace.prev;
17081 return;
17082 }
17083 void parser___ReduceAction130___action(val_t self, val_t param0) {
17084 struct trace_t trace = {NULL, NULL, 6613, LOCATE_parser___ReduceAction130___action};
17085 val_t variable[26];
17086 struct WBT_ **closurevariable = NULL;
17087 trace.prev = tracehead; tracehead = &trace;
17088 trace.file = LOCATE_parser;
17089 /* Register variable[0]: Local variable */
17090 variable[0] = self;
17091 /* Register variable[1]: Local variable */
17092 variable[1] = param0;
17093 /* Register variable[2]: Method return value and escape marker */
17094 /* Register variable[3]: Local variable */
17095 variable[3] = NIT_NULL /*null*/;
17096 /* Register variable[4]: Local variable */
17097 /* Register variable[5]: Result */
17098 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17099 variable[4] = variable[5];
17100 /* Register variable[5]: Local variable */
17101 /* Register variable[6]: Result */
17102 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17103 variable[5] = variable[6];
17104 /* Register variable[6]: Local variable */
17105 /* Register variable[7]: Result */
17106 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17107 variable[6] = variable[7];
17108 /* Register variable[7]: Local variable */
17109 /* Register variable[8]: Result */
17110 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17111 variable[7] = variable[8];
17112 /* Register variable[8]: Local variable */
17113 /* Register variable[9]: Result */
17114 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17115 variable[8] = variable[9];
17116 /* Register variable[9]: Local variable */
17117 /* Register variable[10]: Result */
17118 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17119 variable[9] = variable[10];
17120 /* Register variable[10]: Local variable */
17121 /* Register variable[11]: Result */
17122 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17123 variable[10] = variable[11];
17124 /* Register variable[11]: Local variable */
17125 /* Register variable[12]: Result */
17126 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17127 variable[11] = variable[12];
17128 /* Register variable[12]: Local variable */
17129 /* Register variable[13]: Result */
17130 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17131 variable[12] = variable[13];
17132 /* Register variable[13]: Local variable */
17133 variable[13] = variable[12] /*nodearraylist1*/;
17134 /* Register variable[14]: Result */
17135 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17136 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6626); nit_exit(1);}
17137 /* Register variable[14]: Local variable */
17138 variable[14] = variable[11] /*nodearraylist2*/;
17139 /* Register variable[15]: Result */
17140 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17141 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6628); nit_exit(1);}
17142 /* Register variable[15]: Local variable */
17143 /* Register variable[16]: Result */
17144 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
17145 variable[15] = variable[16];
17146 /* Register variable[16]: Local variable */
17147 variable[16] = variable[10] /*nodearraylist3*/;
17148 /* Register variable[17]: Result */
17149 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17150 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6634); nit_exit(1);}
17151 /* Register variable[17]: Local variable */
17152 variable[17] = variable[9] /*nodearraylist4*/;
17153 /* Register variable[18]: Result */
17154 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17155 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6636); nit_exit(1);}
17156 /* Register variable[18]: Local variable */
17157 /* Register variable[19]: Result */
17158 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
17159 variable[18] = variable[19];
17160 /* Register variable[19]: Local variable */
17161 variable[19] = variable[8] /*nodearraylist5*/;
17162 /* Register variable[20]: Result */
17163 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17164 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6642); nit_exit(1);}
17165 /* Register variable[20]: Local variable */
17166 variable[20] = variable[7] /*nodearraylist6*/;
17167 /* Register variable[21]: Result */
17168 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17169 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6644); nit_exit(1);}
17170 /* Register variable[21]: Local variable */
17171 variable[21] = variable[6] /*nodearraylist7*/;
17172 /* Register variable[22]: Result */
17173 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17174 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6646); nit_exit(1);}
17175 /* Register variable[22]: Local variable */
17176 variable[22] = variable[5] /*nodearraylist8*/;
17177 /* Register variable[23]: Result */
17178 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17179 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6648); nit_exit(1);}
17180 /* Register variable[23]: Local variable */
17181 variable[23] = variable[4] /*nodearraylist9*/;
17182 /* Register variable[24]: Result */
17183 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
17184 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction130___action, LOCATE_parser, 6650); nit_exit(1);}
17185 /* Register variable[24]: Local variable */
17186 /* Register variable[25]: Result */
17187 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17188 variable[24] = variable[25];
17189 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
17190 /* Register variable[25]: Result */
17191 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17192 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
17193 return_label292: while(false);
17194 tracehead = trace.prev;
17195 return;
17196 }
17197 void parser___ReduceAction130___init(val_t self, int* init_table) {
17198 struct trace_t trace = {NULL, NULL, 6666, LOCATE_parser___ReduceAction130___init};
17199 val_t variable[2];
17200 struct WBT_ **closurevariable = NULL;
17201 trace.prev = tracehead; tracehead = &trace;
17202 trace.file = LOCATE_parser;
17203 /* Register variable[0]: Local variable */
17204 variable[0] = self;
17205 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction130].i]) return;
17206 /* Register variable[1]: Method return value and escape marker */
17207 return_label293: while(false);
17208 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction130].i] = 1;
17209 tracehead = trace.prev;
17210 return;
17211 }
17212 void parser___ReduceAction131___action(val_t self, val_t param0) {
17213 struct trace_t trace = {NULL, NULL, 6670, LOCATE_parser___ReduceAction131___action};
17214 val_t variable[21];
17215 struct WBT_ **closurevariable = NULL;
17216 trace.prev = tracehead; tracehead = &trace;
17217 trace.file = LOCATE_parser;
17218 /* Register variable[0]: Local variable */
17219 variable[0] = self;
17220 /* Register variable[1]: Local variable */
17221 variable[1] = param0;
17222 /* Register variable[2]: Method return value and escape marker */
17223 /* Register variable[3]: Local variable */
17224 variable[3] = NIT_NULL /*null*/;
17225 /* Register variable[4]: Local variable */
17226 /* Register variable[5]: Result */
17227 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17228 variable[4] = variable[5];
17229 /* Register variable[5]: Local variable */
17230 /* Register variable[6]: Result */
17231 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17232 variable[5] = variable[6];
17233 /* Register variable[6]: Local variable */
17234 /* Register variable[7]: Result */
17235 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17236 variable[6] = variable[7];
17237 /* Register variable[7]: Local variable */
17238 /* Register variable[8]: Result */
17239 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17240 variable[7] = variable[8];
17241 /* Register variable[8]: Local variable */
17242 /* Register variable[9]: Result */
17243 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17244 variable[8] = variable[9];
17245 /* Register variable[9]: Local variable */
17246 /* Register variable[10]: Result */
17247 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17248 variable[9] = variable[10];
17249 /* Register variable[10]: Local variable */
17250 /* Register variable[11]: Result */
17251 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17252 variable[10] = variable[11];
17253 /* Register variable[11]: Local variable */
17254 variable[11] = variable[10] /*nodearraylist1*/;
17255 /* Register variable[12]: Result */
17256 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17257 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6681); nit_exit(1);}
17258 /* Register variable[12]: Local variable */
17259 variable[12] = variable[9] /*nodearraylist2*/;
17260 /* Register variable[13]: Result */
17261 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17262 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6683); nit_exit(1);}
17263 /* Register variable[13]: Local variable */
17264 /* Register variable[14]: Result */
17265 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
17266 variable[13] = variable[14];
17267 /* Register variable[14]: Local variable */
17268 variable[14] = variable[8] /*nodearraylist3*/;
17269 /* Register variable[15]: Result */
17270 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17271 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6689); nit_exit(1);}
17272 /* Register variable[15]: Local variable */
17273 variable[15] = variable[7] /*nodearraylist4*/;
17274 /* Register variable[16]: Result */
17275 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17276 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6691); nit_exit(1);}
17277 /* Register variable[16]: Local variable */
17278 variable[16] = variable[6] /*nodearraylist5*/;
17279 /* Register variable[17]: Result */
17280 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17281 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6693); nit_exit(1);}
17282 /* Register variable[17]: Local variable */
17283 variable[17] = variable[5] /*nodearraylist6*/;
17284 /* Register variable[18]: Result */
17285 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17286 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6695); nit_exit(1);}
17287 /* Register variable[18]: Local variable */
17288 variable[18] = variable[4] /*nodearraylist7*/;
17289 /* Register variable[19]: Result */
17290 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
17291 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction131___action, LOCATE_parser, 6697); nit_exit(1);}
17292 /* Register variable[19]: Local variable */
17293 /* Register variable[20]: Result */
17294 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17295 variable[19] = variable[20];
17296 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
17297 /* Register variable[20]: Result */
17298 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17299 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
17300 return_label294: while(false);
17301 tracehead = trace.prev;
17302 return;
17303 }
17304 void parser___ReduceAction131___init(val_t self, int* init_table) {
17305 struct trace_t trace = {NULL, NULL, 6713, LOCATE_parser___ReduceAction131___init};
17306 val_t variable[2];
17307 struct WBT_ **closurevariable = NULL;
17308 trace.prev = tracehead; tracehead = &trace;
17309 trace.file = LOCATE_parser;
17310 /* Register variable[0]: Local variable */
17311 variable[0] = self;
17312 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction131].i]) return;
17313 /* Register variable[1]: Method return value and escape marker */
17314 return_label295: while(false);
17315 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction131].i] = 1;
17316 tracehead = trace.prev;
17317 return;
17318 }
17319 void parser___ReduceAction132___action(val_t self, val_t param0) {
17320 struct trace_t trace = {NULL, NULL, 6717, LOCATE_parser___ReduceAction132___action};
17321 val_t variable[26];
17322 struct WBT_ **closurevariable = NULL;
17323 trace.prev = tracehead; tracehead = &trace;
17324 trace.file = LOCATE_parser;
17325 /* Register variable[0]: Local variable */
17326 variable[0] = self;
17327 /* Register variable[1]: Local variable */
17328 variable[1] = param0;
17329 /* Register variable[2]: Method return value and escape marker */
17330 /* Register variable[3]: Local variable */
17331 variable[3] = NIT_NULL /*null*/;
17332 /* Register variable[4]: Local variable */
17333 /* Register variable[5]: Result */
17334 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17335 variable[4] = variable[5];
17336 /* Register variable[5]: Local variable */
17337 /* Register variable[6]: Result */
17338 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17339 variable[5] = variable[6];
17340 /* Register variable[6]: Local variable */
17341 /* Register variable[7]: Result */
17342 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17343 variable[6] = variable[7];
17344 /* Register variable[7]: Local variable */
17345 /* Register variable[8]: Result */
17346 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17347 variable[7] = variable[8];
17348 /* Register variable[8]: Local variable */
17349 /* Register variable[9]: Result */
17350 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17351 variable[8] = variable[9];
17352 /* Register variable[9]: Local variable */
17353 /* Register variable[10]: Result */
17354 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17355 variable[9] = variable[10];
17356 /* Register variable[10]: Local variable */
17357 /* Register variable[11]: Result */
17358 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17359 variable[10] = variable[11];
17360 /* Register variable[11]: Local variable */
17361 /* Register variable[12]: Result */
17362 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17363 variable[11] = variable[12];
17364 /* Register variable[12]: Local variable */
17365 /* Register variable[13]: Result */
17366 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17367 variable[12] = variable[13];
17368 /* Register variable[13]: Local variable */
17369 variable[13] = variable[12] /*nodearraylist1*/;
17370 /* Register variable[14]: Result */
17371 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17372 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6730); nit_exit(1);}
17373 /* Register variable[14]: Local variable */
17374 variable[14] = variable[11] /*nodearraylist2*/;
17375 /* Register variable[15]: Result */
17376 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17377 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6732); nit_exit(1);}
17378 /* Register variable[15]: Local variable */
17379 variable[15] = variable[10] /*nodearraylist3*/;
17380 /* Register variable[16]: Result */
17381 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17382 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6734); nit_exit(1);}
17383 /* Register variable[16]: Local variable */
17384 /* Register variable[17]: Result */
17385 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
17386 variable[16] = variable[17];
17387 /* Register variable[17]: Local variable */
17388 variable[17] = variable[9] /*nodearraylist4*/;
17389 /* Register variable[18]: Result */
17390 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17391 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6740); nit_exit(1);}
17392 /* Register variable[18]: Local variable */
17393 /* Register variable[19]: Result */
17394 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
17395 variable[18] = variable[19];
17396 /* Register variable[19]: Local variable */
17397 variable[19] = variable[8] /*nodearraylist5*/;
17398 /* Register variable[20]: Result */
17399 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17400 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6746); nit_exit(1);}
17401 /* Register variable[20]: Local variable */
17402 variable[20] = variable[7] /*nodearraylist6*/;
17403 /* Register variable[21]: Result */
17404 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17405 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6748); nit_exit(1);}
17406 /* Register variable[21]: Local variable */
17407 variable[21] = variable[6] /*nodearraylist7*/;
17408 /* Register variable[22]: Result */
17409 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17410 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6750); nit_exit(1);}
17411 /* Register variable[22]: Local variable */
17412 variable[22] = variable[5] /*nodearraylist8*/;
17413 /* Register variable[23]: Result */
17414 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17415 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6752); nit_exit(1);}
17416 /* Register variable[23]: Local variable */
17417 variable[23] = variable[4] /*nodearraylist9*/;
17418 /* Register variable[24]: Result */
17419 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
17420 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction132___action, LOCATE_parser, 6754); nit_exit(1);}
17421 /* Register variable[24]: Local variable */
17422 /* Register variable[25]: Result */
17423 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17424 variable[24] = variable[25];
17425 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
17426 /* Register variable[25]: Result */
17427 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17428 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
17429 return_label296: while(false);
17430 tracehead = trace.prev;
17431 return;
17432 }
17433 void parser___ReduceAction132___init(val_t self, int* init_table) {
17434 struct trace_t trace = {NULL, NULL, 6770, LOCATE_parser___ReduceAction132___init};
17435 val_t variable[2];
17436 struct WBT_ **closurevariable = NULL;
17437 trace.prev = tracehead; tracehead = &trace;
17438 trace.file = LOCATE_parser;
17439 /* Register variable[0]: Local variable */
17440 variable[0] = self;
17441 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction132].i]) return;
17442 /* Register variable[1]: Method return value and escape marker */
17443 return_label297: while(false);
17444 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction132].i] = 1;
17445 tracehead = trace.prev;
17446 return;
17447 }
17448 void parser___ReduceAction133___action(val_t self, val_t param0) {
17449 struct trace_t trace = {NULL, NULL, 6774, LOCATE_parser___ReduceAction133___action};
17450 val_t variable[28];
17451 struct WBT_ **closurevariable = NULL;
17452 trace.prev = tracehead; tracehead = &trace;
17453 trace.file = LOCATE_parser;
17454 /* Register variable[0]: Local variable */
17455 variable[0] = self;
17456 /* Register variable[1]: Local variable */
17457 variable[1] = param0;
17458 /* Register variable[2]: Method return value and escape marker */
17459 /* Register variable[3]: Local variable */
17460 variable[3] = NIT_NULL /*null*/;
17461 /* Register variable[4]: Local variable */
17462 /* Register variable[5]: Result */
17463 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17464 variable[4] = variable[5];
17465 /* Register variable[5]: Local variable */
17466 /* Register variable[6]: Result */
17467 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17468 variable[5] = variable[6];
17469 /* Register variable[6]: Local variable */
17470 /* Register variable[7]: Result */
17471 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17472 variable[6] = variable[7];
17473 /* Register variable[7]: Local variable */
17474 /* Register variable[8]: Result */
17475 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17476 variable[7] = variable[8];
17477 /* Register variable[8]: Local variable */
17478 /* Register variable[9]: Result */
17479 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17480 variable[8] = variable[9];
17481 /* Register variable[9]: Local variable */
17482 /* Register variable[10]: Result */
17483 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17484 variable[9] = variable[10];
17485 /* Register variable[10]: Local variable */
17486 /* Register variable[11]: Result */
17487 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17488 variable[10] = variable[11];
17489 /* Register variable[11]: Local variable */
17490 /* Register variable[12]: Result */
17491 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17492 variable[11] = variable[12];
17493 /* Register variable[12]: Local variable */
17494 /* Register variable[13]: Result */
17495 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17496 variable[12] = variable[13];
17497 /* Register variable[13]: Local variable */
17498 /* Register variable[14]: Result */
17499 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17500 variable[13] = variable[14];
17501 /* Register variable[14]: Local variable */
17502 variable[14] = variable[13] /*nodearraylist1*/;
17503 /* Register variable[15]: Result */
17504 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17505 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6788); nit_exit(1);}
17506 /* Register variable[15]: Local variable */
17507 variable[15] = variable[12] /*nodearraylist2*/;
17508 /* Register variable[16]: Result */
17509 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17510 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6790); nit_exit(1);}
17511 /* Register variable[16]: Local variable */
17512 variable[16] = variable[11] /*nodearraylist3*/;
17513 /* Register variable[17]: Result */
17514 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17515 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6792); nit_exit(1);}
17516 /* Register variable[17]: Local variable */
17517 /* Register variable[18]: Result */
17518 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
17519 variable[17] = variable[18];
17520 /* Register variable[18]: Local variable */
17521 variable[18] = variable[10] /*nodearraylist4*/;
17522 /* Register variable[19]: Result */
17523 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17524 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6798); nit_exit(1);}
17525 /* Register variable[19]: Local variable */
17526 variable[19] = variable[9] /*nodearraylist5*/;
17527 /* Register variable[20]: Result */
17528 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17529 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6800); nit_exit(1);}
17530 /* Register variable[20]: Local variable */
17531 /* Register variable[21]: Result */
17532 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
17533 variable[20] = variable[21];
17534 /* Register variable[21]: Local variable */
17535 variable[21] = variable[8] /*nodearraylist6*/;
17536 /* Register variable[22]: Result */
17537 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17538 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6806); nit_exit(1);}
17539 /* Register variable[22]: Local variable */
17540 variable[22] = variable[7] /*nodearraylist7*/;
17541 /* Register variable[23]: Result */
17542 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17543 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6808); nit_exit(1);}
17544 /* Register variable[23]: Local variable */
17545 variable[23] = variable[6] /*nodearraylist8*/;
17546 /* Register variable[24]: Result */
17547 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17548 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6810); nit_exit(1);}
17549 /* Register variable[24]: Local variable */
17550 variable[24] = variable[5] /*nodearraylist9*/;
17551 /* Register variable[25]: Result */
17552 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17553 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6812); nit_exit(1);}
17554 /* Register variable[25]: Local variable */
17555 variable[25] = variable[4] /*nodearraylist10*/;
17556 /* Register variable[26]: Result */
17557 variable[26] = TAG_Bool(( variable[25] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[25] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
17558 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction133___action, LOCATE_parser, 6814); nit_exit(1);}
17559 /* Register variable[26]: Local variable */
17560 /* Register variable[27]: Result */
17561 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*/, NIT_NULL /*null*/, variable[24] /*tattridnode13*/, variable[25] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17562 variable[26] = variable[27];
17563 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
17564 /* Register variable[27]: Result */
17565 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17566 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
17567 return_label298: while(false);
17568 tracehead = trace.prev;
17569 return;
17570 }
17571 void parser___ReduceAction133___init(val_t self, int* init_table) {
17572 struct trace_t trace = {NULL, NULL, 6830, LOCATE_parser___ReduceAction133___init};
17573 val_t variable[2];
17574 struct WBT_ **closurevariable = NULL;
17575 trace.prev = tracehead; tracehead = &trace;
17576 trace.file = LOCATE_parser;
17577 /* Register variable[0]: Local variable */
17578 variable[0] = self;
17579 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction133].i]) return;
17580 /* Register variable[1]: Method return value and escape marker */
17581 return_label299: while(false);
17582 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction133].i] = 1;
17583 tracehead = trace.prev;
17584 return;
17585 }
17586 void parser___ReduceAction134___action(val_t self, val_t param0) {
17587 struct trace_t trace = {NULL, NULL, 6834, LOCATE_parser___ReduceAction134___action};
17588 val_t variable[23];
17589 struct WBT_ **closurevariable = NULL;
17590 trace.prev = tracehead; tracehead = &trace;
17591 trace.file = LOCATE_parser;
17592 /* Register variable[0]: Local variable */
17593 variable[0] = self;
17594 /* Register variable[1]: Local variable */
17595 variable[1] = param0;
17596 /* Register variable[2]: Method return value and escape marker */
17597 /* Register variable[3]: Local variable */
17598 variable[3] = NIT_NULL /*null*/;
17599 /* Register variable[4]: Local variable */
17600 /* Register variable[5]: Result */
17601 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17602 variable[4] = variable[5];
17603 /* Register variable[5]: Local variable */
17604 /* Register variable[6]: Result */
17605 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17606 variable[5] = variable[6];
17607 /* Register variable[6]: Local variable */
17608 /* Register variable[7]: Result */
17609 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17610 variable[6] = variable[7];
17611 /* Register variable[7]: Local variable */
17612 /* Register variable[8]: Result */
17613 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17614 variable[7] = variable[8];
17615 /* Register variable[8]: Local variable */
17616 /* Register variable[9]: Result */
17617 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17618 variable[8] = variable[9];
17619 /* Register variable[9]: Local variable */
17620 /* Register variable[10]: Result */
17621 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17622 variable[9] = variable[10];
17623 /* Register variable[10]: Local variable */
17624 /* Register variable[11]: Result */
17625 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17626 variable[10] = variable[11];
17627 /* Register variable[11]: Local variable */
17628 /* Register variable[12]: Result */
17629 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17630 variable[11] = variable[12];
17631 /* Register variable[12]: Local variable */
17632 variable[12] = variable[11] /*nodearraylist1*/;
17633 /* Register variable[13]: Result */
17634 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17635 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6846); nit_exit(1);}
17636 /* Register variable[13]: Local variable */
17637 variable[13] = variable[10] /*nodearraylist2*/;
17638 /* Register variable[14]: Result */
17639 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17640 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6848); nit_exit(1);}
17641 /* Register variable[14]: Local variable */
17642 variable[14] = variable[9] /*nodearraylist3*/;
17643 /* Register variable[15]: Result */
17644 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
17645 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6850); nit_exit(1);}
17646 /* Register variable[15]: Local variable */
17647 /* Register variable[16]: Result */
17648 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
17649 variable[15] = variable[16];
17650 /* Register variable[16]: Local variable */
17651 variable[16] = variable[8] /*nodearraylist4*/;
17652 /* Register variable[17]: Result */
17653 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17654 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6856); nit_exit(1);}
17655 /* Register variable[17]: Local variable */
17656 variable[17] = variable[7] /*nodearraylist5*/;
17657 /* Register variable[18]: Result */
17658 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17659 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6858); nit_exit(1);}
17660 /* Register variable[18]: Local variable */
17661 variable[18] = variable[6] /*nodearraylist6*/;
17662 /* Register variable[19]: Result */
17663 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17664 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6860); nit_exit(1);}
17665 /* Register variable[19]: Local variable */
17666 variable[19] = variable[5] /*nodearraylist7*/;
17667 /* Register variable[20]: Result */
17668 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17669 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6862); nit_exit(1);}
17670 /* Register variable[20]: Local variable */
17671 variable[20] = variable[4] /*nodearraylist8*/;
17672 /* Register variable[21]: Result */
17673 variable[21] = TAG_Bool(( variable[20] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
17674 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction134___action, LOCATE_parser, 6864); nit_exit(1);}
17675 /* Register variable[21]: Local variable */
17676 /* Register variable[22]: Result */
17677 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, variable[20] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17678 variable[21] = variable[22];
17679 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17680 /* Register variable[22]: Result */
17681 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17682 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17683 return_label300: while(false);
17684 tracehead = trace.prev;
17685 return;
17686 }
17687 void parser___ReduceAction134___init(val_t self, int* init_table) {
17688 struct trace_t trace = {NULL, NULL, 6880, LOCATE_parser___ReduceAction134___init};
17689 val_t variable[2];
17690 struct WBT_ **closurevariable = NULL;
17691 trace.prev = tracehead; tracehead = &trace;
17692 trace.file = LOCATE_parser;
17693 /* Register variable[0]: Local variable */
17694 variable[0] = self;
17695 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction134].i]) return;
17696 /* Register variable[1]: Method return value and escape marker */
17697 return_label301: while(false);
17698 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction134].i] = 1;
17699 tracehead = trace.prev;
17700 return;
17701 }
17702 void parser___ReduceAction135___action(val_t self, val_t param0) {
17703 struct trace_t trace = {NULL, NULL, 6884, LOCATE_parser___ReduceAction135___action};
17704 val_t variable[21];
17705 struct WBT_ **closurevariable = NULL;
17706 trace.prev = tracehead; tracehead = &trace;
17707 trace.file = LOCATE_parser;
17708 /* Register variable[0]: Local variable */
17709 variable[0] = self;
17710 /* Register variable[1]: Local variable */
17711 variable[1] = param0;
17712 /* Register variable[2]: Method return value and escape marker */
17713 /* Register variable[3]: Local variable */
17714 variable[3] = NIT_NULL /*null*/;
17715 /* Register variable[4]: Local variable */
17716 /* Register variable[5]: Result */
17717 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17718 variable[4] = variable[5];
17719 /* Register variable[5]: Local variable */
17720 /* Register variable[6]: Result */
17721 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17722 variable[5] = variable[6];
17723 /* Register variable[6]: Local variable */
17724 /* Register variable[7]: Result */
17725 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17726 variable[6] = variable[7];
17727 /* Register variable[7]: Local variable */
17728 /* Register variable[8]: Result */
17729 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17730 variable[7] = variable[8];
17731 /* Register variable[8]: Local variable */
17732 /* Register variable[9]: Result */
17733 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17734 variable[8] = variable[9];
17735 /* Register variable[9]: Local variable */
17736 /* Register variable[10]: Result */
17737 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17738 variable[9] = variable[10];
17739 /* Register variable[10]: Local variable */
17740 /* Register variable[11]: Result */
17741 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17742 variable[10] = variable[11];
17743 /* Register variable[11]: Local variable */
17744 variable[11] = variable[10] /*nodearraylist1*/;
17745 /* Register variable[12]: Result */
17746 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17747 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6895); nit_exit(1);}
17748 /* Register variable[12]: Local variable */
17749 variable[12] = variable[9] /*nodearraylist2*/;
17750 /* Register variable[13]: Result */
17751 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17752 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6897); nit_exit(1);}
17753 /* Register variable[13]: Local variable */
17754 /* Register variable[14]: Result */
17755 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[12] /*tkwwritablenode6*/) /*new AWriteAble*/;
17756 variable[13] = variable[14];
17757 /* Register variable[14]: Local variable */
17758 variable[14] = variable[8] /*nodearraylist3*/;
17759 /* Register variable[15]: Result */
17760 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17761 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6903); nit_exit(1);}
17762 /* Register variable[15]: Local variable */
17763 variable[15] = variable[7] /*nodearraylist4*/;
17764 /* Register variable[16]: Result */
17765 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17766 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6905); nit_exit(1);}
17767 /* Register variable[16]: Local variable */
17768 variable[16] = variable[6] /*nodearraylist5*/;
17769 /* Register variable[17]: Result */
17770 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17771 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6907); nit_exit(1);}
17772 /* Register variable[17]: Local variable */
17773 variable[17] = variable[5] /*nodearraylist6*/;
17774 /* Register variable[18]: Result */
17775 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17776 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6909); nit_exit(1);}
17777 /* Register variable[18]: Local variable */
17778 variable[18] = variable[4] /*nodearraylist7*/;
17779 /* Register variable[19]: Result */
17780 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
17781 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction135___action, LOCATE_parser, 6911); nit_exit(1);}
17782 /* Register variable[19]: Local variable */
17783 /* Register variable[20]: Result */
17784 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17785 variable[19] = variable[20];
17786 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
17787 /* Register variable[20]: Result */
17788 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17789 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
17790 return_label302: while(false);
17791 tracehead = trace.prev;
17792 return;
17793 }
17794 void parser___ReduceAction135___init(val_t self, int* init_table) {
17795 struct trace_t trace = {NULL, NULL, 6927, LOCATE_parser___ReduceAction135___init};
17796 val_t variable[2];
17797 struct WBT_ **closurevariable = NULL;
17798 trace.prev = tracehead; tracehead = &trace;
17799 trace.file = LOCATE_parser;
17800 /* Register variable[0]: Local variable */
17801 variable[0] = self;
17802 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction135].i]) return;
17803 /* Register variable[1]: Method return value and escape marker */
17804 return_label303: while(false);
17805 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction135].i] = 1;
17806 tracehead = trace.prev;
17807 return;
17808 }
17809 void parser___ReduceAction136___action(val_t self, val_t param0) {
17810 struct trace_t trace = {NULL, NULL, 6931, LOCATE_parser___ReduceAction136___action};
17811 val_t variable[23];
17812 struct WBT_ **closurevariable = NULL;
17813 trace.prev = tracehead; tracehead = &trace;
17814 trace.file = LOCATE_parser;
17815 /* Register variable[0]: Local variable */
17816 variable[0] = self;
17817 /* Register variable[1]: Local variable */
17818 variable[1] = param0;
17819 /* Register variable[2]: Method return value and escape marker */
17820 /* Register variable[3]: Local variable */
17821 variable[3] = NIT_NULL /*null*/;
17822 /* Register variable[4]: Local variable */
17823 /* Register variable[5]: Result */
17824 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17825 variable[4] = variable[5];
17826 /* Register variable[5]: Local variable */
17827 /* Register variable[6]: Result */
17828 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17829 variable[5] = variable[6];
17830 /* Register variable[6]: Local variable */
17831 /* Register variable[7]: Result */
17832 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17833 variable[6] = variable[7];
17834 /* Register variable[7]: Local variable */
17835 /* Register variable[8]: Result */
17836 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17837 variable[7] = variable[8];
17838 /* Register variable[8]: Local variable */
17839 /* Register variable[9]: Result */
17840 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17841 variable[8] = variable[9];
17842 /* Register variable[9]: Local variable */
17843 /* Register variable[10]: Result */
17844 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17845 variable[9] = variable[10];
17846 /* Register variable[10]: Local variable */
17847 /* Register variable[11]: Result */
17848 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17849 variable[10] = variable[11];
17850 /* Register variable[11]: Local variable */
17851 /* Register variable[12]: Result */
17852 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17853 variable[11] = variable[12];
17854 /* Register variable[12]: Local variable */
17855 variable[12] = variable[11] /*nodearraylist1*/;
17856 /* Register variable[13]: Result */
17857 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17858 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6943); nit_exit(1);}
17859 /* Register variable[13]: Local variable */
17860 variable[13] = variable[10] /*nodearraylist2*/;
17861 /* Register variable[14]: Result */
17862 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17863 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6945); nit_exit(1);}
17864 /* Register variable[14]: Local variable */
17865 variable[14] = variable[9] /*nodearraylist3*/;
17866 /* Register variable[15]: Result */
17867 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
17868 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6947); nit_exit(1);}
17869 /* Register variable[15]: Local variable */
17870 /* Register variable[16]: Result */
17871 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[13] /*tkwredefnode5*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
17872 variable[15] = variable[16];
17873 /* Register variable[16]: Local variable */
17874 variable[16] = variable[8] /*nodearraylist4*/;
17875 /* Register variable[17]: Result */
17876 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17877 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6953); nit_exit(1);}
17878 /* Register variable[17]: Local variable */
17879 variable[17] = variable[7] /*nodearraylist5*/;
17880 /* Register variable[18]: Result */
17881 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17882 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6955); nit_exit(1);}
17883 /* Register variable[18]: Local variable */
17884 variable[18] = variable[6] /*nodearraylist6*/;
17885 /* Register variable[19]: Result */
17886 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17887 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6957); nit_exit(1);}
17888 /* Register variable[19]: Local variable */
17889 variable[19] = variable[5] /*nodearraylist7*/;
17890 /* Register variable[20]: Result */
17891 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17892 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6959); nit_exit(1);}
17893 /* Register variable[20]: Local variable */
17894 variable[20] = variable[4] /*nodearraylist8*/;
17895 /* Register variable[21]: Result */
17896 variable[21] = TAG_Bool(( variable[20] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
17897 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction136___action, LOCATE_parser, 6961); nit_exit(1);}
17898 /* Register variable[21]: Local variable */
17899 /* Register variable[22]: Result */
17900 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, variable[20] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17901 variable[21] = variable[22];
17902 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
17903 /* Register variable[22]: Result */
17904 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17905 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
17906 return_label304: while(false);
17907 tracehead = trace.prev;
17908 return;
17909 }
17910 void parser___ReduceAction136___init(val_t self, int* init_table) {
17911 struct trace_t trace = {NULL, NULL, 6977, LOCATE_parser___ReduceAction136___init};
17912 val_t variable[2];
17913 struct WBT_ **closurevariable = NULL;
17914 trace.prev = tracehead; tracehead = &trace;
17915 trace.file = LOCATE_parser;
17916 /* Register variable[0]: Local variable */
17917 variable[0] = self;
17918 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction136].i]) return;
17919 /* Register variable[1]: Method return value and escape marker */
17920 return_label305: while(false);
17921 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction136].i] = 1;
17922 tracehead = trace.prev;
17923 return;
17924 }
17925 void parser___ReduceAction137___action(val_t self, val_t param0) {
17926 struct trace_t trace = {NULL, NULL, 6981, LOCATE_parser___ReduceAction137___action};
17927 val_t variable[18];
17928 struct WBT_ **closurevariable = NULL;
17929 trace.prev = tracehead; tracehead = &trace;
17930 trace.file = LOCATE_parser;
17931 /* Register variable[0]: Local variable */
17932 variable[0] = self;
17933 /* Register variable[1]: Local variable */
17934 variable[1] = param0;
17935 /* Register variable[2]: Method return value and escape marker */
17936 /* Register variable[3]: Local variable */
17937 variable[3] = NIT_NULL /*null*/;
17938 /* Register variable[4]: Local variable */
17939 /* Register variable[5]: Result */
17940 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17941 variable[4] = variable[5];
17942 /* Register variable[5]: Local variable */
17943 /* Register variable[6]: Result */
17944 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17945 variable[5] = variable[6];
17946 /* Register variable[6]: Local variable */
17947 /* Register variable[7]: Result */
17948 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17949 variable[6] = variable[7];
17950 /* Register variable[7]: Local variable */
17951 /* Register variable[8]: Result */
17952 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17953 variable[7] = variable[8];
17954 /* Register variable[8]: Local variable */
17955 /* Register variable[9]: Result */
17956 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17957 variable[8] = variable[9];
17958 /* Register variable[9]: Local variable */
17959 /* Register variable[10]: Result */
17960 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
17961 variable[9] = variable[10];
17962 /* Register variable[10]: Local variable */
17963 variable[10] = variable[9] /*nodearraylist1*/;
17964 /* Register variable[11]: Result */
17965 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
17966 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6991); nit_exit(1);}
17967 /* Register variable[11]: Local variable */
17968 variable[11] = variable[8] /*nodearraylist2*/;
17969 /* Register variable[12]: Result */
17970 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
17971 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6993); nit_exit(1);}
17972 /* Register variable[12]: Local variable */
17973 variable[12] = variable[7] /*nodearraylist3*/;
17974 /* Register variable[13]: Result */
17975 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
17976 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6995); nit_exit(1);}
17977 /* Register variable[13]: Local variable */
17978 variable[13] = variable[6] /*nodearraylist4*/;
17979 /* Register variable[14]: Result */
17980 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
17981 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6997); nit_exit(1);}
17982 /* Register variable[14]: Local variable */
17983 variable[14] = variable[5] /*nodearraylist5*/;
17984 /* Register variable[15]: Result */
17985 variable[15] = TAG_Bool(( variable[14] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
17986 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 6999); nit_exit(1);}
17987 /* Register variable[15]: Local variable */
17988 variable[15] = variable[4] /*nodearraylist6*/;
17989 /* Register variable[16]: Result */
17990 variable[16] = TAG_Bool(( variable[15] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
17991 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction137___action, LOCATE_parser, 7001); nit_exit(1);}
17992 /* Register variable[16]: Local variable */
17993 /* Register variable[17]: Result */
17994 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*/, NIT_NULL /*null*/, variable[14] /*tattridnode9*/, variable[15] /*ptypenode10*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
17995 variable[16] = variable[17];
17996 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
17997 /* Register variable[17]: Result */
17998 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
17999 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
18000 return_label306: while(false);
18001 tracehead = trace.prev;
18002 return;
18003 }
18004 void parser___ReduceAction137___init(val_t self, int* init_table) {
18005 struct trace_t trace = {NULL, NULL, 7017, LOCATE_parser___ReduceAction137___init};
18006 val_t variable[2];
18007 struct WBT_ **closurevariable = NULL;
18008 trace.prev = tracehead; tracehead = &trace;
18009 trace.file = LOCATE_parser;
18010 /* Register variable[0]: Local variable */
18011 variable[0] = self;
18012 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction137].i]) return;
18013 /* Register variable[1]: Method return value and escape marker */
18014 return_label307: while(false);
18015 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction137].i] = 1;
18016 tracehead = trace.prev;
18017 return;
18018 }
18019 void parser___ReduceAction138___action(val_t self, val_t param0) {
18020 struct trace_t trace = {NULL, NULL, 7021, LOCATE_parser___ReduceAction138___action};
18021 val_t variable[24];
18022 struct WBT_ **closurevariable = NULL;
18023 trace.prev = tracehead; tracehead = &trace;
18024 trace.file = LOCATE_parser;
18025 /* Register variable[0]: Local variable */
18026 variable[0] = self;
18027 /* Register variable[1]: Local variable */
18028 variable[1] = param0;
18029 /* Register variable[2]: Method return value and escape marker */
18030 /* Register variable[3]: Local variable */
18031 variable[3] = NIT_NULL /*null*/;
18032 /* Register variable[4]: Local variable */
18033 /* Register variable[5]: Result */
18034 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18035 variable[4] = variable[5];
18036 /* Register variable[5]: Local variable */
18037 /* Register variable[6]: Result */
18038 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18039 variable[5] = variable[6];
18040 /* Register variable[6]: Local variable */
18041 /* Register variable[7]: Result */
18042 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18043 variable[6] = variable[7];
18044 /* Register variable[7]: Local variable */
18045 /* Register variable[8]: Result */
18046 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18047 variable[7] = variable[8];
18048 /* Register variable[8]: Local variable */
18049 /* Register variable[9]: Result */
18050 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18051 variable[8] = variable[9];
18052 /* Register variable[9]: Local variable */
18053 /* Register variable[10]: Result */
18054 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18055 variable[9] = variable[10];
18056 /* Register variable[10]: Local variable */
18057 /* Register variable[11]: Result */
18058 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18059 variable[10] = variable[11];
18060 /* Register variable[11]: Local variable */
18061 /* Register variable[12]: Result */
18062 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18063 variable[11] = variable[12];
18064 /* Register variable[12]: Local variable */
18065 /* Register variable[13]: Result */
18066 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18067 variable[12] = variable[13];
18068 /* Register variable[13]: Local variable */
18069 variable[13] = variable[12] /*nodearraylist1*/;
18070 /* Register variable[14]: Result */
18071 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18072 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7034); nit_exit(1);}
18073 /* Register variable[14]: Local variable */
18074 variable[14] = variable[11] /*nodearraylist2*/;
18075 /* Register variable[15]: Result */
18076 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18077 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7036); nit_exit(1);}
18078 /* Register variable[15]: Local variable */
18079 /* Register variable[16]: Result */
18080 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
18081 variable[15] = variable[16];
18082 /* Register variable[16]: Local variable */
18083 variable[16] = variable[10] /*nodearraylist3*/;
18084 /* Register variable[17]: Result */
18085 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18086 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7042); nit_exit(1);}
18087 /* Register variable[17]: Local variable */
18088 /* Register variable[18]: Result */
18089 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
18090 variable[17] = variable[18];
18091 /* Register variable[18]: Local variable */
18092 variable[18] = variable[9] /*nodearraylist4*/;
18093 /* Register variable[19]: Result */
18094 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18095 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7048); nit_exit(1);}
18096 /* Register variable[19]: Local variable */
18097 variable[19] = variable[8] /*nodearraylist5*/;
18098 /* Register variable[20]: Result */
18099 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18100 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7050); nit_exit(1);}
18101 /* Register variable[20]: Local variable */
18102 variable[20] = variable[7] /*nodearraylist6*/;
18103 /* Register variable[21]: Result */
18104 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18105 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7052); nit_exit(1);}
18106 /* Register variable[21]: Local variable */
18107 variable[21] = variable[4] /*nodearraylist9*/;
18108 /* Register variable[22]: Result */
18109 variable[22] = TAG_Bool(( variable[21] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18110 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction138___action, LOCATE_parser, 7054); nit_exit(1);}
18111 /* Register variable[22]: Local variable */
18112 /* Register variable[23]: Result */
18113 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode13*/, NIT_NULL /*null*/, variable[21] /*pexprnode15*/) /*new AAttrPropdef*/;
18114 variable[22] = variable[23];
18115 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
18116 /* Register variable[23]: Result */
18117 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18118 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
18119 return_label308: while(false);
18120 tracehead = trace.prev;
18121 return;
18122 }
18123 void parser___ReduceAction138___init(val_t self, int* init_table) {
18124 struct trace_t trace = {NULL, NULL, 7070, LOCATE_parser___ReduceAction138___init};
18125 val_t variable[2];
18126 struct WBT_ **closurevariable = NULL;
18127 trace.prev = tracehead; tracehead = &trace;
18128 trace.file = LOCATE_parser;
18129 /* Register variable[0]: Local variable */
18130 variable[0] = self;
18131 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction138].i]) return;
18132 /* Register variable[1]: Method return value and escape marker */
18133 return_label309: while(false);
18134 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction138].i] = 1;
18135 tracehead = trace.prev;
18136 return;
18137 }
18138 void parser___ReduceAction139___action(val_t self, val_t param0) {
18139 struct trace_t trace = {NULL, NULL, 7074, LOCATE_parser___ReduceAction139___action};
18140 val_t variable[26];
18141 struct WBT_ **closurevariable = NULL;
18142 trace.prev = tracehead; tracehead = &trace;
18143 trace.file = LOCATE_parser;
18144 /* Register variable[0]: Local variable */
18145 variable[0] = self;
18146 /* Register variable[1]: Local variable */
18147 variable[1] = param0;
18148 /* Register variable[2]: Method return value and escape marker */
18149 /* Register variable[3]: Local variable */
18150 variable[3] = NIT_NULL /*null*/;
18151 /* Register variable[4]: Local variable */
18152 /* Register variable[5]: Result */
18153 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18154 variable[4] = variable[5];
18155 /* Register variable[5]: Local variable */
18156 /* Register variable[6]: Result */
18157 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18158 variable[5] = variable[6];
18159 /* Register variable[6]: Local variable */
18160 /* Register variable[7]: Result */
18161 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18162 variable[6] = variable[7];
18163 /* Register variable[7]: Local variable */
18164 /* Register variable[8]: Result */
18165 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18166 variable[7] = variable[8];
18167 /* Register variable[8]: Local variable */
18168 /* Register variable[9]: Result */
18169 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18170 variable[8] = variable[9];
18171 /* Register variable[9]: Local variable */
18172 /* Register variable[10]: Result */
18173 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18174 variable[9] = variable[10];
18175 /* Register variable[10]: Local variable */
18176 /* Register variable[11]: Result */
18177 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18178 variable[10] = variable[11];
18179 /* Register variable[11]: Local variable */
18180 /* Register variable[12]: Result */
18181 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18182 variable[11] = variable[12];
18183 /* Register variable[12]: Local variable */
18184 /* Register variable[13]: Result */
18185 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18186 variable[12] = variable[13];
18187 /* Register variable[13]: Local variable */
18188 /* Register variable[14]: Result */
18189 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18190 variable[13] = variable[14];
18191 /* Register variable[14]: Local variable */
18192 variable[14] = variable[13] /*nodearraylist1*/;
18193 /* Register variable[15]: Result */
18194 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18195 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7088); nit_exit(1);}
18196 /* Register variable[15]: Local variable */
18197 variable[15] = variable[12] /*nodearraylist2*/;
18198 /* Register variable[16]: Result */
18199 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18200 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7090); nit_exit(1);}
18201 /* Register variable[16]: Local variable */
18202 /* Register variable[17]: Result */
18203 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
18204 variable[16] = variable[17];
18205 /* Register variable[17]: Local variable */
18206 variable[17] = variable[11] /*nodearraylist3*/;
18207 /* Register variable[18]: Result */
18208 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18209 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7096); nit_exit(1);}
18210 /* Register variable[18]: Local variable */
18211 variable[18] = variable[10] /*nodearraylist4*/;
18212 /* Register variable[19]: Result */
18213 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18214 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7098); nit_exit(1);}
18215 /* Register variable[19]: Local variable */
18216 /* Register variable[20]: Result */
18217 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
18218 variable[19] = variable[20];
18219 /* Register variable[20]: Local variable */
18220 variable[20] = variable[9] /*nodearraylist5*/;
18221 /* Register variable[21]: Result */
18222 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18223 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7104); nit_exit(1);}
18224 /* Register variable[21]: Local variable */
18225 variable[21] = variable[8] /*nodearraylist6*/;
18226 /* Register variable[22]: Result */
18227 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18228 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7106); nit_exit(1);}
18229 /* Register variable[22]: Local variable */
18230 variable[22] = variable[7] /*nodearraylist7*/;
18231 /* Register variable[23]: Result */
18232 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18233 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7108); nit_exit(1);}
18234 /* Register variable[23]: Local variable */
18235 variable[23] = variable[4] /*nodearraylist10*/;
18236 /* Register variable[24]: Result */
18237 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18238 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction139___action, LOCATE_parser, 7110); nit_exit(1);}
18239 /* Register variable[24]: Local variable */
18240 /* Register variable[25]: Result */
18241 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
18242 variable[24] = variable[25];
18243 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
18244 /* Register variable[25]: Result */
18245 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18246 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
18247 return_label310: while(false);
18248 tracehead = trace.prev;
18249 return;
18250 }
18251 void parser___ReduceAction139___init(val_t self, int* init_table) {
18252 struct trace_t trace = {NULL, NULL, 7126, LOCATE_parser___ReduceAction139___init};
18253 val_t variable[2];
18254 struct WBT_ **closurevariable = NULL;
18255 trace.prev = tracehead; tracehead = &trace;
18256 trace.file = LOCATE_parser;
18257 /* Register variable[0]: Local variable */
18258 variable[0] = self;
18259 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction139].i]) return;
18260 /* Register variable[1]: Method return value and escape marker */
18261 return_label311: while(false);
18262 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction139].i] = 1;
18263 tracehead = trace.prev;
18264 return;
18265 }
18266 void parser___ReduceAction140___action(val_t self, val_t param0) {
18267 struct trace_t trace = {NULL, NULL, 7130, LOCATE_parser___ReduceAction140___action};
18268 val_t variable[21];
18269 struct WBT_ **closurevariable = NULL;
18270 trace.prev = tracehead; tracehead = &trace;
18271 trace.file = LOCATE_parser;
18272 /* Register variable[0]: Local variable */
18273 variable[0] = self;
18274 /* Register variable[1]: Local variable */
18275 variable[1] = param0;
18276 /* Register variable[2]: Method return value and escape marker */
18277 /* Register variable[3]: Local variable */
18278 variable[3] = NIT_NULL /*null*/;
18279 /* Register variable[4]: Local variable */
18280 /* Register variable[5]: Result */
18281 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18282 variable[4] = variable[5];
18283 /* Register variable[5]: Local variable */
18284 /* Register variable[6]: Result */
18285 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18286 variable[5] = variable[6];
18287 /* Register variable[6]: Local variable */
18288 /* Register variable[7]: Result */
18289 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18290 variable[6] = variable[7];
18291 /* Register variable[7]: Local variable */
18292 /* Register variable[8]: Result */
18293 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18294 variable[7] = variable[8];
18295 /* Register variable[8]: Local variable */
18296 /* Register variable[9]: Result */
18297 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18298 variable[8] = variable[9];
18299 /* Register variable[9]: Local variable */
18300 /* Register variable[10]: Result */
18301 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18302 variable[9] = variable[10];
18303 /* Register variable[10]: Local variable */
18304 /* Register variable[11]: Result */
18305 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18306 variable[10] = variable[11];
18307 /* Register variable[11]: Local variable */
18308 /* Register variable[12]: Result */
18309 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18310 variable[11] = variable[12];
18311 /* Register variable[12]: Local variable */
18312 variable[12] = variable[11] /*nodearraylist1*/;
18313 /* Register variable[13]: Result */
18314 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18315 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7142); nit_exit(1);}
18316 /* Register variable[13]: Local variable */
18317 variable[13] = variable[10] /*nodearraylist2*/;
18318 /* Register variable[14]: Result */
18319 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18320 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7144); nit_exit(1);}
18321 /* Register variable[14]: Local variable */
18322 /* Register variable[15]: Result */
18323 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
18324 variable[14] = variable[15];
18325 /* Register variable[15]: Local variable */
18326 variable[15] = variable[9] /*nodearraylist3*/;
18327 /* Register variable[16]: Result */
18328 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18329 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7150); nit_exit(1);}
18330 /* Register variable[16]: Local variable */
18331 variable[16] = variable[8] /*nodearraylist4*/;
18332 /* Register variable[17]: Result */
18333 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18334 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7152); nit_exit(1);}
18335 /* Register variable[17]: Local variable */
18336 variable[17] = variable[7] /*nodearraylist5*/;
18337 /* Register variable[18]: Result */
18338 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18339 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7154); nit_exit(1);}
18340 /* Register variable[18]: Local variable */
18341 variable[18] = variable[4] /*nodearraylist8*/;
18342 /* Register variable[19]: Result */
18343 variable[19] = TAG_Bool(( variable[18] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18344 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction140___action, LOCATE_parser, 7156); nit_exit(1);}
18345 /* Register variable[19]: Local variable */
18346 /* Register variable[20]: Result */
18347 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, NIT_NULL /*null*/, variable[18] /*pexprnode13*/) /*new AAttrPropdef*/;
18348 variable[19] = variable[20];
18349 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
18350 /* Register variable[20]: Result */
18351 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18352 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
18353 return_label312: while(false);
18354 tracehead = trace.prev;
18355 return;
18356 }
18357 void parser___ReduceAction140___init(val_t self, int* init_table) {
18358 struct trace_t trace = {NULL, NULL, 7172, LOCATE_parser___ReduceAction140___init};
18359 val_t variable[2];
18360 struct WBT_ **closurevariable = NULL;
18361 trace.prev = tracehead; tracehead = &trace;
18362 trace.file = LOCATE_parser;
18363 /* Register variable[0]: Local variable */
18364 variable[0] = self;
18365 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction140].i]) return;
18366 /* Register variable[1]: Method return value and escape marker */
18367 return_label313: while(false);
18368 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction140].i] = 1;
18369 tracehead = trace.prev;
18370 return;
18371 }
18372 void parser___ReduceAction141___action(val_t self, val_t param0) {
18373 struct trace_t trace = {NULL, NULL, 7176, LOCATE_parser___ReduceAction141___action};
18374 val_t variable[26];
18375 struct WBT_ **closurevariable = NULL;
18376 trace.prev = tracehead; tracehead = &trace;
18377 trace.file = LOCATE_parser;
18378 /* Register variable[0]: Local variable */
18379 variable[0] = self;
18380 /* Register variable[1]: Local variable */
18381 variable[1] = param0;
18382 /* Register variable[2]: Method return value and escape marker */
18383 /* Register variable[3]: Local variable */
18384 variable[3] = NIT_NULL /*null*/;
18385 /* Register variable[4]: Local variable */
18386 /* Register variable[5]: Result */
18387 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18388 variable[4] = variable[5];
18389 /* Register variable[5]: Local variable */
18390 /* Register variable[6]: Result */
18391 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18392 variable[5] = variable[6];
18393 /* Register variable[6]: Local variable */
18394 /* Register variable[7]: Result */
18395 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18396 variable[6] = variable[7];
18397 /* Register variable[7]: Local variable */
18398 /* Register variable[8]: Result */
18399 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18400 variable[7] = variable[8];
18401 /* Register variable[8]: Local variable */
18402 /* Register variable[9]: Result */
18403 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18404 variable[8] = variable[9];
18405 /* Register variable[9]: Local variable */
18406 /* Register variable[10]: Result */
18407 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18408 variable[9] = variable[10];
18409 /* Register variable[10]: Local variable */
18410 /* Register variable[11]: Result */
18411 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18412 variable[10] = variable[11];
18413 /* Register variable[11]: Local variable */
18414 /* Register variable[12]: Result */
18415 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18416 variable[11] = variable[12];
18417 /* Register variable[12]: Local variable */
18418 /* Register variable[13]: Result */
18419 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18420 variable[12] = variable[13];
18421 /* Register variable[13]: Local variable */
18422 /* Register variable[14]: Result */
18423 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18424 variable[13] = variable[14];
18425 /* Register variable[14]: Local variable */
18426 variable[14] = variable[13] /*nodearraylist1*/;
18427 /* Register variable[15]: Result */
18428 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18429 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7190); nit_exit(1);}
18430 /* Register variable[15]: Local variable */
18431 variable[15] = variable[12] /*nodearraylist2*/;
18432 /* Register variable[16]: Result */
18433 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18434 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7192); nit_exit(1);}
18435 /* Register variable[16]: Local variable */
18436 variable[16] = variable[11] /*nodearraylist3*/;
18437 /* Register variable[17]: Result */
18438 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18439 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7194); nit_exit(1);}
18440 /* Register variable[17]: Local variable */
18441 /* Register variable[18]: Result */
18442 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
18443 variable[17] = variable[18];
18444 /* Register variable[18]: Local variable */
18445 variable[18] = variable[10] /*nodearraylist4*/;
18446 /* Register variable[19]: Result */
18447 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18448 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7200); nit_exit(1);}
18449 /* Register variable[19]: Local variable */
18450 /* Register variable[20]: Result */
18451 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
18452 variable[19] = variable[20];
18453 /* Register variable[20]: Local variable */
18454 variable[20] = variable[9] /*nodearraylist5*/;
18455 /* Register variable[21]: Result */
18456 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18457 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7206); nit_exit(1);}
18458 /* Register variable[21]: Local variable */
18459 variable[21] = variable[8] /*nodearraylist6*/;
18460 /* Register variable[22]: Result */
18461 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18462 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7208); nit_exit(1);}
18463 /* Register variable[22]: Local variable */
18464 variable[22] = variable[7] /*nodearraylist7*/;
18465 /* Register variable[23]: Result */
18466 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18467 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7210); nit_exit(1);}
18468 /* Register variable[23]: Local variable */
18469 variable[23] = variable[4] /*nodearraylist10*/;
18470 /* Register variable[24]: Result */
18471 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18472 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction141___action, LOCATE_parser, 7212); nit_exit(1);}
18473 /* Register variable[24]: Local variable */
18474 /* Register variable[25]: Result */
18475 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
18476 variable[24] = variable[25];
18477 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
18478 /* Register variable[25]: Result */
18479 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18480 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
18481 return_label314: while(false);
18482 tracehead = trace.prev;
18483 return;
18484 }
18485 void parser___ReduceAction141___init(val_t self, int* init_table) {
18486 struct trace_t trace = {NULL, NULL, 7228, LOCATE_parser___ReduceAction141___init};
18487 val_t variable[2];
18488 struct WBT_ **closurevariable = NULL;
18489 trace.prev = tracehead; tracehead = &trace;
18490 trace.file = LOCATE_parser;
18491 /* Register variable[0]: Local variable */
18492 variable[0] = self;
18493 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction141].i]) return;
18494 /* Register variable[1]: Method return value and escape marker */
18495 return_label315: while(false);
18496 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction141].i] = 1;
18497 tracehead = trace.prev;
18498 return;
18499 }
18500 void parser___ReduceAction142___action(val_t self, val_t param0) {
18501 struct trace_t trace = {NULL, NULL, 7232, LOCATE_parser___ReduceAction142___action};
18502 val_t variable[28];
18503 struct WBT_ **closurevariable = NULL;
18504 trace.prev = tracehead; tracehead = &trace;
18505 trace.file = LOCATE_parser;
18506 /* Register variable[0]: Local variable */
18507 variable[0] = self;
18508 /* Register variable[1]: Local variable */
18509 variable[1] = param0;
18510 /* Register variable[2]: Method return value and escape marker */
18511 /* Register variable[3]: Local variable */
18512 variable[3] = NIT_NULL /*null*/;
18513 /* Register variable[4]: Local variable */
18514 /* Register variable[5]: Result */
18515 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18516 variable[4] = variable[5];
18517 /* Register variable[5]: Local variable */
18518 /* Register variable[6]: Result */
18519 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18520 variable[5] = variable[6];
18521 /* Register variable[6]: Local variable */
18522 /* Register variable[7]: Result */
18523 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18524 variable[6] = variable[7];
18525 /* Register variable[7]: Local variable */
18526 /* Register variable[8]: Result */
18527 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18528 variable[7] = variable[8];
18529 /* Register variable[8]: Local variable */
18530 /* Register variable[9]: Result */
18531 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18532 variable[8] = variable[9];
18533 /* Register variable[9]: Local variable */
18534 /* Register variable[10]: Result */
18535 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18536 variable[9] = variable[10];
18537 /* Register variable[10]: Local variable */
18538 /* Register variable[11]: Result */
18539 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18540 variable[10] = variable[11];
18541 /* Register variable[11]: Local variable */
18542 /* Register variable[12]: Result */
18543 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18544 variable[11] = variable[12];
18545 /* Register variable[12]: Local variable */
18546 /* Register variable[13]: Result */
18547 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18548 variable[12] = variable[13];
18549 /* Register variable[13]: Local variable */
18550 /* Register variable[14]: Result */
18551 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18552 variable[13] = variable[14];
18553 /* Register variable[14]: Local variable */
18554 /* Register variable[15]: Result */
18555 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18556 variable[14] = variable[15];
18557 /* Register variable[15]: Local variable */
18558 variable[15] = variable[14] /*nodearraylist1*/;
18559 /* Register variable[16]: Result */
18560 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18561 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7247); nit_exit(1);}
18562 /* Register variable[16]: Local variable */
18563 variable[16] = variable[13] /*nodearraylist2*/;
18564 /* Register variable[17]: Result */
18565 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18566 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7249); nit_exit(1);}
18567 /* Register variable[17]: Local variable */
18568 variable[17] = variable[12] /*nodearraylist3*/;
18569 /* Register variable[18]: Result */
18570 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18571 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7251); nit_exit(1);}
18572 /* Register variable[18]: Local variable */
18573 /* Register variable[19]: Result */
18574 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
18575 variable[18] = variable[19];
18576 /* Register variable[19]: Local variable */
18577 variable[19] = variable[11] /*nodearraylist4*/;
18578 /* Register variable[20]: Result */
18579 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18580 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7257); nit_exit(1);}
18581 /* Register variable[20]: Local variable */
18582 variable[20] = variable[10] /*nodearraylist5*/;
18583 /* Register variable[21]: Result */
18584 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18585 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7259); nit_exit(1);}
18586 /* Register variable[21]: Local variable */
18587 /* Register variable[22]: Result */
18588 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
18589 variable[21] = variable[22];
18590 /* Register variable[22]: Local variable */
18591 variable[22] = variable[9] /*nodearraylist6*/;
18592 /* Register variable[23]: Result */
18593 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18594 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7265); nit_exit(1);}
18595 /* Register variable[23]: Local variable */
18596 variable[23] = variable[8] /*nodearraylist7*/;
18597 /* Register variable[24]: Result */
18598 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18599 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7267); nit_exit(1);}
18600 /* Register variable[24]: Local variable */
18601 variable[24] = variable[7] /*nodearraylist8*/;
18602 /* Register variable[25]: Result */
18603 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18604 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7269); nit_exit(1);}
18605 /* Register variable[25]: Local variable */
18606 variable[25] = variable[4] /*nodearraylist11*/;
18607 /* Register variable[26]: Result */
18608 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18609 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction142___action, LOCATE_parser, 7271); nit_exit(1);}
18610 /* Register variable[26]: Local variable */
18611 /* Register variable[27]: Result */
18612 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*/, NIT_NULL /*null*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
18613 variable[26] = variable[27];
18614 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
18615 /* Register variable[27]: Result */
18616 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18617 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
18618 return_label316: while(false);
18619 tracehead = trace.prev;
18620 return;
18621 }
18622 void parser___ReduceAction142___init(val_t self, int* init_table) {
18623 struct trace_t trace = {NULL, NULL, 7287, LOCATE_parser___ReduceAction142___init};
18624 val_t variable[2];
18625 struct WBT_ **closurevariable = NULL;
18626 trace.prev = tracehead; tracehead = &trace;
18627 trace.file = LOCATE_parser;
18628 /* Register variable[0]: Local variable */
18629 variable[0] = self;
18630 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction142].i]) return;
18631 /* Register variable[1]: Method return value and escape marker */
18632 return_label317: while(false);
18633 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction142].i] = 1;
18634 tracehead = trace.prev;
18635 return;
18636 }
18637 void parser___ReduceAction143___action(val_t self, val_t param0) {
18638 struct trace_t trace = {NULL, NULL, 7291, LOCATE_parser___ReduceAction143___action};
18639 val_t variable[23];
18640 struct WBT_ **closurevariable = NULL;
18641 trace.prev = tracehead; tracehead = &trace;
18642 trace.file = LOCATE_parser;
18643 /* Register variable[0]: Local variable */
18644 variable[0] = self;
18645 /* Register variable[1]: Local variable */
18646 variable[1] = param0;
18647 /* Register variable[2]: Method return value and escape marker */
18648 /* Register variable[3]: Local variable */
18649 variable[3] = NIT_NULL /*null*/;
18650 /* Register variable[4]: Local variable */
18651 /* Register variable[5]: Result */
18652 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18653 variable[4] = variable[5];
18654 /* Register variable[5]: Local variable */
18655 /* Register variable[6]: Result */
18656 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18657 variable[5] = variable[6];
18658 /* Register variable[6]: Local variable */
18659 /* Register variable[7]: Result */
18660 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18661 variable[6] = variable[7];
18662 /* Register variable[7]: Local variable */
18663 /* Register variable[8]: Result */
18664 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18665 variable[7] = variable[8];
18666 /* Register variable[8]: Local variable */
18667 /* Register variable[9]: Result */
18668 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18669 variable[8] = variable[9];
18670 /* Register variable[9]: Local variable */
18671 /* Register variable[10]: Result */
18672 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18673 variable[9] = variable[10];
18674 /* Register variable[10]: Local variable */
18675 /* Register variable[11]: Result */
18676 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18677 variable[10] = variable[11];
18678 /* Register variable[11]: Local variable */
18679 /* Register variable[12]: Result */
18680 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18681 variable[11] = variable[12];
18682 /* Register variable[12]: Local variable */
18683 /* Register variable[13]: Result */
18684 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18685 variable[12] = variable[13];
18686 /* Register variable[13]: Local variable */
18687 variable[13] = variable[12] /*nodearraylist1*/;
18688 /* Register variable[14]: Result */
18689 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18690 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7304); nit_exit(1);}
18691 /* Register variable[14]: Local variable */
18692 variable[14] = variable[11] /*nodearraylist2*/;
18693 /* Register variable[15]: Result */
18694 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18695 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7306); nit_exit(1);}
18696 /* Register variable[15]: Local variable */
18697 variable[15] = variable[10] /*nodearraylist3*/;
18698 /* Register variable[16]: Result */
18699 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
18700 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7308); nit_exit(1);}
18701 /* Register variable[16]: Local variable */
18702 /* Register variable[17]: Result */
18703 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
18704 variable[16] = variable[17];
18705 /* Register variable[17]: Local variable */
18706 variable[17] = variable[9] /*nodearraylist4*/;
18707 /* Register variable[18]: Result */
18708 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18709 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7314); nit_exit(1);}
18710 /* Register variable[18]: Local variable */
18711 variable[18] = variable[8] /*nodearraylist5*/;
18712 /* Register variable[19]: Result */
18713 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18714 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7316); nit_exit(1);}
18715 /* Register variable[19]: Local variable */
18716 variable[19] = variable[7] /*nodearraylist6*/;
18717 /* Register variable[20]: Result */
18718 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18719 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7318); nit_exit(1);}
18720 /* Register variable[20]: Local variable */
18721 variable[20] = variable[4] /*nodearraylist9*/;
18722 /* Register variable[21]: Result */
18723 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18724 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction143___action, LOCATE_parser, 7320); nit_exit(1);}
18725 /* Register variable[21]: Local variable */
18726 /* Register variable[22]: Result */
18727 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
18728 variable[21] = variable[22];
18729 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18730 /* Register variable[22]: Result */
18731 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18732 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18733 return_label318: while(false);
18734 tracehead = trace.prev;
18735 return;
18736 }
18737 void parser___ReduceAction143___init(val_t self, int* init_table) {
18738 struct trace_t trace = {NULL, NULL, 7336, LOCATE_parser___ReduceAction143___init};
18739 val_t variable[2];
18740 struct WBT_ **closurevariable = NULL;
18741 trace.prev = tracehead; tracehead = &trace;
18742 trace.file = LOCATE_parser;
18743 /* Register variable[0]: Local variable */
18744 variable[0] = self;
18745 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction143].i]) return;
18746 /* Register variable[1]: Method return value and escape marker */
18747 return_label319: while(false);
18748 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction143].i] = 1;
18749 tracehead = trace.prev;
18750 return;
18751 }
18752 void parser___ReduceAction144___action(val_t self, val_t param0) {
18753 struct trace_t trace = {NULL, NULL, 7340, LOCATE_parser___ReduceAction144___action};
18754 val_t variable[21];
18755 struct WBT_ **closurevariable = NULL;
18756 trace.prev = tracehead; tracehead = &trace;
18757 trace.file = LOCATE_parser;
18758 /* Register variable[0]: Local variable */
18759 variable[0] = self;
18760 /* Register variable[1]: Local variable */
18761 variable[1] = param0;
18762 /* Register variable[2]: Method return value and escape marker */
18763 /* Register variable[3]: Local variable */
18764 variable[3] = NIT_NULL /*null*/;
18765 /* Register variable[4]: Local variable */
18766 /* Register variable[5]: Result */
18767 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18768 variable[4] = variable[5];
18769 /* Register variable[5]: Local variable */
18770 /* Register variable[6]: Result */
18771 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18772 variable[5] = variable[6];
18773 /* Register variable[6]: Local variable */
18774 /* Register variable[7]: Result */
18775 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18776 variable[6] = variable[7];
18777 /* Register variable[7]: Local variable */
18778 /* Register variable[8]: Result */
18779 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18780 variable[7] = variable[8];
18781 /* Register variable[8]: Local variable */
18782 /* Register variable[9]: Result */
18783 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18784 variable[8] = variable[9];
18785 /* Register variable[9]: Local variable */
18786 /* Register variable[10]: Result */
18787 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18788 variable[9] = variable[10];
18789 /* Register variable[10]: Local variable */
18790 /* Register variable[11]: Result */
18791 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18792 variable[10] = variable[11];
18793 /* Register variable[11]: Local variable */
18794 /* Register variable[12]: Result */
18795 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18796 variable[11] = variable[12];
18797 /* Register variable[12]: Local variable */
18798 variable[12] = variable[11] /*nodearraylist1*/;
18799 /* Register variable[13]: Result */
18800 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18801 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7352); nit_exit(1);}
18802 /* Register variable[13]: Local variable */
18803 variable[13] = variable[10] /*nodearraylist2*/;
18804 /* Register variable[14]: Result */
18805 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18806 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7354); nit_exit(1);}
18807 /* Register variable[14]: Local variable */
18808 /* Register variable[15]: Result */
18809 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
18810 variable[14] = variable[15];
18811 /* Register variable[15]: Local variable */
18812 variable[15] = variable[9] /*nodearraylist3*/;
18813 /* Register variable[16]: Result */
18814 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18815 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7360); nit_exit(1);}
18816 /* Register variable[16]: Local variable */
18817 variable[16] = variable[8] /*nodearraylist4*/;
18818 /* Register variable[17]: Result */
18819 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18820 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7362); nit_exit(1);}
18821 /* Register variable[17]: Local variable */
18822 variable[17] = variable[7] /*nodearraylist5*/;
18823 /* Register variable[18]: Result */
18824 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18825 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7364); nit_exit(1);}
18826 /* Register variable[18]: Local variable */
18827 variable[18] = variable[4] /*nodearraylist8*/;
18828 /* Register variable[19]: Result */
18829 variable[19] = TAG_Bool(( variable[18] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18830 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction144___action, LOCATE_parser, 7366); nit_exit(1);}
18831 /* Register variable[19]: Local variable */
18832 /* Register variable[20]: Result */
18833 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode11*/, NIT_NULL /*null*/, variable[18] /*pexprnode13*/) /*new AAttrPropdef*/;
18834 variable[19] = variable[20];
18835 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
18836 /* Register variable[20]: Result */
18837 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18838 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
18839 return_label320: while(false);
18840 tracehead = trace.prev;
18841 return;
18842 }
18843 void parser___ReduceAction144___init(val_t self, int* init_table) {
18844 struct trace_t trace = {NULL, NULL, 7382, LOCATE_parser___ReduceAction144___init};
18845 val_t variable[2];
18846 struct WBT_ **closurevariable = NULL;
18847 trace.prev = tracehead; tracehead = &trace;
18848 trace.file = LOCATE_parser;
18849 /* Register variable[0]: Local variable */
18850 variable[0] = self;
18851 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction144].i]) return;
18852 /* Register variable[1]: Method return value and escape marker */
18853 return_label321: while(false);
18854 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction144].i] = 1;
18855 tracehead = trace.prev;
18856 return;
18857 }
18858 void parser___ReduceAction145___action(val_t self, val_t param0) {
18859 struct trace_t trace = {NULL, NULL, 7386, LOCATE_parser___ReduceAction145___action};
18860 val_t variable[23];
18861 struct WBT_ **closurevariable = NULL;
18862 trace.prev = tracehead; tracehead = &trace;
18863 trace.file = LOCATE_parser;
18864 /* Register variable[0]: Local variable */
18865 variable[0] = self;
18866 /* Register variable[1]: Local variable */
18867 variable[1] = param0;
18868 /* Register variable[2]: Method return value and escape marker */
18869 /* Register variable[3]: Local variable */
18870 variable[3] = NIT_NULL /*null*/;
18871 /* Register variable[4]: Local variable */
18872 /* Register variable[5]: Result */
18873 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18874 variable[4] = variable[5];
18875 /* Register variable[5]: Local variable */
18876 /* Register variable[6]: Result */
18877 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18878 variable[5] = variable[6];
18879 /* Register variable[6]: Local variable */
18880 /* Register variable[7]: Result */
18881 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18882 variable[6] = variable[7];
18883 /* Register variable[7]: Local variable */
18884 /* Register variable[8]: Result */
18885 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18886 variable[7] = variable[8];
18887 /* Register variable[8]: Local variable */
18888 /* Register variable[9]: Result */
18889 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18890 variable[8] = variable[9];
18891 /* Register variable[9]: Local variable */
18892 /* Register variable[10]: Result */
18893 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18894 variable[9] = variable[10];
18895 /* Register variable[10]: Local variable */
18896 /* Register variable[11]: Result */
18897 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18898 variable[10] = variable[11];
18899 /* Register variable[11]: Local variable */
18900 /* Register variable[12]: Result */
18901 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18902 variable[11] = variable[12];
18903 /* Register variable[12]: Local variable */
18904 /* Register variable[13]: Result */
18905 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18906 variable[12] = variable[13];
18907 /* Register variable[13]: Local variable */
18908 variable[13] = variable[12] /*nodearraylist1*/;
18909 /* Register variable[14]: Result */
18910 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
18911 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7399); nit_exit(1);}
18912 /* Register variable[14]: Local variable */
18913 variable[14] = variable[11] /*nodearraylist2*/;
18914 /* Register variable[15]: Result */
18915 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
18916 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7401); nit_exit(1);}
18917 /* Register variable[15]: Local variable */
18918 variable[15] = variable[10] /*nodearraylist3*/;
18919 /* Register variable[16]: Result */
18920 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
18921 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7403); nit_exit(1);}
18922 /* Register variable[16]: Local variable */
18923 /* Register variable[17]: Result */
18924 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode5*/, variable[15] /*tkwwritablenode6*/) /*new AWriteAble*/;
18925 variable[16] = variable[17];
18926 /* Register variable[17]: Local variable */
18927 variable[17] = variable[9] /*nodearraylist4*/;
18928 /* Register variable[18]: Result */
18929 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
18930 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7409); nit_exit(1);}
18931 /* Register variable[18]: Local variable */
18932 variable[18] = variable[8] /*nodearraylist5*/;
18933 /* Register variable[19]: Result */
18934 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
18935 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7411); nit_exit(1);}
18936 /* Register variable[19]: Local variable */
18937 variable[19] = variable[7] /*nodearraylist6*/;
18938 /* Register variable[20]: Result */
18939 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
18940 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7413); nit_exit(1);}
18941 /* Register variable[20]: Local variable */
18942 variable[20] = variable[4] /*nodearraylist9*/;
18943 /* Register variable[21]: Result */
18944 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
18945 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction145___action, LOCATE_parser, 7415); nit_exit(1);}
18946 /* Register variable[21]: Local variable */
18947 /* Register variable[22]: Result */
18948 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
18949 variable[21] = variable[22];
18950 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
18951 /* Register variable[22]: Result */
18952 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
18953 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
18954 return_label322: while(false);
18955 tracehead = trace.prev;
18956 return;
18957 }
18958 void parser___ReduceAction145___init(val_t self, int* init_table) {
18959 struct trace_t trace = {NULL, NULL, 7431, LOCATE_parser___ReduceAction145___init};
18960 val_t variable[2];
18961 struct WBT_ **closurevariable = NULL;
18962 trace.prev = tracehead; tracehead = &trace;
18963 trace.file = LOCATE_parser;
18964 /* Register variable[0]: Local variable */
18965 variable[0] = self;
18966 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction145].i]) return;
18967 /* Register variable[1]: Method return value and escape marker */
18968 return_label323: while(false);
18969 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction145].i] = 1;
18970 tracehead = trace.prev;
18971 return;
18972 }
18973 void parser___ReduceAction146___action(val_t self, val_t param0) {
18974 struct trace_t trace = {NULL, NULL, 7435, LOCATE_parser___ReduceAction146___action};
18975 val_t variable[18];
18976 struct WBT_ **closurevariable = NULL;
18977 trace.prev = tracehead; tracehead = &trace;
18978 trace.file = LOCATE_parser;
18979 /* Register variable[0]: Local variable */
18980 variable[0] = self;
18981 /* Register variable[1]: Local variable */
18982 variable[1] = param0;
18983 /* Register variable[2]: Method return value and escape marker */
18984 /* Register variable[3]: Local variable */
18985 variable[3] = NIT_NULL /*null*/;
18986 /* Register variable[4]: Local variable */
18987 /* Register variable[5]: Result */
18988 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18989 variable[4] = variable[5];
18990 /* Register variable[5]: Local variable */
18991 /* Register variable[6]: Result */
18992 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18993 variable[5] = variable[6];
18994 /* Register variable[6]: Local variable */
18995 /* Register variable[7]: Result */
18996 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
18997 variable[6] = variable[7];
18998 /* Register variable[7]: Local variable */
18999 /* Register variable[8]: Result */
19000 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19001 variable[7] = variable[8];
19002 /* Register variable[8]: Local variable */
19003 /* Register variable[9]: Result */
19004 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19005 variable[8] = variable[9];
19006 /* Register variable[9]: Local variable */
19007 /* Register variable[10]: Result */
19008 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19009 variable[9] = variable[10];
19010 /* Register variable[10]: Local variable */
19011 /* Register variable[11]: Result */
19012 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19013 variable[10] = variable[11];
19014 /* Register variable[11]: Local variable */
19015 variable[11] = variable[10] /*nodearraylist1*/;
19016 /* Register variable[12]: Result */
19017 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19018 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7446); nit_exit(1);}
19019 /* Register variable[12]: Local variable */
19020 variable[12] = variable[9] /*nodearraylist2*/;
19021 /* Register variable[13]: Result */
19022 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19023 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7448); nit_exit(1);}
19024 /* Register variable[13]: Local variable */
19025 variable[13] = variable[8] /*nodearraylist3*/;
19026 /* Register variable[14]: Result */
19027 variable[14] = TAG_Bool(( variable[13] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19028 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7450); nit_exit(1);}
19029 /* Register variable[14]: Local variable */
19030 variable[14] = variable[7] /*nodearraylist4*/;
19031 /* Register variable[15]: Result */
19032 variable[15] = TAG_Bool(( variable[14] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19033 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7452); nit_exit(1);}
19034 /* Register variable[15]: Local variable */
19035 variable[15] = variable[4] /*nodearraylist7*/;
19036 /* Register variable[16]: Result */
19037 variable[16] = TAG_Bool(( variable[15] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19038 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction146___action, LOCATE_parser, 7454); nit_exit(1);}
19039 /* Register variable[16]: Local variable */
19040 /* Register variable[17]: Result */
19041 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*/, NIT_NULL /*null*/, variable[14] /*tattridnode9*/, NIT_NULL /*null*/, variable[15] /*pexprnode11*/) /*new AAttrPropdef*/;
19042 variable[16] = variable[17];
19043 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
19044 /* Register variable[17]: Result */
19045 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19046 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
19047 return_label324: while(false);
19048 tracehead = trace.prev;
19049 return;
19050 }
19051 void parser___ReduceAction146___init(val_t self, int* init_table) {
19052 struct trace_t trace = {NULL, NULL, 7470, LOCATE_parser___ReduceAction146___init};
19053 val_t variable[2];
19054 struct WBT_ **closurevariable = NULL;
19055 trace.prev = tracehead; tracehead = &trace;
19056 trace.file = LOCATE_parser;
19057 /* Register variable[0]: Local variable */
19058 variable[0] = self;
19059 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction146].i]) return;
19060 /* Register variable[1]: Method return value and escape marker */
19061 return_label325: while(false);
19062 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction146].i] = 1;
19063 tracehead = trace.prev;
19064 return;
19065 }
19066 void parser___ReduceAction147___action(val_t self, val_t param0) {
19067 struct trace_t trace = {NULL, NULL, 7474, LOCATE_parser___ReduceAction147___action};
19068 val_t variable[26];
19069 struct WBT_ **closurevariable = NULL;
19070 trace.prev = tracehead; tracehead = &trace;
19071 trace.file = LOCATE_parser;
19072 /* Register variable[0]: Local variable */
19073 variable[0] = self;
19074 /* Register variable[1]: Local variable */
19075 variable[1] = param0;
19076 /* Register variable[2]: Method return value and escape marker */
19077 /* Register variable[3]: Local variable */
19078 variable[3] = NIT_NULL /*null*/;
19079 /* Register variable[4]: Local variable */
19080 /* Register variable[5]: Result */
19081 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19082 variable[4] = variable[5];
19083 /* Register variable[5]: Local variable */
19084 /* Register variable[6]: Result */
19085 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19086 variable[5] = variable[6];
19087 /* Register variable[6]: Local variable */
19088 /* Register variable[7]: Result */
19089 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19090 variable[6] = variable[7];
19091 /* Register variable[7]: Local variable */
19092 /* Register variable[8]: Result */
19093 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19094 variable[7] = variable[8];
19095 /* Register variable[8]: Local variable */
19096 /* Register variable[9]: Result */
19097 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19098 variable[8] = variable[9];
19099 /* Register variable[9]: Local variable */
19100 /* Register variable[10]: Result */
19101 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19102 variable[9] = variable[10];
19103 /* Register variable[10]: Local variable */
19104 /* Register variable[11]: Result */
19105 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19106 variable[10] = variable[11];
19107 /* Register variable[11]: Local variable */
19108 /* Register variable[12]: Result */
19109 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19110 variable[11] = variable[12];
19111 /* Register variable[12]: Local variable */
19112 /* Register variable[13]: Result */
19113 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19114 variable[12] = variable[13];
19115 /* Register variable[13]: Local variable */
19116 /* Register variable[14]: Result */
19117 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19118 variable[13] = variable[14];
19119 /* Register variable[14]: Local variable */
19120 variable[14] = variable[13] /*nodearraylist1*/;
19121 /* Register variable[15]: Result */
19122 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19123 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7488); nit_exit(1);}
19124 /* Register variable[15]: Local variable */
19125 variable[15] = variable[12] /*nodearraylist2*/;
19126 /* Register variable[16]: Result */
19127 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19128 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7490); nit_exit(1);}
19129 /* Register variable[16]: Local variable */
19130 /* Register variable[17]: Result */
19131 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
19132 variable[16] = variable[17];
19133 /* Register variable[17]: Local variable */
19134 variable[17] = variable[11] /*nodearraylist3*/;
19135 /* Register variable[18]: Result */
19136 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
19137 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7496); nit_exit(1);}
19138 /* Register variable[18]: Local variable */
19139 /* Register variable[19]: Result */
19140 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
19141 variable[18] = variable[19];
19142 /* Register variable[19]: Local variable */
19143 variable[19] = variable[10] /*nodearraylist4*/;
19144 /* Register variable[20]: Result */
19145 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19146 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7502); nit_exit(1);}
19147 /* Register variable[20]: Local variable */
19148 variable[20] = variable[9] /*nodearraylist5*/;
19149 /* Register variable[21]: Result */
19150 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19151 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7504); nit_exit(1);}
19152 /* Register variable[21]: Local variable */
19153 variable[21] = variable[8] /*nodearraylist6*/;
19154 /* Register variable[22]: Result */
19155 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19156 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7506); nit_exit(1);}
19157 /* Register variable[22]: Local variable */
19158 variable[22] = variable[7] /*nodearraylist7*/;
19159 /* Register variable[23]: Result */
19160 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19161 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7508); nit_exit(1);}
19162 /* Register variable[23]: Local variable */
19163 variable[23] = variable[4] /*nodearraylist10*/;
19164 /* Register variable[24]: Result */
19165 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19166 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction147___action, LOCATE_parser, 7510); nit_exit(1);}
19167 /* Register variable[24]: Local variable */
19168 /* Register variable[25]: Result */
19169 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
19170 variable[24] = variable[25];
19171 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
19172 /* Register variable[25]: Result */
19173 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19174 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
19175 return_label326: while(false);
19176 tracehead = trace.prev;
19177 return;
19178 }
19179 void parser___ReduceAction147___init(val_t self, int* init_table) {
19180 struct trace_t trace = {NULL, NULL, 7526, LOCATE_parser___ReduceAction147___init};
19181 val_t variable[2];
19182 struct WBT_ **closurevariable = NULL;
19183 trace.prev = tracehead; tracehead = &trace;
19184 trace.file = LOCATE_parser;
19185 /* Register variable[0]: Local variable */
19186 variable[0] = self;
19187 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction147].i]) return;
19188 /* Register variable[1]: Method return value and escape marker */
19189 return_label327: while(false);
19190 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction147].i] = 1;
19191 tracehead = trace.prev;
19192 return;
19193 }
19194 void parser___ReduceAction148___action(val_t self, val_t param0) {
19195 struct trace_t trace = {NULL, NULL, 7530, LOCATE_parser___ReduceAction148___action};
19196 val_t variable[28];
19197 struct WBT_ **closurevariable = NULL;
19198 trace.prev = tracehead; tracehead = &trace;
19199 trace.file = LOCATE_parser;
19200 /* Register variable[0]: Local variable */
19201 variable[0] = self;
19202 /* Register variable[1]: Local variable */
19203 variable[1] = param0;
19204 /* Register variable[2]: Method return value and escape marker */
19205 /* Register variable[3]: Local variable */
19206 variable[3] = NIT_NULL /*null*/;
19207 /* Register variable[4]: Local variable */
19208 /* Register variable[5]: Result */
19209 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19210 variable[4] = variable[5];
19211 /* Register variable[5]: Local variable */
19212 /* Register variable[6]: Result */
19213 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19214 variable[5] = variable[6];
19215 /* Register variable[6]: Local variable */
19216 /* Register variable[7]: Result */
19217 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19218 variable[6] = variable[7];
19219 /* Register variable[7]: Local variable */
19220 /* Register variable[8]: Result */
19221 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19222 variable[7] = variable[8];
19223 /* Register variable[8]: Local variable */
19224 /* Register variable[9]: Result */
19225 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19226 variable[8] = variable[9];
19227 /* Register variable[9]: Local variable */
19228 /* Register variable[10]: Result */
19229 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19230 variable[9] = variable[10];
19231 /* Register variable[10]: Local variable */
19232 /* Register variable[11]: Result */
19233 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19234 variable[10] = variable[11];
19235 /* Register variable[11]: Local variable */
19236 /* Register variable[12]: Result */
19237 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19238 variable[11] = variable[12];
19239 /* Register variable[12]: Local variable */
19240 /* Register variable[13]: Result */
19241 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19242 variable[12] = variable[13];
19243 /* Register variable[13]: Local variable */
19244 /* Register variable[14]: Result */
19245 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19246 variable[13] = variable[14];
19247 /* Register variable[14]: Local variable */
19248 /* Register variable[15]: Result */
19249 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19250 variable[14] = variable[15];
19251 /* Register variable[15]: Local variable */
19252 variable[15] = variable[14] /*nodearraylist1*/;
19253 /* Register variable[16]: Result */
19254 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19255 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7545); nit_exit(1);}
19256 /* Register variable[16]: Local variable */
19257 variable[16] = variable[13] /*nodearraylist2*/;
19258 /* Register variable[17]: Result */
19259 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19260 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7547); nit_exit(1);}
19261 /* Register variable[17]: Local variable */
19262 /* Register variable[18]: Result */
19263 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
19264 variable[17] = variable[18];
19265 /* Register variable[18]: Local variable */
19266 variable[18] = variable[12] /*nodearraylist3*/;
19267 /* Register variable[19]: Result */
19268 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19269 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7553); nit_exit(1);}
19270 /* Register variable[19]: Local variable */
19271 variable[19] = variable[11] /*nodearraylist4*/;
19272 /* Register variable[20]: Result */
19273 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
19274 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7555); nit_exit(1);}
19275 /* Register variable[20]: Local variable */
19276 /* Register variable[21]: Result */
19277 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
19278 variable[20] = variable[21];
19279 /* Register variable[21]: Local variable */
19280 variable[21] = variable[10] /*nodearraylist5*/;
19281 /* Register variable[22]: Result */
19282 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19283 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7561); nit_exit(1);}
19284 /* Register variable[22]: Local variable */
19285 variable[22] = variable[9] /*nodearraylist6*/;
19286 /* Register variable[23]: Result */
19287 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19288 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7563); nit_exit(1);}
19289 /* Register variable[23]: Local variable */
19290 variable[23] = variable[8] /*nodearraylist7*/;
19291 /* Register variable[24]: Result */
19292 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19293 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7565); nit_exit(1);}
19294 /* Register variable[24]: Local variable */
19295 variable[24] = variable[7] /*nodearraylist8*/;
19296 /* Register variable[25]: Result */
19297 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19298 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7567); nit_exit(1);}
19299 /* Register variable[25]: Local variable */
19300 variable[25] = variable[4] /*nodearraylist11*/;
19301 /* Register variable[26]: Result */
19302 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19303 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction148___action, LOCATE_parser, 7569); nit_exit(1);}
19304 /* Register variable[26]: Local variable */
19305 /* Register variable[27]: Result */
19306 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*/, NIT_NULL /*null*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
19307 variable[26] = variable[27];
19308 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
19309 /* Register variable[27]: Result */
19310 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19311 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
19312 return_label328: while(false);
19313 tracehead = trace.prev;
19314 return;
19315 }
19316 void parser___ReduceAction148___init(val_t self, int* init_table) {
19317 struct trace_t trace = {NULL, NULL, 7585, LOCATE_parser___ReduceAction148___init};
19318 val_t variable[2];
19319 struct WBT_ **closurevariable = NULL;
19320 trace.prev = tracehead; tracehead = &trace;
19321 trace.file = LOCATE_parser;
19322 /* Register variable[0]: Local variable */
19323 variable[0] = self;
19324 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction148].i]) return;
19325 /* Register variable[1]: Method return value and escape marker */
19326 return_label329: while(false);
19327 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction148].i] = 1;
19328 tracehead = trace.prev;
19329 return;
19330 }
19331 void parser___ReduceAction149___action(val_t self, val_t param0) {
19332 struct trace_t trace = {NULL, NULL, 7589, LOCATE_parser___ReduceAction149___action};
19333 val_t variable[23];
19334 struct WBT_ **closurevariable = NULL;
19335 trace.prev = tracehead; tracehead = &trace;
19336 trace.file = LOCATE_parser;
19337 /* Register variable[0]: Local variable */
19338 variable[0] = self;
19339 /* Register variable[1]: Local variable */
19340 variable[1] = param0;
19341 /* Register variable[2]: Method return value and escape marker */
19342 /* Register variable[3]: Local variable */
19343 variable[3] = NIT_NULL /*null*/;
19344 /* Register variable[4]: Local variable */
19345 /* Register variable[5]: Result */
19346 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19347 variable[4] = variable[5];
19348 /* Register variable[5]: Local variable */
19349 /* Register variable[6]: Result */
19350 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19351 variable[5] = variable[6];
19352 /* Register variable[6]: Local variable */
19353 /* Register variable[7]: Result */
19354 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19355 variable[6] = variable[7];
19356 /* Register variable[7]: Local variable */
19357 /* Register variable[8]: Result */
19358 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19359 variable[7] = variable[8];
19360 /* Register variable[8]: Local variable */
19361 /* Register variable[9]: Result */
19362 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19363 variable[8] = variable[9];
19364 /* Register variable[9]: Local variable */
19365 /* Register variable[10]: Result */
19366 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19367 variable[9] = variable[10];
19368 /* Register variable[10]: Local variable */
19369 /* Register variable[11]: Result */
19370 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19371 variable[10] = variable[11];
19372 /* Register variable[11]: Local variable */
19373 /* Register variable[12]: Result */
19374 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19375 variable[11] = variable[12];
19376 /* Register variable[12]: Local variable */
19377 /* Register variable[13]: Result */
19378 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19379 variable[12] = variable[13];
19380 /* Register variable[13]: Local variable */
19381 variable[13] = variable[12] /*nodearraylist1*/;
19382 /* Register variable[14]: Result */
19383 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19384 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7602); nit_exit(1);}
19385 /* Register variable[14]: Local variable */
19386 variable[14] = variable[11] /*nodearraylist2*/;
19387 /* Register variable[15]: Result */
19388 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19389 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7604); nit_exit(1);}
19390 /* Register variable[15]: Local variable */
19391 /* Register variable[16]: Result */
19392 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
19393 variable[15] = variable[16];
19394 /* Register variable[16]: Local variable */
19395 variable[16] = variable[10] /*nodearraylist3*/;
19396 /* Register variable[17]: Result */
19397 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19398 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7610); nit_exit(1);}
19399 /* Register variable[17]: Local variable */
19400 variable[17] = variable[9] /*nodearraylist4*/;
19401 /* Register variable[18]: Result */
19402 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19403 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7612); nit_exit(1);}
19404 /* Register variable[18]: Local variable */
19405 variable[18] = variable[8] /*nodearraylist5*/;
19406 /* Register variable[19]: Result */
19407 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19408 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7614); nit_exit(1);}
19409 /* Register variable[19]: Local variable */
19410 variable[19] = variable[7] /*nodearraylist6*/;
19411 /* Register variable[20]: Result */
19412 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19413 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7616); nit_exit(1);}
19414 /* Register variable[20]: Local variable */
19415 variable[20] = variable[4] /*nodearraylist9*/;
19416 /* Register variable[21]: Result */
19417 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19418 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction149___action, LOCATE_parser, 7618); nit_exit(1);}
19419 /* Register variable[21]: Local variable */
19420 /* Register variable[22]: Result */
19421 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
19422 variable[21] = variable[22];
19423 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
19424 /* Register variable[22]: Result */
19425 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19426 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
19427 return_label330: while(false);
19428 tracehead = trace.prev;
19429 return;
19430 }
19431 void parser___ReduceAction149___init(val_t self, int* init_table) {
19432 struct trace_t trace = {NULL, NULL, 7634, LOCATE_parser___ReduceAction149___init};
19433 val_t variable[2];
19434 struct WBT_ **closurevariable = NULL;
19435 trace.prev = tracehead; tracehead = &trace;
19436 trace.file = LOCATE_parser;
19437 /* Register variable[0]: Local variable */
19438 variable[0] = self;
19439 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction149].i]) return;
19440 /* Register variable[1]: Method return value and escape marker */
19441 return_label331: while(false);
19442 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction149].i] = 1;
19443 tracehead = trace.prev;
19444 return;
19445 }
19446 void parser___ReduceAction150___action(val_t self, val_t param0) {
19447 struct trace_t trace = {NULL, NULL, 7638, LOCATE_parser___ReduceAction150___action};
19448 val_t variable[28];
19449 struct WBT_ **closurevariable = NULL;
19450 trace.prev = tracehead; tracehead = &trace;
19451 trace.file = LOCATE_parser;
19452 /* Register variable[0]: Local variable */
19453 variable[0] = self;
19454 /* Register variable[1]: Local variable */
19455 variable[1] = param0;
19456 /* Register variable[2]: Method return value and escape marker */
19457 /* Register variable[3]: Local variable */
19458 variable[3] = NIT_NULL /*null*/;
19459 /* Register variable[4]: Local variable */
19460 /* Register variable[5]: Result */
19461 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19462 variable[4] = variable[5];
19463 /* Register variable[5]: Local variable */
19464 /* Register variable[6]: Result */
19465 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19466 variable[5] = variable[6];
19467 /* Register variable[6]: Local variable */
19468 /* Register variable[7]: Result */
19469 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19470 variable[6] = variable[7];
19471 /* Register variable[7]: Local variable */
19472 /* Register variable[8]: Result */
19473 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19474 variable[7] = variable[8];
19475 /* Register variable[8]: Local variable */
19476 /* Register variable[9]: Result */
19477 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19478 variable[8] = variable[9];
19479 /* Register variable[9]: Local variable */
19480 /* Register variable[10]: Result */
19481 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19482 variable[9] = variable[10];
19483 /* Register variable[10]: Local variable */
19484 /* Register variable[11]: Result */
19485 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19486 variable[10] = variable[11];
19487 /* Register variable[11]: Local variable */
19488 /* Register variable[12]: Result */
19489 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19490 variable[11] = variable[12];
19491 /* Register variable[12]: Local variable */
19492 /* Register variable[13]: Result */
19493 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19494 variable[12] = variable[13];
19495 /* Register variable[13]: Local variable */
19496 /* Register variable[14]: Result */
19497 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19498 variable[13] = variable[14];
19499 /* Register variable[14]: Local variable */
19500 /* Register variable[15]: Result */
19501 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19502 variable[14] = variable[15];
19503 /* Register variable[15]: Local variable */
19504 variable[15] = variable[14] /*nodearraylist1*/;
19505 /* Register variable[16]: Result */
19506 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19507 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7653); nit_exit(1);}
19508 /* Register variable[16]: Local variable */
19509 variable[16] = variable[13] /*nodearraylist2*/;
19510 /* Register variable[17]: Result */
19511 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19512 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7655); nit_exit(1);}
19513 /* Register variable[17]: Local variable */
19514 variable[17] = variable[12] /*nodearraylist3*/;
19515 /* Register variable[18]: Result */
19516 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19517 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7657); nit_exit(1);}
19518 /* Register variable[18]: Local variable */
19519 /* Register variable[19]: Result */
19520 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
19521 variable[18] = variable[19];
19522 /* Register variable[19]: Local variable */
19523 variable[19] = variable[11] /*nodearraylist4*/;
19524 /* Register variable[20]: Result */
19525 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
19526 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7663); nit_exit(1);}
19527 /* Register variable[20]: Local variable */
19528 /* Register variable[21]: Result */
19529 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
19530 variable[20] = variable[21];
19531 /* Register variable[21]: Local variable */
19532 variable[21] = variable[10] /*nodearraylist5*/;
19533 /* Register variable[22]: Result */
19534 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19535 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7669); nit_exit(1);}
19536 /* Register variable[22]: Local variable */
19537 variable[22] = variable[9] /*nodearraylist6*/;
19538 /* Register variable[23]: Result */
19539 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19540 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7671); nit_exit(1);}
19541 /* Register variable[23]: Local variable */
19542 variable[23] = variable[8] /*nodearraylist7*/;
19543 /* Register variable[24]: Result */
19544 variable[24] = TAG_Bool(( variable[23] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19545 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7673); nit_exit(1);}
19546 /* Register variable[24]: Local variable */
19547 variable[24] = variable[7] /*nodearraylist8*/;
19548 /* Register variable[25]: Result */
19549 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19550 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7675); nit_exit(1);}
19551 /* Register variable[25]: Local variable */
19552 variable[25] = variable[4] /*nodearraylist11*/;
19553 /* Register variable[26]: Result */
19554 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19555 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction150___action, LOCATE_parser, 7677); nit_exit(1);}
19556 /* Register variable[26]: Local variable */
19557 /* Register variable[27]: Result */
19558 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*/, NIT_NULL /*null*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
19559 variable[26] = variable[27];
19560 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
19561 /* Register variable[27]: Result */
19562 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19563 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
19564 return_label332: while(false);
19565 tracehead = trace.prev;
19566 return;
19567 }
19568 void parser___ReduceAction150___init(val_t self, int* init_table) {
19569 struct trace_t trace = {NULL, NULL, 7693, LOCATE_parser___ReduceAction150___init};
19570 val_t variable[2];
19571 struct WBT_ **closurevariable = NULL;
19572 trace.prev = tracehead; tracehead = &trace;
19573 trace.file = LOCATE_parser;
19574 /* Register variable[0]: Local variable */
19575 variable[0] = self;
19576 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction150].i]) return;
19577 /* Register variable[1]: Method return value and escape marker */
19578 return_label333: while(false);
19579 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction150].i] = 1;
19580 tracehead = trace.prev;
19581 return;
19582 }
19583 void parser___ReduceAction151___action(val_t self, val_t param0) {
19584 struct trace_t trace = {NULL, NULL, 7697, LOCATE_parser___ReduceAction151___action};
19585 val_t variable[30];
19586 struct WBT_ **closurevariable = NULL;
19587 trace.prev = tracehead; tracehead = &trace;
19588 trace.file = LOCATE_parser;
19589 /* Register variable[0]: Local variable */
19590 variable[0] = self;
19591 /* Register variable[1]: Local variable */
19592 variable[1] = param0;
19593 /* Register variable[2]: Method return value and escape marker */
19594 /* Register variable[3]: Local variable */
19595 variable[3] = NIT_NULL /*null*/;
19596 /* Register variable[4]: Local variable */
19597 /* Register variable[5]: Result */
19598 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19599 variable[4] = variable[5];
19600 /* Register variable[5]: Local variable */
19601 /* Register variable[6]: Result */
19602 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19603 variable[5] = variable[6];
19604 /* Register variable[6]: Local variable */
19605 /* Register variable[7]: Result */
19606 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19607 variable[6] = variable[7];
19608 /* Register variable[7]: Local variable */
19609 /* Register variable[8]: Result */
19610 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19611 variable[7] = variable[8];
19612 /* Register variable[8]: Local variable */
19613 /* Register variable[9]: Result */
19614 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19615 variable[8] = variable[9];
19616 /* Register variable[9]: Local variable */
19617 /* Register variable[10]: Result */
19618 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19619 variable[9] = variable[10];
19620 /* Register variable[10]: Local variable */
19621 /* Register variable[11]: Result */
19622 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19623 variable[10] = variable[11];
19624 /* Register variable[11]: Local variable */
19625 /* Register variable[12]: Result */
19626 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19627 variable[11] = variable[12];
19628 /* Register variable[12]: Local variable */
19629 /* Register variable[13]: Result */
19630 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19631 variable[12] = variable[13];
19632 /* Register variable[13]: Local variable */
19633 /* Register variable[14]: Result */
19634 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19635 variable[13] = variable[14];
19636 /* Register variable[14]: Local variable */
19637 /* Register variable[15]: Result */
19638 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19639 variable[14] = variable[15];
19640 /* Register variable[15]: Local variable */
19641 /* Register variable[16]: Result */
19642 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19643 variable[15] = variable[16];
19644 /* Register variable[16]: Local variable */
19645 variable[16] = variable[15] /*nodearraylist1*/;
19646 /* Register variable[17]: Result */
19647 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19648 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7713); nit_exit(1);}
19649 /* Register variable[17]: Local variable */
19650 variable[17] = variable[14] /*nodearraylist2*/;
19651 /* Register variable[18]: Result */
19652 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19653 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7715); nit_exit(1);}
19654 /* Register variable[18]: Local variable */
19655 variable[18] = variable[13] /*nodearraylist3*/;
19656 /* Register variable[19]: Result */
19657 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19658 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7717); nit_exit(1);}
19659 /* Register variable[19]: Local variable */
19660 /* Register variable[20]: Result */
19661 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
19662 variable[19] = variable[20];
19663 /* Register variable[20]: Local variable */
19664 variable[20] = variable[12] /*nodearraylist4*/;
19665 /* Register variable[21]: Result */
19666 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19667 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7723); nit_exit(1);}
19668 /* Register variable[21]: Local variable */
19669 variable[21] = variable[11] /*nodearraylist5*/;
19670 /* Register variable[22]: Result */
19671 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
19672 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7725); nit_exit(1);}
19673 /* Register variable[22]: Local variable */
19674 /* Register variable[23]: Result */
19675 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/) /*new AWriteAble*/;
19676 variable[22] = variable[23];
19677 /* Register variable[23]: Local variable */
19678 variable[23] = variable[10] /*nodearraylist6*/;
19679 /* Register variable[24]: Result */
19680 variable[24] = TAG_Bool(( variable[23] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19681 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7731); nit_exit(1);}
19682 /* Register variable[24]: Local variable */
19683 variable[24] = variable[9] /*nodearraylist7*/;
19684 /* Register variable[25]: Result */
19685 variable[25] = TAG_Bool(( variable[24] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[24] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19686 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7733); nit_exit(1);}
19687 /* Register variable[25]: Local variable */
19688 variable[25] = variable[8] /*nodearraylist8*/;
19689 /* Register variable[26]: Result */
19690 variable[26] = TAG_Bool(( variable[25] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[25] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19691 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7735); nit_exit(1);}
19692 /* Register variable[26]: Local variable */
19693 variable[26] = variable[7] /*nodearraylist9*/;
19694 /* Register variable[27]: Result */
19695 variable[27] = TAG_Bool(( variable[26] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19696 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7737); nit_exit(1);}
19697 /* Register variable[27]: Local variable */
19698 variable[27] = variable[4] /*nodearraylist12*/;
19699 /* Register variable[28]: Result */
19700 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19701 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction151___action, LOCATE_parser, 7739); nit_exit(1);}
19702 /* Register variable[28]: Local variable */
19703 /* Register variable[29]: Result */
19704 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*/, NIT_NULL /*null*/, variable[26] /*tattridnode13*/, NIT_NULL /*null*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
19705 variable[28] = variable[29];
19706 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
19707 /* Register variable[29]: Result */
19708 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19709 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
19710 return_label334: while(false);
19711 tracehead = trace.prev;
19712 return;
19713 }
19714 void parser___ReduceAction151___init(val_t self, int* init_table) {
19715 struct trace_t trace = {NULL, NULL, 7755, LOCATE_parser___ReduceAction151___init};
19716 val_t variable[2];
19717 struct WBT_ **closurevariable = NULL;
19718 trace.prev = tracehead; tracehead = &trace;
19719 trace.file = LOCATE_parser;
19720 /* Register variable[0]: Local variable */
19721 variable[0] = self;
19722 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction151].i]) return;
19723 /* Register variable[1]: Method return value and escape marker */
19724 return_label335: while(false);
19725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction151].i] = 1;
19726 tracehead = trace.prev;
19727 return;
19728 }
19729 void parser___ReduceAction152___action(val_t self, val_t param0) {
19730 struct trace_t trace = {NULL, NULL, 7759, LOCATE_parser___ReduceAction152___action};
19731 val_t variable[25];
19732 struct WBT_ **closurevariable = NULL;
19733 trace.prev = tracehead; tracehead = &trace;
19734 trace.file = LOCATE_parser;
19735 /* Register variable[0]: Local variable */
19736 variable[0] = self;
19737 /* Register variable[1]: Local variable */
19738 variable[1] = param0;
19739 /* Register variable[2]: Method return value and escape marker */
19740 /* Register variable[3]: Local variable */
19741 variable[3] = NIT_NULL /*null*/;
19742 /* Register variable[4]: Local variable */
19743 /* Register variable[5]: Result */
19744 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19745 variable[4] = variable[5];
19746 /* Register variable[5]: Local variable */
19747 /* Register variable[6]: Result */
19748 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19749 variable[5] = variable[6];
19750 /* Register variable[6]: Local variable */
19751 /* Register variable[7]: Result */
19752 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19753 variable[6] = variable[7];
19754 /* Register variable[7]: Local variable */
19755 /* Register variable[8]: Result */
19756 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19757 variable[7] = variable[8];
19758 /* Register variable[8]: Local variable */
19759 /* Register variable[9]: Result */
19760 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19761 variable[8] = variable[9];
19762 /* Register variable[9]: Local variable */
19763 /* Register variable[10]: Result */
19764 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19765 variable[9] = variable[10];
19766 /* Register variable[10]: Local variable */
19767 /* Register variable[11]: Result */
19768 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19769 variable[10] = variable[11];
19770 /* Register variable[11]: Local variable */
19771 /* Register variable[12]: Result */
19772 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19773 variable[11] = variable[12];
19774 /* Register variable[12]: Local variable */
19775 /* Register variable[13]: Result */
19776 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19777 variable[12] = variable[13];
19778 /* Register variable[13]: Local variable */
19779 /* Register variable[14]: Result */
19780 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19781 variable[13] = variable[14];
19782 /* Register variable[14]: Local variable */
19783 variable[14] = variable[13] /*nodearraylist1*/;
19784 /* Register variable[15]: Result */
19785 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19786 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7773); nit_exit(1);}
19787 /* Register variable[15]: Local variable */
19788 variable[15] = variable[12] /*nodearraylist2*/;
19789 /* Register variable[16]: Result */
19790 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19791 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7775); nit_exit(1);}
19792 /* Register variable[16]: Local variable */
19793 variable[16] = variable[11] /*nodearraylist3*/;
19794 /* Register variable[17]: Result */
19795 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
19796 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7777); nit_exit(1);}
19797 /* Register variable[17]: Local variable */
19798 /* Register variable[18]: Result */
19799 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
19800 variable[17] = variable[18];
19801 /* Register variable[18]: Local variable */
19802 variable[18] = variable[10] /*nodearraylist4*/;
19803 /* Register variable[19]: Result */
19804 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19805 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7783); nit_exit(1);}
19806 /* Register variable[19]: Local variable */
19807 variable[19] = variable[9] /*nodearraylist5*/;
19808 /* Register variable[20]: Result */
19809 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19810 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7785); nit_exit(1);}
19811 /* Register variable[20]: Local variable */
19812 variable[20] = variable[8] /*nodearraylist6*/;
19813 /* Register variable[21]: Result */
19814 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19815 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7787); nit_exit(1);}
19816 /* Register variable[21]: Local variable */
19817 variable[21] = variable[7] /*nodearraylist7*/;
19818 /* Register variable[22]: Result */
19819 variable[22] = TAG_Bool(( variable[21] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19820 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7789); nit_exit(1);}
19821 /* Register variable[22]: Local variable */
19822 variable[22] = variable[4] /*nodearraylist10*/;
19823 /* Register variable[23]: Result */
19824 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19825 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction152___action, LOCATE_parser, 7791); nit_exit(1);}
19826 /* Register variable[23]: Local variable */
19827 /* Register variable[24]: Result */
19828 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode11*/, NIT_NULL /*null*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
19829 variable[23] = variable[24];
19830 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
19831 /* Register variable[24]: Result */
19832 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19833 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
19834 return_label336: while(false);
19835 tracehead = trace.prev;
19836 return;
19837 }
19838 void parser___ReduceAction152___init(val_t self, int* init_table) {
19839 struct trace_t trace = {NULL, NULL, 7807, LOCATE_parser___ReduceAction152___init};
19840 val_t variable[2];
19841 struct WBT_ **closurevariable = NULL;
19842 trace.prev = tracehead; tracehead = &trace;
19843 trace.file = LOCATE_parser;
19844 /* Register variable[0]: Local variable */
19845 variable[0] = self;
19846 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction152].i]) return;
19847 /* Register variable[1]: Method return value and escape marker */
19848 return_label337: while(false);
19849 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction152].i] = 1;
19850 tracehead = trace.prev;
19851 return;
19852 }
19853 void parser___ReduceAction153___action(val_t self, val_t param0) {
19854 struct trace_t trace = {NULL, NULL, 7811, LOCATE_parser___ReduceAction153___action};
19855 val_t variable[23];
19856 struct WBT_ **closurevariable = NULL;
19857 trace.prev = tracehead; tracehead = &trace;
19858 trace.file = LOCATE_parser;
19859 /* Register variable[0]: Local variable */
19860 variable[0] = self;
19861 /* Register variable[1]: Local variable */
19862 variable[1] = param0;
19863 /* Register variable[2]: Method return value and escape marker */
19864 /* Register variable[3]: Local variable */
19865 variable[3] = NIT_NULL /*null*/;
19866 /* Register variable[4]: Local variable */
19867 /* Register variable[5]: Result */
19868 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19869 variable[4] = variable[5];
19870 /* Register variable[5]: Local variable */
19871 /* Register variable[6]: Result */
19872 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19873 variable[5] = variable[6];
19874 /* Register variable[6]: Local variable */
19875 /* Register variable[7]: Result */
19876 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19877 variable[6] = variable[7];
19878 /* Register variable[7]: Local variable */
19879 /* Register variable[8]: Result */
19880 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19881 variable[7] = variable[8];
19882 /* Register variable[8]: Local variable */
19883 /* Register variable[9]: Result */
19884 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19885 variable[8] = variable[9];
19886 /* Register variable[9]: Local variable */
19887 /* Register variable[10]: Result */
19888 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19889 variable[9] = variable[10];
19890 /* Register variable[10]: Local variable */
19891 /* Register variable[11]: Result */
19892 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19893 variable[10] = variable[11];
19894 /* Register variable[11]: Local variable */
19895 /* Register variable[12]: Result */
19896 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19897 variable[11] = variable[12];
19898 /* Register variable[12]: Local variable */
19899 /* Register variable[13]: Result */
19900 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19901 variable[12] = variable[13];
19902 /* Register variable[13]: Local variable */
19903 variable[13] = variable[12] /*nodearraylist1*/;
19904 /* Register variable[14]: Result */
19905 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
19906 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7824); nit_exit(1);}
19907 /* Register variable[14]: Local variable */
19908 variable[14] = variable[11] /*nodearraylist2*/;
19909 /* Register variable[15]: Result */
19910 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
19911 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7826); nit_exit(1);}
19912 /* Register variable[15]: Local variable */
19913 /* Register variable[16]: Result */
19914 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
19915 variable[15] = variable[16];
19916 /* Register variable[16]: Local variable */
19917 variable[16] = variable[10] /*nodearraylist3*/;
19918 /* Register variable[17]: Result */
19919 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
19920 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7832); nit_exit(1);}
19921 /* Register variable[17]: Local variable */
19922 variable[17] = variable[9] /*nodearraylist4*/;
19923 /* Register variable[18]: Result */
19924 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
19925 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7834); nit_exit(1);}
19926 /* Register variable[18]: Local variable */
19927 variable[18] = variable[8] /*nodearraylist5*/;
19928 /* Register variable[19]: Result */
19929 variable[19] = TAG_Bool(( variable[18] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
19930 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7836); nit_exit(1);}
19931 /* Register variable[19]: Local variable */
19932 variable[19] = variable[7] /*nodearraylist6*/;
19933 /* Register variable[20]: Result */
19934 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
19935 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7838); nit_exit(1);}
19936 /* Register variable[20]: Local variable */
19937 variable[20] = variable[4] /*nodearraylist9*/;
19938 /* Register variable[21]: Result */
19939 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
19940 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction153___action, LOCATE_parser, 7840); nit_exit(1);}
19941 /* Register variable[21]: Local variable */
19942 /* Register variable[22]: Result */
19943 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*/, NIT_NULL /*null*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
19944 variable[21] = variable[22];
19945 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
19946 /* Register variable[22]: Result */
19947 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
19948 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
19949 return_label338: while(false);
19950 tracehead = trace.prev;
19951 return;
19952 }
19953 void parser___ReduceAction153___init(val_t self, int* init_table) {
19954 struct trace_t trace = {NULL, NULL, 7856, LOCATE_parser___ReduceAction153___init};
19955 val_t variable[2];
19956 struct WBT_ **closurevariable = NULL;
19957 trace.prev = tracehead; tracehead = &trace;
19958 trace.file = LOCATE_parser;
19959 /* Register variable[0]: Local variable */
19960 variable[0] = self;
19961 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction153].i]) return;
19962 /* Register variable[1]: Method return value and escape marker */
19963 return_label339: while(false);
19964 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction153].i] = 1;
19965 tracehead = trace.prev;
19966 return;
19967 }
19968 void parser___ReduceAction154___action(val_t self, val_t param0) {
19969 struct trace_t trace = {NULL, NULL, 7860, LOCATE_parser___ReduceAction154___action};
19970 val_t variable[25];
19971 struct WBT_ **closurevariable = NULL;
19972 trace.prev = tracehead; tracehead = &trace;
19973 trace.file = LOCATE_parser;
19974 /* Register variable[0]: Local variable */
19975 variable[0] = self;
19976 /* Register variable[1]: Local variable */
19977 variable[1] = param0;
19978 /* Register variable[2]: Method return value and escape marker */
19979 /* Register variable[3]: Local variable */
19980 variable[3] = NIT_NULL /*null*/;
19981 /* Register variable[4]: Local variable */
19982 /* Register variable[5]: Result */
19983 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19984 variable[4] = variable[5];
19985 /* Register variable[5]: Local variable */
19986 /* Register variable[6]: Result */
19987 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19988 variable[5] = variable[6];
19989 /* Register variable[6]: Local variable */
19990 /* Register variable[7]: Result */
19991 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19992 variable[6] = variable[7];
19993 /* Register variable[7]: Local variable */
19994 /* Register variable[8]: Result */
19995 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
19996 variable[7] = variable[8];
19997 /* Register variable[8]: Local variable */
19998 /* Register variable[9]: Result */
19999 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20000 variable[8] = variable[9];
20001 /* Register variable[9]: Local variable */
20002 /* Register variable[10]: Result */
20003 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20004 variable[9] = variable[10];
20005 /* Register variable[10]: Local variable */
20006 /* Register variable[11]: Result */
20007 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20008 variable[10] = variable[11];
20009 /* Register variable[11]: Local variable */
20010 /* Register variable[12]: Result */
20011 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20012 variable[11] = variable[12];
20013 /* Register variable[12]: Local variable */
20014 /* Register variable[13]: Result */
20015 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20016 variable[12] = variable[13];
20017 /* Register variable[13]: Local variable */
20018 /* Register variable[14]: Result */
20019 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20020 variable[13] = variable[14];
20021 /* Register variable[14]: Local variable */
20022 variable[14] = variable[13] /*nodearraylist1*/;
20023 /* Register variable[15]: Result */
20024 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20025 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7874); nit_exit(1);}
20026 /* Register variable[15]: Local variable */
20027 variable[15] = variable[12] /*nodearraylist2*/;
20028 /* Register variable[16]: Result */
20029 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20030 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7876); nit_exit(1);}
20031 /* Register variable[16]: Local variable */
20032 variable[16] = variable[11] /*nodearraylist3*/;
20033 /* Register variable[17]: Result */
20034 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
20035 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7878); nit_exit(1);}
20036 /* Register variable[17]: Local variable */
20037 /* Register variable[18]: Result */
20038 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/) /*new AWriteAble*/;
20039 variable[17] = variable[18];
20040 /* Register variable[18]: Local variable */
20041 variable[18] = variable[10] /*nodearraylist4*/;
20042 /* Register variable[19]: Result */
20043 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20044 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7884); nit_exit(1);}
20045 /* Register variable[19]: Local variable */
20046 variable[19] = variable[9] /*nodearraylist5*/;
20047 /* Register variable[20]: Result */
20048 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20049 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7886); nit_exit(1);}
20050 /* Register variable[20]: Local variable */
20051 variable[20] = variable[8] /*nodearraylist6*/;
20052 /* Register variable[21]: Result */
20053 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20054 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7888); nit_exit(1);}
20055 /* Register variable[21]: Local variable */
20056 variable[21] = variable[7] /*nodearraylist7*/;
20057 /* Register variable[22]: Result */
20058 variable[22] = TAG_Bool(( variable[21] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20059 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7890); nit_exit(1);}
20060 /* Register variable[22]: Local variable */
20061 variable[22] = variable[4] /*nodearraylist10*/;
20062 /* Register variable[23]: Result */
20063 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20064 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction154___action, LOCATE_parser, 7892); nit_exit(1);}
20065 /* Register variable[23]: Local variable */
20066 /* Register variable[24]: Result */
20067 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode11*/, NIT_NULL /*null*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
20068 variable[23] = variable[24];
20069 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
20070 /* Register variable[24]: Result */
20071 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20072 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
20073 return_label340: while(false);
20074 tracehead = trace.prev;
20075 return;
20076 }
20077 void parser___ReduceAction154___init(val_t self, int* init_table) {
20078 struct trace_t trace = {NULL, NULL, 7908, LOCATE_parser___ReduceAction154___init};
20079 val_t variable[2];
20080 struct WBT_ **closurevariable = NULL;
20081 trace.prev = tracehead; tracehead = &trace;
20082 trace.file = LOCATE_parser;
20083 /* Register variable[0]: Local variable */
20084 variable[0] = self;
20085 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction154].i]) return;
20086 /* Register variable[1]: Method return value and escape marker */
20087 return_label341: while(false);
20088 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction154].i] = 1;
20089 tracehead = trace.prev;
20090 return;
20091 }
20092 void parser___ReduceAction155___action(val_t self, val_t param0) {
20093 struct trace_t trace = {NULL, NULL, 7912, LOCATE_parser___ReduceAction155___action};
20094 val_t variable[20];
20095 struct WBT_ **closurevariable = NULL;
20096 trace.prev = tracehead; tracehead = &trace;
20097 trace.file = LOCATE_parser;
20098 /* Register variable[0]: Local variable */
20099 variable[0] = self;
20100 /* Register variable[1]: Local variable */
20101 variable[1] = param0;
20102 /* Register variable[2]: Method return value and escape marker */
20103 /* Register variable[3]: Local variable */
20104 variable[3] = NIT_NULL /*null*/;
20105 /* Register variable[4]: Local variable */
20106 /* Register variable[5]: Result */
20107 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20108 variable[4] = variable[5];
20109 /* Register variable[5]: Local variable */
20110 /* Register variable[6]: Result */
20111 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20112 variable[5] = variable[6];
20113 /* Register variable[6]: Local variable */
20114 /* Register variable[7]: Result */
20115 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20116 variable[6] = variable[7];
20117 /* Register variable[7]: Local variable */
20118 /* Register variable[8]: Result */
20119 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20120 variable[7] = variable[8];
20121 /* Register variable[8]: Local variable */
20122 /* Register variable[9]: Result */
20123 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20124 variable[8] = variable[9];
20125 /* Register variable[9]: Local variable */
20126 /* Register variable[10]: Result */
20127 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20128 variable[9] = variable[10];
20129 /* Register variable[10]: Local variable */
20130 /* Register variable[11]: Result */
20131 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20132 variable[10] = variable[11];
20133 /* Register variable[11]: Local variable */
20134 /* Register variable[12]: Result */
20135 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20136 variable[11] = variable[12];
20137 /* Register variable[12]: Local variable */
20138 variable[12] = variable[11] /*nodearraylist1*/;
20139 /* Register variable[13]: Result */
20140 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20141 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7924); nit_exit(1);}
20142 /* Register variable[13]: Local variable */
20143 variable[13] = variable[10] /*nodearraylist2*/;
20144 /* Register variable[14]: Result */
20145 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20146 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7926); nit_exit(1);}
20147 /* Register variable[14]: Local variable */
20148 variable[14] = variable[9] /*nodearraylist3*/;
20149 /* Register variable[15]: Result */
20150 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20151 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7928); nit_exit(1);}
20152 /* Register variable[15]: Local variable */
20153 variable[15] = variable[8] /*nodearraylist4*/;
20154 /* Register variable[16]: Result */
20155 variable[16] = TAG_Bool(( variable[15] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20156 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7930); nit_exit(1);}
20157 /* Register variable[16]: Local variable */
20158 variable[16] = variable[7] /*nodearraylist5*/;
20159 /* Register variable[17]: Result */
20160 variable[17] = TAG_Bool(( variable[16] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20161 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7932); nit_exit(1);}
20162 /* Register variable[17]: Local variable */
20163 variable[17] = variable[4] /*nodearraylist8*/;
20164 /* Register variable[18]: Result */
20165 variable[18] = TAG_Bool(( variable[17] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20166 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction155___action, LOCATE_parser, 7934); nit_exit(1);}
20167 /* Register variable[18]: Local variable */
20168 /* Register variable[19]: Result */
20169 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*/, NIT_NULL /*null*/, variable[16] /*tattridnode9*/, NIT_NULL /*null*/, variable[17] /*pexprnode11*/) /*new AAttrPropdef*/;
20170 variable[18] = variable[19];
20171 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
20172 /* Register variable[19]: Result */
20173 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20174 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
20175 return_label342: while(false);
20176 tracehead = trace.prev;
20177 return;
20178 }
20179 void parser___ReduceAction155___init(val_t self, int* init_table) {
20180 struct trace_t trace = {NULL, NULL, 7950, LOCATE_parser___ReduceAction155___init};
20181 val_t variable[2];
20182 struct WBT_ **closurevariable = NULL;
20183 trace.prev = tracehead; tracehead = &trace;
20184 trace.file = LOCATE_parser;
20185 /* Register variable[0]: Local variable */
20186 variable[0] = self;
20187 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction155].i]) return;
20188 /* Register variable[1]: Method return value and escape marker */
20189 return_label343: while(false);
20190 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction155].i] = 1;
20191 tracehead = trace.prev;
20192 return;
20193 }
20194 void parser___ReduceAction156___action(val_t self, val_t param0) {
20195 struct trace_t trace = {NULL, NULL, 7954, LOCATE_parser___ReduceAction156___action};
20196 val_t variable[26];
20197 struct WBT_ **closurevariable = NULL;
20198 trace.prev = tracehead; tracehead = &trace;
20199 trace.file = LOCATE_parser;
20200 /* Register variable[0]: Local variable */
20201 variable[0] = self;
20202 /* Register variable[1]: Local variable */
20203 variable[1] = param0;
20204 /* Register variable[2]: Method return value and escape marker */
20205 /* Register variable[3]: Local variable */
20206 variable[3] = NIT_NULL /*null*/;
20207 /* Register variable[4]: Local variable */
20208 /* Register variable[5]: Result */
20209 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20210 variable[4] = variable[5];
20211 /* Register variable[5]: Local variable */
20212 /* Register variable[6]: Result */
20213 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20214 variable[5] = variable[6];
20215 /* Register variable[6]: Local variable */
20216 /* Register variable[7]: Result */
20217 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20218 variable[6] = variable[7];
20219 /* Register variable[7]: Local variable */
20220 /* Register variable[8]: Result */
20221 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20222 variable[7] = variable[8];
20223 /* Register variable[8]: Local variable */
20224 /* Register variable[9]: Result */
20225 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20226 variable[8] = variable[9];
20227 /* Register variable[9]: Local variable */
20228 /* Register variable[10]: Result */
20229 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20230 variable[9] = variable[10];
20231 /* Register variable[10]: Local variable */
20232 /* Register variable[11]: Result */
20233 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20234 variable[10] = variable[11];
20235 /* Register variable[11]: Local variable */
20236 /* Register variable[12]: Result */
20237 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20238 variable[11] = variable[12];
20239 /* Register variable[12]: Local variable */
20240 /* Register variable[13]: Result */
20241 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20242 variable[12] = variable[13];
20243 /* Register variable[13]: Local variable */
20244 /* Register variable[14]: Result */
20245 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20246 variable[13] = variable[14];
20247 /* Register variable[14]: Local variable */
20248 variable[14] = variable[13] /*nodearraylist1*/;
20249 /* Register variable[15]: Result */
20250 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20251 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7968); nit_exit(1);}
20252 /* Register variable[15]: Local variable */
20253 variable[15] = variable[12] /*nodearraylist2*/;
20254 /* Register variable[16]: Result */
20255 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20256 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7970); nit_exit(1);}
20257 /* Register variable[16]: Local variable */
20258 /* Register variable[17]: Result */
20259 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
20260 variable[16] = variable[17];
20261 /* Register variable[17]: Local variable */
20262 variable[17] = variable[11] /*nodearraylist3*/;
20263 /* Register variable[18]: Result */
20264 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
20265 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7976); nit_exit(1);}
20266 /* Register variable[18]: Local variable */
20267 /* Register variable[19]: Result */
20268 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
20269 variable[18] = variable[19];
20270 /* Register variable[19]: Local variable */
20271 variable[19] = variable[10] /*nodearraylist4*/;
20272 /* Register variable[20]: Result */
20273 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20274 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7982); nit_exit(1);}
20275 /* Register variable[20]: Local variable */
20276 variable[20] = variable[9] /*nodearraylist5*/;
20277 /* Register variable[21]: Result */
20278 variable[21] = TAG_Bool(( variable[20] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20279 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7984); nit_exit(1);}
20280 /* Register variable[21]: Local variable */
20281 variable[21] = variable[8] /*nodearraylist6*/;
20282 /* Register variable[22]: Result */
20283 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20284 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7986); nit_exit(1);}
20285 /* Register variable[22]: Local variable */
20286 variable[22] = variable[7] /*nodearraylist7*/;
20287 /* Register variable[23]: Result */
20288 variable[23] = TAG_Bool(( variable[22] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
20289 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7988); nit_exit(1);}
20290 /* Register variable[23]: Local variable */
20291 variable[23] = variable[4] /*nodearraylist10*/;
20292 /* Register variable[24]: Result */
20293 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20294 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction156___action, LOCATE_parser, 7990); nit_exit(1);}
20295 /* Register variable[24]: Local variable */
20296 /* Register variable[25]: Result */
20297 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*/, NIT_NULL /*null*/, variable[21] /*tattridnode13*/, variable[22] /*ptypenode14*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
20298 variable[24] = variable[25];
20299 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
20300 /* Register variable[25]: Result */
20301 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20302 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
20303 return_label344: while(false);
20304 tracehead = trace.prev;
20305 return;
20306 }
20307 void parser___ReduceAction156___init(val_t self, int* init_table) {
20308 struct trace_t trace = {NULL, NULL, 8006, LOCATE_parser___ReduceAction156___init};
20309 val_t variable[2];
20310 struct WBT_ **closurevariable = NULL;
20311 trace.prev = tracehead; tracehead = &trace;
20312 trace.file = LOCATE_parser;
20313 /* Register variable[0]: Local variable */
20314 variable[0] = self;
20315 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction156].i]) return;
20316 /* Register variable[1]: Method return value and escape marker */
20317 return_label345: while(false);
20318 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction156].i] = 1;
20319 tracehead = trace.prev;
20320 return;
20321 }
20322 void parser___ReduceAction157___action(val_t self, val_t param0) {
20323 struct trace_t trace = {NULL, NULL, 8010, LOCATE_parser___ReduceAction157___action};
20324 val_t variable[28];
20325 struct WBT_ **closurevariable = NULL;
20326 trace.prev = tracehead; tracehead = &trace;
20327 trace.file = LOCATE_parser;
20328 /* Register variable[0]: Local variable */
20329 variable[0] = self;
20330 /* Register variable[1]: Local variable */
20331 variable[1] = param0;
20332 /* Register variable[2]: Method return value and escape marker */
20333 /* Register variable[3]: Local variable */
20334 variable[3] = NIT_NULL /*null*/;
20335 /* Register variable[4]: Local variable */
20336 /* Register variable[5]: Result */
20337 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20338 variable[4] = variable[5];
20339 /* Register variable[5]: Local variable */
20340 /* Register variable[6]: Result */
20341 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20342 variable[5] = variable[6];
20343 /* Register variable[6]: Local variable */
20344 /* Register variable[7]: Result */
20345 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20346 variable[6] = variable[7];
20347 /* Register variable[7]: Local variable */
20348 /* Register variable[8]: Result */
20349 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20350 variable[7] = variable[8];
20351 /* Register variable[8]: Local variable */
20352 /* Register variable[9]: Result */
20353 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20354 variable[8] = variable[9];
20355 /* Register variable[9]: Local variable */
20356 /* Register variable[10]: Result */
20357 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20358 variable[9] = variable[10];
20359 /* Register variable[10]: Local variable */
20360 /* Register variable[11]: Result */
20361 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20362 variable[10] = variable[11];
20363 /* Register variable[11]: Local variable */
20364 /* Register variable[12]: Result */
20365 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20366 variable[11] = variable[12];
20367 /* Register variable[12]: Local variable */
20368 /* Register variable[13]: Result */
20369 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20370 variable[12] = variable[13];
20371 /* Register variable[13]: Local variable */
20372 /* Register variable[14]: Result */
20373 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20374 variable[13] = variable[14];
20375 /* Register variable[14]: Local variable */
20376 /* Register variable[15]: Result */
20377 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20378 variable[14] = variable[15];
20379 /* Register variable[15]: Local variable */
20380 variable[15] = variable[14] /*nodearraylist1*/;
20381 /* Register variable[16]: Result */
20382 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20383 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8025); nit_exit(1);}
20384 /* Register variable[16]: Local variable */
20385 variable[16] = variable[13] /*nodearraylist2*/;
20386 /* Register variable[17]: Result */
20387 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20388 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8027); nit_exit(1);}
20389 /* Register variable[17]: Local variable */
20390 /* Register variable[18]: Result */
20391 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
20392 variable[17] = variable[18];
20393 /* Register variable[18]: Local variable */
20394 variable[18] = variable[12] /*nodearraylist3*/;
20395 /* Register variable[19]: Result */
20396 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20397 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8033); nit_exit(1);}
20398 /* Register variable[19]: Local variable */
20399 variable[19] = variable[11] /*nodearraylist4*/;
20400 /* Register variable[20]: Result */
20401 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
20402 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8035); nit_exit(1);}
20403 /* Register variable[20]: Local variable */
20404 /* Register variable[21]: Result */
20405 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
20406 variable[20] = variable[21];
20407 /* Register variable[21]: Local variable */
20408 variable[21] = variable[10] /*nodearraylist5*/;
20409 /* Register variable[22]: Result */
20410 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20411 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8041); nit_exit(1);}
20412 /* Register variable[22]: Local variable */
20413 variable[22] = variable[9] /*nodearraylist6*/;
20414 /* Register variable[23]: Result */
20415 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20416 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8043); nit_exit(1);}
20417 /* Register variable[23]: Local variable */
20418 variable[23] = variable[8] /*nodearraylist7*/;
20419 /* Register variable[24]: Result */
20420 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20421 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8045); nit_exit(1);}
20422 /* Register variable[24]: Local variable */
20423 variable[24] = variable[7] /*nodearraylist8*/;
20424 /* Register variable[25]: Result */
20425 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
20426 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8047); nit_exit(1);}
20427 /* Register variable[25]: Local variable */
20428 variable[25] = variable[4] /*nodearraylist11*/;
20429 /* Register variable[26]: Result */
20430 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20431 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction157___action, LOCATE_parser, 8049); nit_exit(1);}
20432 /* Register variable[26]: Local variable */
20433 /* Register variable[27]: Result */
20434 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*/, NIT_NULL /*null*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
20435 variable[26] = variable[27];
20436 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
20437 /* Register variable[27]: Result */
20438 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20439 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
20440 return_label346: while(false);
20441 tracehead = trace.prev;
20442 return;
20443 }
20444 void parser___ReduceAction157___init(val_t self, int* init_table) {
20445 struct trace_t trace = {NULL, NULL, 8065, LOCATE_parser___ReduceAction157___init};
20446 val_t variable[2];
20447 struct WBT_ **closurevariable = NULL;
20448 trace.prev = tracehead; tracehead = &trace;
20449 trace.file = LOCATE_parser;
20450 /* Register variable[0]: Local variable */
20451 variable[0] = self;
20452 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction157].i]) return;
20453 /* Register variable[1]: Method return value and escape marker */
20454 return_label347: while(false);
20455 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction157].i] = 1;
20456 tracehead = trace.prev;
20457 return;
20458 }
20459 void parser___ReduceAction158___action(val_t self, val_t param0) {
20460 struct trace_t trace = {NULL, NULL, 8069, LOCATE_parser___ReduceAction158___action};
20461 val_t variable[23];
20462 struct WBT_ **closurevariable = NULL;
20463 trace.prev = tracehead; tracehead = &trace;
20464 trace.file = LOCATE_parser;
20465 /* Register variable[0]: Local variable */
20466 variable[0] = self;
20467 /* Register variable[1]: Local variable */
20468 variable[1] = param0;
20469 /* Register variable[2]: Method return value and escape marker */
20470 /* Register variable[3]: Local variable */
20471 variable[3] = NIT_NULL /*null*/;
20472 /* Register variable[4]: Local variable */
20473 /* Register variable[5]: Result */
20474 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20475 variable[4] = variable[5];
20476 /* Register variable[5]: Local variable */
20477 /* Register variable[6]: Result */
20478 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20479 variable[5] = variable[6];
20480 /* Register variable[6]: Local variable */
20481 /* Register variable[7]: Result */
20482 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20483 variable[6] = variable[7];
20484 /* Register variable[7]: Local variable */
20485 /* Register variable[8]: Result */
20486 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20487 variable[7] = variable[8];
20488 /* Register variable[8]: Local variable */
20489 /* Register variable[9]: Result */
20490 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20491 variable[8] = variable[9];
20492 /* Register variable[9]: Local variable */
20493 /* Register variable[10]: Result */
20494 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20495 variable[9] = variable[10];
20496 /* Register variable[10]: Local variable */
20497 /* Register variable[11]: Result */
20498 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20499 variable[10] = variable[11];
20500 /* Register variable[11]: Local variable */
20501 /* Register variable[12]: Result */
20502 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20503 variable[11] = variable[12];
20504 /* Register variable[12]: Local variable */
20505 /* Register variable[13]: Result */
20506 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20507 variable[12] = variable[13];
20508 /* Register variable[13]: Local variable */
20509 variable[13] = variable[12] /*nodearraylist1*/;
20510 /* Register variable[14]: Result */
20511 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20512 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8082); nit_exit(1);}
20513 /* Register variable[14]: Local variable */
20514 variable[14] = variable[11] /*nodearraylist2*/;
20515 /* Register variable[15]: Result */
20516 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20517 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8084); nit_exit(1);}
20518 /* Register variable[15]: Local variable */
20519 /* Register variable[16]: Result */
20520 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
20521 variable[15] = variable[16];
20522 /* Register variable[16]: Local variable */
20523 variable[16] = variable[10] /*nodearraylist3*/;
20524 /* Register variable[17]: Result */
20525 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20526 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8090); nit_exit(1);}
20527 /* Register variable[17]: Local variable */
20528 variable[17] = variable[9] /*nodearraylist4*/;
20529 /* Register variable[18]: Result */
20530 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20531 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8092); nit_exit(1);}
20532 /* Register variable[18]: Local variable */
20533 variable[18] = variable[8] /*nodearraylist5*/;
20534 /* Register variable[19]: Result */
20535 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20536 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8094); nit_exit(1);}
20537 /* Register variable[19]: Local variable */
20538 variable[19] = variable[7] /*nodearraylist6*/;
20539 /* Register variable[20]: Result */
20540 variable[20] = TAG_Bool(( variable[19] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
20541 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8096); nit_exit(1);}
20542 /* Register variable[20]: Local variable */
20543 variable[20] = variable[4] /*nodearraylist9*/;
20544 /* Register variable[21]: Result */
20545 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20546 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction158___action, LOCATE_parser, 8098); nit_exit(1);}
20547 /* Register variable[21]: Local variable */
20548 /* Register variable[22]: Result */
20549 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*/, NIT_NULL /*null*/, variable[18] /*tattridnode11*/, variable[19] /*ptypenode12*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
20550 variable[21] = variable[22];
20551 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
20552 /* Register variable[22]: Result */
20553 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20554 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
20555 return_label348: while(false);
20556 tracehead = trace.prev;
20557 return;
20558 }
20559 void parser___ReduceAction158___init(val_t self, int* init_table) {
20560 struct trace_t trace = {NULL, NULL, 8114, LOCATE_parser___ReduceAction158___init};
20561 val_t variable[2];
20562 struct WBT_ **closurevariable = NULL;
20563 trace.prev = tracehead; tracehead = &trace;
20564 trace.file = LOCATE_parser;
20565 /* Register variable[0]: Local variable */
20566 variable[0] = self;
20567 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction158].i]) return;
20568 /* Register variable[1]: Method return value and escape marker */
20569 return_label349: while(false);
20570 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction158].i] = 1;
20571 tracehead = trace.prev;
20572 return;
20573 }
20574 void parser___ReduceAction159___action(val_t self, val_t param0) {
20575 struct trace_t trace = {NULL, NULL, 8118, LOCATE_parser___ReduceAction159___action};
20576 val_t variable[28];
20577 struct WBT_ **closurevariable = NULL;
20578 trace.prev = tracehead; tracehead = &trace;
20579 trace.file = LOCATE_parser;
20580 /* Register variable[0]: Local variable */
20581 variable[0] = self;
20582 /* Register variable[1]: Local variable */
20583 variable[1] = param0;
20584 /* Register variable[2]: Method return value and escape marker */
20585 /* Register variable[3]: Local variable */
20586 variable[3] = NIT_NULL /*null*/;
20587 /* Register variable[4]: Local variable */
20588 /* Register variable[5]: Result */
20589 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20590 variable[4] = variable[5];
20591 /* Register variable[5]: Local variable */
20592 /* Register variable[6]: Result */
20593 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20594 variable[5] = variable[6];
20595 /* Register variable[6]: Local variable */
20596 /* Register variable[7]: Result */
20597 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20598 variable[6] = variable[7];
20599 /* Register variable[7]: Local variable */
20600 /* Register variable[8]: Result */
20601 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20602 variable[7] = variable[8];
20603 /* Register variable[8]: Local variable */
20604 /* Register variable[9]: Result */
20605 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20606 variable[8] = variable[9];
20607 /* Register variable[9]: Local variable */
20608 /* Register variable[10]: Result */
20609 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20610 variable[9] = variable[10];
20611 /* Register variable[10]: Local variable */
20612 /* Register variable[11]: Result */
20613 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20614 variable[10] = variable[11];
20615 /* Register variable[11]: Local variable */
20616 /* Register variable[12]: Result */
20617 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20618 variable[11] = variable[12];
20619 /* Register variable[12]: Local variable */
20620 /* Register variable[13]: Result */
20621 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20622 variable[12] = variable[13];
20623 /* Register variable[13]: Local variable */
20624 /* Register variable[14]: Result */
20625 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20626 variable[13] = variable[14];
20627 /* Register variable[14]: Local variable */
20628 /* Register variable[15]: Result */
20629 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20630 variable[14] = variable[15];
20631 /* Register variable[15]: Local variable */
20632 variable[15] = variable[14] /*nodearraylist1*/;
20633 /* Register variable[16]: Result */
20634 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20635 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8133); nit_exit(1);}
20636 /* Register variable[16]: Local variable */
20637 variable[16] = variable[13] /*nodearraylist2*/;
20638 /* Register variable[17]: Result */
20639 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20640 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8135); nit_exit(1);}
20641 /* Register variable[17]: Local variable */
20642 variable[17] = variable[12] /*nodearraylist3*/;
20643 /* Register variable[18]: Result */
20644 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20645 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8137); nit_exit(1);}
20646 /* Register variable[18]: Local variable */
20647 /* Register variable[19]: Result */
20648 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
20649 variable[18] = variable[19];
20650 /* Register variable[19]: Local variable */
20651 variable[19] = variable[11] /*nodearraylist4*/;
20652 /* Register variable[20]: Result */
20653 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
20654 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8143); nit_exit(1);}
20655 /* Register variable[20]: Local variable */
20656 /* Register variable[21]: Result */
20657 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
20658 variable[20] = variable[21];
20659 /* Register variable[21]: Local variable */
20660 variable[21] = variable[10] /*nodearraylist5*/;
20661 /* Register variable[22]: Result */
20662 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20663 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8149); nit_exit(1);}
20664 /* Register variable[22]: Local variable */
20665 variable[22] = variable[9] /*nodearraylist6*/;
20666 /* Register variable[23]: Result */
20667 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20668 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8151); nit_exit(1);}
20669 /* Register variable[23]: Local variable */
20670 variable[23] = variable[8] /*nodearraylist7*/;
20671 /* Register variable[24]: Result */
20672 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20673 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8153); nit_exit(1);}
20674 /* Register variable[24]: Local variable */
20675 variable[24] = variable[7] /*nodearraylist8*/;
20676 /* Register variable[25]: Result */
20677 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
20678 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8155); nit_exit(1);}
20679 /* Register variable[25]: Local variable */
20680 variable[25] = variable[4] /*nodearraylist11*/;
20681 /* Register variable[26]: Result */
20682 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20683 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction159___action, LOCATE_parser, 8157); nit_exit(1);}
20684 /* Register variable[26]: Local variable */
20685 /* Register variable[27]: Result */
20686 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*/, NIT_NULL /*null*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
20687 variable[26] = variable[27];
20688 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
20689 /* Register variable[27]: Result */
20690 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20691 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
20692 return_label350: while(false);
20693 tracehead = trace.prev;
20694 return;
20695 }
20696 void parser___ReduceAction159___init(val_t self, int* init_table) {
20697 struct trace_t trace = {NULL, NULL, 8173, LOCATE_parser___ReduceAction159___init};
20698 val_t variable[2];
20699 struct WBT_ **closurevariable = NULL;
20700 trace.prev = tracehead; tracehead = &trace;
20701 trace.file = LOCATE_parser;
20702 /* Register variable[0]: Local variable */
20703 variable[0] = self;
20704 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction159].i]) return;
20705 /* Register variable[1]: Method return value and escape marker */
20706 return_label351: while(false);
20707 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction159].i] = 1;
20708 tracehead = trace.prev;
20709 return;
20710 }
20711 void parser___ReduceAction160___action(val_t self, val_t param0) {
20712 struct trace_t trace = {NULL, NULL, 8177, LOCATE_parser___ReduceAction160___action};
20713 val_t variable[30];
20714 struct WBT_ **closurevariable = NULL;
20715 trace.prev = tracehead; tracehead = &trace;
20716 trace.file = LOCATE_parser;
20717 /* Register variable[0]: Local variable */
20718 variable[0] = self;
20719 /* Register variable[1]: Local variable */
20720 variable[1] = param0;
20721 /* Register variable[2]: Method return value and escape marker */
20722 /* Register variable[3]: Local variable */
20723 variable[3] = NIT_NULL /*null*/;
20724 /* Register variable[4]: Local variable */
20725 /* Register variable[5]: Result */
20726 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20727 variable[4] = variable[5];
20728 /* Register variable[5]: Local variable */
20729 /* Register variable[6]: Result */
20730 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20731 variable[5] = variable[6];
20732 /* Register variable[6]: Local variable */
20733 /* Register variable[7]: Result */
20734 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20735 variable[6] = variable[7];
20736 /* Register variable[7]: Local variable */
20737 /* Register variable[8]: Result */
20738 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20739 variable[7] = variable[8];
20740 /* Register variable[8]: Local variable */
20741 /* Register variable[9]: Result */
20742 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20743 variable[8] = variable[9];
20744 /* Register variable[9]: Local variable */
20745 /* Register variable[10]: Result */
20746 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20747 variable[9] = variable[10];
20748 /* Register variable[10]: Local variable */
20749 /* Register variable[11]: Result */
20750 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20751 variable[10] = variable[11];
20752 /* Register variable[11]: Local variable */
20753 /* Register variable[12]: Result */
20754 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20755 variable[11] = variable[12];
20756 /* Register variable[12]: Local variable */
20757 /* Register variable[13]: Result */
20758 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20759 variable[12] = variable[13];
20760 /* Register variable[13]: Local variable */
20761 /* Register variable[14]: Result */
20762 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20763 variable[13] = variable[14];
20764 /* Register variable[14]: Local variable */
20765 /* Register variable[15]: Result */
20766 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20767 variable[14] = variable[15];
20768 /* Register variable[15]: Local variable */
20769 /* Register variable[16]: Result */
20770 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20771 variable[15] = variable[16];
20772 /* Register variable[16]: Local variable */
20773 variable[16] = variable[15] /*nodearraylist1*/;
20774 /* Register variable[17]: Result */
20775 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20776 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8193); nit_exit(1);}
20777 /* Register variable[17]: Local variable */
20778 variable[17] = variable[14] /*nodearraylist2*/;
20779 /* Register variable[18]: Result */
20780 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20781 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8195); nit_exit(1);}
20782 /* Register variable[18]: Local variable */
20783 variable[18] = variable[13] /*nodearraylist3*/;
20784 /* Register variable[19]: Result */
20785 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20786 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8197); nit_exit(1);}
20787 /* Register variable[19]: Local variable */
20788 /* Register variable[20]: Result */
20789 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
20790 variable[19] = variable[20];
20791 /* Register variable[20]: Local variable */
20792 variable[20] = variable[12] /*nodearraylist4*/;
20793 /* Register variable[21]: Result */
20794 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20795 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8203); nit_exit(1);}
20796 /* Register variable[21]: Local variable */
20797 variable[21] = variable[11] /*nodearraylist5*/;
20798 /* Register variable[22]: Result */
20799 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
20800 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8205); nit_exit(1);}
20801 /* Register variable[22]: Local variable */
20802 /* Register variable[23]: Result */
20803 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/) /*new AWriteAble*/;
20804 variable[22] = variable[23];
20805 /* Register variable[23]: Local variable */
20806 variable[23] = variable[10] /*nodearraylist6*/;
20807 /* Register variable[24]: Result */
20808 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20809 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8211); nit_exit(1);}
20810 /* Register variable[24]: Local variable */
20811 variable[24] = variable[9] /*nodearraylist7*/;
20812 /* Register variable[25]: Result */
20813 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20814 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8213); nit_exit(1);}
20815 /* Register variable[25]: Local variable */
20816 variable[25] = variable[8] /*nodearraylist8*/;
20817 /* Register variable[26]: Result */
20818 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20819 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8215); nit_exit(1);}
20820 /* Register variable[26]: Local variable */
20821 variable[26] = variable[7] /*nodearraylist9*/;
20822 /* Register variable[27]: Result */
20823 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
20824 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8217); nit_exit(1);}
20825 /* Register variable[27]: Local variable */
20826 variable[27] = variable[4] /*nodearraylist12*/;
20827 /* Register variable[28]: Result */
20828 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20829 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction160___action, LOCATE_parser, 8219); nit_exit(1);}
20830 /* Register variable[28]: Local variable */
20831 /* Register variable[29]: Result */
20832 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*/, NIT_NULL /*null*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
20833 variable[28] = variable[29];
20834 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
20835 /* Register variable[29]: Result */
20836 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20837 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
20838 return_label352: while(false);
20839 tracehead = trace.prev;
20840 return;
20841 }
20842 void parser___ReduceAction160___init(val_t self, int* init_table) {
20843 struct trace_t trace = {NULL, NULL, 8235, LOCATE_parser___ReduceAction160___init};
20844 val_t variable[2];
20845 struct WBT_ **closurevariable = NULL;
20846 trace.prev = tracehead; tracehead = &trace;
20847 trace.file = LOCATE_parser;
20848 /* Register variable[0]: Local variable */
20849 variable[0] = self;
20850 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction160].i]) return;
20851 /* Register variable[1]: Method return value and escape marker */
20852 return_label353: while(false);
20853 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction160].i] = 1;
20854 tracehead = trace.prev;
20855 return;
20856 }
20857 void parser___ReduceAction161___action(val_t self, val_t param0) {
20858 struct trace_t trace = {NULL, NULL, 8239, LOCATE_parser___ReduceAction161___action};
20859 val_t variable[25];
20860 struct WBT_ **closurevariable = NULL;
20861 trace.prev = tracehead; tracehead = &trace;
20862 trace.file = LOCATE_parser;
20863 /* Register variable[0]: Local variable */
20864 variable[0] = self;
20865 /* Register variable[1]: Local variable */
20866 variable[1] = param0;
20867 /* Register variable[2]: Method return value and escape marker */
20868 /* Register variable[3]: Local variable */
20869 variable[3] = NIT_NULL /*null*/;
20870 /* Register variable[4]: Local variable */
20871 /* Register variable[5]: Result */
20872 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20873 variable[4] = variable[5];
20874 /* Register variable[5]: Local variable */
20875 /* Register variable[6]: Result */
20876 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20877 variable[5] = variable[6];
20878 /* Register variable[6]: Local variable */
20879 /* Register variable[7]: Result */
20880 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20881 variable[6] = variable[7];
20882 /* Register variable[7]: Local variable */
20883 /* Register variable[8]: Result */
20884 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20885 variable[7] = variable[8];
20886 /* Register variable[8]: Local variable */
20887 /* Register variable[9]: Result */
20888 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20889 variable[8] = variable[9];
20890 /* Register variable[9]: Local variable */
20891 /* Register variable[10]: Result */
20892 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20893 variable[9] = variable[10];
20894 /* Register variable[10]: Local variable */
20895 /* Register variable[11]: Result */
20896 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20897 variable[10] = variable[11];
20898 /* Register variable[11]: Local variable */
20899 /* Register variable[12]: Result */
20900 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20901 variable[11] = variable[12];
20902 /* Register variable[12]: Local variable */
20903 /* Register variable[13]: Result */
20904 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20905 variable[12] = variable[13];
20906 /* Register variable[13]: Local variable */
20907 /* Register variable[14]: Result */
20908 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20909 variable[13] = variable[14];
20910 /* Register variable[14]: Local variable */
20911 variable[14] = variable[13] /*nodearraylist1*/;
20912 /* Register variable[15]: Result */
20913 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
20914 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8253); nit_exit(1);}
20915 /* Register variable[15]: Local variable */
20916 variable[15] = variable[12] /*nodearraylist2*/;
20917 /* Register variable[16]: Result */
20918 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
20919 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8255); nit_exit(1);}
20920 /* Register variable[16]: Local variable */
20921 variable[16] = variable[11] /*nodearraylist3*/;
20922 /* Register variable[17]: Result */
20923 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
20924 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8257); nit_exit(1);}
20925 /* Register variable[17]: Local variable */
20926 /* Register variable[18]: Result */
20927 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
20928 variable[17] = variable[18];
20929 /* Register variable[18]: Local variable */
20930 variable[18] = variable[10] /*nodearraylist4*/;
20931 /* Register variable[19]: Result */
20932 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
20933 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8263); nit_exit(1);}
20934 /* Register variable[19]: Local variable */
20935 variable[19] = variable[9] /*nodearraylist5*/;
20936 /* Register variable[20]: Result */
20937 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
20938 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8265); nit_exit(1);}
20939 /* Register variable[20]: Local variable */
20940 variable[20] = variable[8] /*nodearraylist6*/;
20941 /* Register variable[21]: Result */
20942 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
20943 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8267); nit_exit(1);}
20944 /* Register variable[21]: Local variable */
20945 variable[21] = variable[7] /*nodearraylist7*/;
20946 /* Register variable[22]: Result */
20947 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
20948 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8269); nit_exit(1);}
20949 /* Register variable[22]: Local variable */
20950 variable[22] = variable[4] /*nodearraylist10*/;
20951 /* Register variable[23]: Result */
20952 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
20953 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction161___action, LOCATE_parser, 8271); nit_exit(1);}
20954 /* Register variable[23]: Local variable */
20955 /* Register variable[24]: Result */
20956 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
20957 variable[23] = variable[24];
20958 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
20959 /* Register variable[24]: Result */
20960 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
20961 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
20962 return_label354: while(false);
20963 tracehead = trace.prev;
20964 return;
20965 }
20966 void parser___ReduceAction161___init(val_t self, int* init_table) {
20967 struct trace_t trace = {NULL, NULL, 8287, LOCATE_parser___ReduceAction161___init};
20968 val_t variable[2];
20969 struct WBT_ **closurevariable = NULL;
20970 trace.prev = tracehead; tracehead = &trace;
20971 trace.file = LOCATE_parser;
20972 /* Register variable[0]: Local variable */
20973 variable[0] = self;
20974 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction161].i]) return;
20975 /* Register variable[1]: Method return value and escape marker */
20976 return_label355: while(false);
20977 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction161].i] = 1;
20978 tracehead = trace.prev;
20979 return;
20980 }
20981 void parser___ReduceAction162___action(val_t self, val_t param0) {
20982 struct trace_t trace = {NULL, NULL, 8291, LOCATE_parser___ReduceAction162___action};
20983 val_t variable[23];
20984 struct WBT_ **closurevariable = NULL;
20985 trace.prev = tracehead; tracehead = &trace;
20986 trace.file = LOCATE_parser;
20987 /* Register variable[0]: Local variable */
20988 variable[0] = self;
20989 /* Register variable[1]: Local variable */
20990 variable[1] = param0;
20991 /* Register variable[2]: Method return value and escape marker */
20992 /* Register variable[3]: Local variable */
20993 variable[3] = NIT_NULL /*null*/;
20994 /* Register variable[4]: Local variable */
20995 /* Register variable[5]: Result */
20996 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
20997 variable[4] = variable[5];
20998 /* Register variable[5]: Local variable */
20999 /* Register variable[6]: Result */
21000 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21001 variable[5] = variable[6];
21002 /* Register variable[6]: Local variable */
21003 /* Register variable[7]: Result */
21004 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21005 variable[6] = variable[7];
21006 /* Register variable[7]: Local variable */
21007 /* Register variable[8]: Result */
21008 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21009 variable[7] = variable[8];
21010 /* Register variable[8]: Local variable */
21011 /* Register variable[9]: Result */
21012 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21013 variable[8] = variable[9];
21014 /* Register variable[9]: Local variable */
21015 /* Register variable[10]: Result */
21016 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21017 variable[9] = variable[10];
21018 /* Register variable[10]: Local variable */
21019 /* Register variable[11]: Result */
21020 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21021 variable[10] = variable[11];
21022 /* Register variable[11]: Local variable */
21023 /* Register variable[12]: Result */
21024 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21025 variable[11] = variable[12];
21026 /* Register variable[12]: Local variable */
21027 /* Register variable[13]: Result */
21028 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21029 variable[12] = variable[13];
21030 /* Register variable[13]: Local variable */
21031 variable[13] = variable[12] /*nodearraylist1*/;
21032 /* Register variable[14]: Result */
21033 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21034 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8304); nit_exit(1);}
21035 /* Register variable[14]: Local variable */
21036 variable[14] = variable[11] /*nodearraylist2*/;
21037 /* Register variable[15]: Result */
21038 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21039 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8306); nit_exit(1);}
21040 /* Register variable[15]: Local variable */
21041 /* Register variable[16]: Result */
21042 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
21043 variable[15] = variable[16];
21044 /* Register variable[16]: Local variable */
21045 variable[16] = variable[10] /*nodearraylist3*/;
21046 /* Register variable[17]: Result */
21047 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21048 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8312); nit_exit(1);}
21049 /* Register variable[17]: Local variable */
21050 variable[17] = variable[9] /*nodearraylist4*/;
21051 /* Register variable[18]: Result */
21052 variable[18] = TAG_Bool(( variable[17] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21053 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8314); nit_exit(1);}
21054 /* Register variable[18]: Local variable */
21055 variable[18] = variable[8] /*nodearraylist5*/;
21056 /* Register variable[19]: Result */
21057 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21058 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8316); nit_exit(1);}
21059 /* Register variable[19]: Local variable */
21060 variable[19] = variable[7] /*nodearraylist6*/;
21061 /* Register variable[20]: Result */
21062 variable[20] = TAG_Bool(( variable[19] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
21063 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8318); nit_exit(1);}
21064 /* Register variable[20]: Local variable */
21065 variable[20] = variable[4] /*nodearraylist9*/;
21066 /* Register variable[21]: Result */
21067 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21068 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction162___action, LOCATE_parser, 8320); nit_exit(1);}
21069 /* Register variable[21]: Local variable */
21070 /* Register variable[22]: Result */
21071 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*/, NIT_NULL /*null*/, variable[18] /*tattridnode11*/, variable[19] /*ptypenode12*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
21072 variable[21] = variable[22];
21073 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
21074 /* Register variable[22]: Result */
21075 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21076 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
21077 return_label356: while(false);
21078 tracehead = trace.prev;
21079 return;
21080 }
21081 void parser___ReduceAction162___init(val_t self, int* init_table) {
21082 struct trace_t trace = {NULL, NULL, 8336, LOCATE_parser___ReduceAction162___init};
21083 val_t variable[2];
21084 struct WBT_ **closurevariable = NULL;
21085 trace.prev = tracehead; tracehead = &trace;
21086 trace.file = LOCATE_parser;
21087 /* Register variable[0]: Local variable */
21088 variable[0] = self;
21089 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction162].i]) return;
21090 /* Register variable[1]: Method return value and escape marker */
21091 return_label357: while(false);
21092 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction162].i] = 1;
21093 tracehead = trace.prev;
21094 return;
21095 }
21096 void parser___ReduceAction163___action(val_t self, val_t param0) {
21097 struct trace_t trace = {NULL, NULL, 8340, LOCATE_parser___ReduceAction163___action};
21098 val_t variable[25];
21099 struct WBT_ **closurevariable = NULL;
21100 trace.prev = tracehead; tracehead = &trace;
21101 trace.file = LOCATE_parser;
21102 /* Register variable[0]: Local variable */
21103 variable[0] = self;
21104 /* Register variable[1]: Local variable */
21105 variable[1] = param0;
21106 /* Register variable[2]: Method return value and escape marker */
21107 /* Register variable[3]: Local variable */
21108 variable[3] = NIT_NULL /*null*/;
21109 /* Register variable[4]: Local variable */
21110 /* Register variable[5]: Result */
21111 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21112 variable[4] = variable[5];
21113 /* Register variable[5]: Local variable */
21114 /* Register variable[6]: Result */
21115 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21116 variable[5] = variable[6];
21117 /* Register variable[6]: Local variable */
21118 /* Register variable[7]: Result */
21119 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21120 variable[6] = variable[7];
21121 /* Register variable[7]: Local variable */
21122 /* Register variable[8]: Result */
21123 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21124 variable[7] = variable[8];
21125 /* Register variable[8]: Local variable */
21126 /* Register variable[9]: Result */
21127 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21128 variable[8] = variable[9];
21129 /* Register variable[9]: Local variable */
21130 /* Register variable[10]: Result */
21131 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21132 variable[9] = variable[10];
21133 /* Register variable[10]: Local variable */
21134 /* Register variable[11]: Result */
21135 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21136 variable[10] = variable[11];
21137 /* Register variable[11]: Local variable */
21138 /* Register variable[12]: Result */
21139 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21140 variable[11] = variable[12];
21141 /* Register variable[12]: Local variable */
21142 /* Register variable[13]: Result */
21143 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21144 variable[12] = variable[13];
21145 /* Register variable[13]: Local variable */
21146 /* Register variable[14]: Result */
21147 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21148 variable[13] = variable[14];
21149 /* Register variable[14]: Local variable */
21150 variable[14] = variable[13] /*nodearraylist1*/;
21151 /* Register variable[15]: Result */
21152 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21153 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8354); nit_exit(1);}
21154 /* Register variable[15]: Local variable */
21155 variable[15] = variable[12] /*nodearraylist2*/;
21156 /* Register variable[16]: Result */
21157 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21158 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8356); nit_exit(1);}
21159 /* Register variable[16]: Local variable */
21160 variable[16] = variable[11] /*nodearraylist3*/;
21161 /* Register variable[17]: Result */
21162 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21163 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8358); nit_exit(1);}
21164 /* Register variable[17]: Local variable */
21165 /* Register variable[18]: Result */
21166 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/) /*new AWriteAble*/;
21167 variable[17] = variable[18];
21168 /* Register variable[18]: Local variable */
21169 variable[18] = variable[10] /*nodearraylist4*/;
21170 /* Register variable[19]: Result */
21171 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21172 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8364); nit_exit(1);}
21173 /* Register variable[19]: Local variable */
21174 variable[19] = variable[9] /*nodearraylist5*/;
21175 /* Register variable[20]: Result */
21176 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21177 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8366); nit_exit(1);}
21178 /* Register variable[20]: Local variable */
21179 variable[20] = variable[8] /*nodearraylist6*/;
21180 /* Register variable[21]: Result */
21181 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21182 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8368); nit_exit(1);}
21183 /* Register variable[21]: Local variable */
21184 variable[21] = variable[7] /*nodearraylist7*/;
21185 /* Register variable[22]: Result */
21186 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
21187 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8370); nit_exit(1);}
21188 /* Register variable[22]: Local variable */
21189 variable[22] = variable[4] /*nodearraylist10*/;
21190 /* Register variable[23]: Result */
21191 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21192 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction163___action, LOCATE_parser, 8372); nit_exit(1);}
21193 /* Register variable[23]: Local variable */
21194 /* Register variable[24]: Result */
21195 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
21196 variable[23] = variable[24];
21197 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
21198 /* Register variable[24]: Result */
21199 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21200 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
21201 return_label358: while(false);
21202 tracehead = trace.prev;
21203 return;
21204 }
21205 void parser___ReduceAction163___init(val_t self, int* init_table) {
21206 struct trace_t trace = {NULL, NULL, 8388, LOCATE_parser___ReduceAction163___init};
21207 val_t variable[2];
21208 struct WBT_ **closurevariable = NULL;
21209 trace.prev = tracehead; tracehead = &trace;
21210 trace.file = LOCATE_parser;
21211 /* Register variable[0]: Local variable */
21212 variable[0] = self;
21213 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction163].i]) return;
21214 /* Register variable[1]: Method return value and escape marker */
21215 return_label359: while(false);
21216 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction163].i] = 1;
21217 tracehead = trace.prev;
21218 return;
21219 }
21220 void parser___ReduceAction164___action(val_t self, val_t param0) {
21221 struct trace_t trace = {NULL, NULL, 8392, LOCATE_parser___ReduceAction164___action};
21222 val_t variable[20];
21223 struct WBT_ **closurevariable = NULL;
21224 trace.prev = tracehead; tracehead = &trace;
21225 trace.file = LOCATE_parser;
21226 /* Register variable[0]: Local variable */
21227 variable[0] = self;
21228 /* Register variable[1]: Local variable */
21229 variable[1] = param0;
21230 /* Register variable[2]: Method return value and escape marker */
21231 /* Register variable[3]: Local variable */
21232 variable[3] = NIT_NULL /*null*/;
21233 /* Register variable[4]: Local variable */
21234 /* Register variable[5]: Result */
21235 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21236 variable[4] = variable[5];
21237 /* Register variable[5]: Local variable */
21238 /* Register variable[6]: Result */
21239 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21240 variable[5] = variable[6];
21241 /* Register variable[6]: Local variable */
21242 /* Register variable[7]: Result */
21243 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21244 variable[6] = variable[7];
21245 /* Register variable[7]: Local variable */
21246 /* Register variable[8]: Result */
21247 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21248 variable[7] = variable[8];
21249 /* Register variable[8]: Local variable */
21250 /* Register variable[9]: Result */
21251 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21252 variable[8] = variable[9];
21253 /* Register variable[9]: Local variable */
21254 /* Register variable[10]: Result */
21255 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21256 variable[9] = variable[10];
21257 /* Register variable[10]: Local variable */
21258 /* Register variable[11]: Result */
21259 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21260 variable[10] = variable[11];
21261 /* Register variable[11]: Local variable */
21262 /* Register variable[12]: Result */
21263 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21264 variable[11] = variable[12];
21265 /* Register variable[12]: Local variable */
21266 variable[12] = variable[11] /*nodearraylist1*/;
21267 /* Register variable[13]: Result */
21268 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21269 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8404); nit_exit(1);}
21270 /* Register variable[13]: Local variable */
21271 variable[13] = variable[10] /*nodearraylist2*/;
21272 /* Register variable[14]: Result */
21273 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21274 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8406); nit_exit(1);}
21275 /* Register variable[14]: Local variable */
21276 variable[14] = variable[9] /*nodearraylist3*/;
21277 /* Register variable[15]: Result */
21278 variable[15] = TAG_Bool(( variable[14] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21279 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8408); nit_exit(1);}
21280 /* Register variable[15]: Local variable */
21281 variable[15] = variable[8] /*nodearraylist4*/;
21282 /* Register variable[16]: Result */
21283 variable[16] = TAG_Bool(( variable[15] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21284 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8410); nit_exit(1);}
21285 /* Register variable[16]: Local variable */
21286 variable[16] = variable[7] /*nodearraylist5*/;
21287 /* Register variable[17]: Result */
21288 variable[17] = TAG_Bool(( variable[16] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
21289 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8412); nit_exit(1);}
21290 /* Register variable[17]: Local variable */
21291 variable[17] = variable[4] /*nodearraylist8*/;
21292 /* Register variable[18]: Result */
21293 variable[18] = TAG_Bool(( variable[17] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21294 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction164___action, LOCATE_parser, 8414); nit_exit(1);}
21295 /* Register variable[18]: Local variable */
21296 /* Register variable[19]: Result */
21297 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*/, NIT_NULL /*null*/, variable[15] /*tattridnode9*/, variable[16] /*ptypenode10*/, variable[17] /*pexprnode11*/) /*new AAttrPropdef*/;
21298 variable[18] = variable[19];
21299 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
21300 /* Register variable[19]: Result */
21301 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21302 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
21303 return_label360: while(false);
21304 tracehead = trace.prev;
21305 return;
21306 }
21307 void parser___ReduceAction164___init(val_t self, int* init_table) {
21308 struct trace_t trace = {NULL, NULL, 8430, LOCATE_parser___ReduceAction164___init};
21309 val_t variable[2];
21310 struct WBT_ **closurevariable = NULL;
21311 trace.prev = tracehead; tracehead = &trace;
21312 trace.file = LOCATE_parser;
21313 /* Register variable[0]: Local variable */
21314 variable[0] = self;
21315 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction164].i]) return;
21316 /* Register variable[1]: Method return value and escape marker */
21317 return_label361: while(false);
21318 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction164].i] = 1;
21319 tracehead = trace.prev;
21320 return;
21321 }
21322 void parser___ReduceAction165___action(val_t self, val_t param0) {
21323 struct trace_t trace = {NULL, NULL, 8434, LOCATE_parser___ReduceAction165___action};
21324 val_t variable[28];
21325 struct WBT_ **closurevariable = NULL;
21326 trace.prev = tracehead; tracehead = &trace;
21327 trace.file = LOCATE_parser;
21328 /* Register variable[0]: Local variable */
21329 variable[0] = self;
21330 /* Register variable[1]: Local variable */
21331 variable[1] = param0;
21332 /* Register variable[2]: Method return value and escape marker */
21333 /* Register variable[3]: Local variable */
21334 variable[3] = NIT_NULL /*null*/;
21335 /* Register variable[4]: Local variable */
21336 /* Register variable[5]: Result */
21337 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21338 variable[4] = variable[5];
21339 /* Register variable[5]: Local variable */
21340 /* Register variable[6]: Result */
21341 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21342 variable[5] = variable[6];
21343 /* Register variable[6]: Local variable */
21344 /* Register variable[7]: Result */
21345 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21346 variable[6] = variable[7];
21347 /* Register variable[7]: Local variable */
21348 /* Register variable[8]: Result */
21349 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21350 variable[7] = variable[8];
21351 /* Register variable[8]: Local variable */
21352 /* Register variable[9]: Result */
21353 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21354 variable[8] = variable[9];
21355 /* Register variable[9]: Local variable */
21356 /* Register variable[10]: Result */
21357 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21358 variable[9] = variable[10];
21359 /* Register variable[10]: Local variable */
21360 /* Register variable[11]: Result */
21361 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21362 variable[10] = variable[11];
21363 /* Register variable[11]: Local variable */
21364 /* Register variable[12]: Result */
21365 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21366 variable[11] = variable[12];
21367 /* Register variable[12]: Local variable */
21368 /* Register variable[13]: Result */
21369 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21370 variable[12] = variable[13];
21371 /* Register variable[13]: Local variable */
21372 /* Register variable[14]: Result */
21373 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21374 variable[13] = variable[14];
21375 /* Register variable[14]: Local variable */
21376 /* Register variable[15]: Result */
21377 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21378 variable[14] = variable[15];
21379 /* Register variable[15]: Local variable */
21380 variable[15] = variable[14] /*nodearraylist1*/;
21381 /* Register variable[16]: Result */
21382 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21383 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);}
21384 /* Register variable[16]: Local variable */
21385 variable[16] = variable[13] /*nodearraylist2*/;
21386 /* Register variable[17]: Result */
21387 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
21388 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);}
21389 /* Register variable[17]: Local variable */
21390 /* Register variable[18]: Result */
21391 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
21392 variable[17] = variable[18];
21393 /* Register variable[18]: Local variable */
21394 variable[18] = variable[12] /*nodearraylist3*/;
21395 /* Register variable[19]: Result */
21396 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21397 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8457); nit_exit(1);}
21398 /* Register variable[19]: Local variable */
21399 /* Register variable[20]: Result */
21400 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
21401 variable[19] = variable[20];
21402 /* Register variable[20]: Local variable */
21403 variable[20] = variable[11] /*nodearraylist4*/;
21404 /* Register variable[21]: Result */
21405 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21406 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8463); nit_exit(1);}
21407 /* Register variable[21]: Local variable */
21408 variable[21] = variable[10] /*nodearraylist5*/;
21409 /* Register variable[22]: Result */
21410 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21411 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8465); nit_exit(1);}
21412 /* Register variable[22]: Local variable */
21413 variable[22] = variable[9] /*nodearraylist6*/;
21414 /* Register variable[23]: Result */
21415 variable[23] = TAG_Bool(( variable[22] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21416 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8467); nit_exit(1);}
21417 /* Register variable[23]: Local variable */
21418 variable[23] = variable[8] /*nodearraylist7*/;
21419 /* Register variable[24]: Result */
21420 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21421 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8469); nit_exit(1);}
21422 /* Register variable[24]: Local variable */
21423 variable[24] = variable[7] /*nodearraylist8*/;
21424 /* Register variable[25]: Result */
21425 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
21426 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8471); nit_exit(1);}
21427 /* Register variable[25]: Local variable */
21428 variable[25] = variable[4] /*nodearraylist11*/;
21429 /* Register variable[26]: Result */
21430 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21431 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction165___action, LOCATE_parser, 8473); nit_exit(1);}
21432 /* Register variable[26]: Local variable */
21433 /* Register variable[27]: Result */
21434 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*/, NIT_NULL /*null*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
21435 variable[26] = variable[27];
21436 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
21437 /* Register variable[27]: Result */
21438 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21439 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
21440 return_label362: while(false);
21441 tracehead = trace.prev;
21442 return;
21443 }
21444 void parser___ReduceAction165___init(val_t self, int* init_table) {
21445 struct trace_t trace = {NULL, NULL, 8489, LOCATE_parser___ReduceAction165___init};
21446 val_t variable[2];
21447 struct WBT_ **closurevariable = NULL;
21448 trace.prev = tracehead; tracehead = &trace;
21449 trace.file = LOCATE_parser;
21450 /* Register variable[0]: Local variable */
21451 variable[0] = self;
21452 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction165].i]) return;
21453 /* Register variable[1]: Method return value and escape marker */
21454 return_label363: while(false);
21455 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction165].i] = 1;
21456 tracehead = trace.prev;
21457 return;
21458 }
21459 void parser___ReduceAction166___action(val_t self, val_t param0) {
21460 struct trace_t trace = {NULL, NULL, 8493, LOCATE_parser___ReduceAction166___action};
21461 val_t variable[30];
21462 struct WBT_ **closurevariable = NULL;
21463 trace.prev = tracehead; tracehead = &trace;
21464 trace.file = LOCATE_parser;
21465 /* Register variable[0]: Local variable */
21466 variable[0] = self;
21467 /* Register variable[1]: Local variable */
21468 variable[1] = param0;
21469 /* Register variable[2]: Method return value and escape marker */
21470 /* Register variable[3]: Local variable */
21471 variable[3] = NIT_NULL /*null*/;
21472 /* Register variable[4]: Local variable */
21473 /* Register variable[5]: Result */
21474 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21475 variable[4] = variable[5];
21476 /* Register variable[5]: Local variable */
21477 /* Register variable[6]: Result */
21478 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21479 variable[5] = variable[6];
21480 /* Register variable[6]: Local variable */
21481 /* Register variable[7]: Result */
21482 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21483 variable[6] = variable[7];
21484 /* Register variable[7]: Local variable */
21485 /* Register variable[8]: Result */
21486 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21487 variable[7] = variable[8];
21488 /* Register variable[8]: Local variable */
21489 /* Register variable[9]: Result */
21490 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21491 variable[8] = variable[9];
21492 /* Register variable[9]: Local variable */
21493 /* Register variable[10]: Result */
21494 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21495 variable[9] = variable[10];
21496 /* Register variable[10]: Local variable */
21497 /* Register variable[11]: Result */
21498 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21499 variable[10] = variable[11];
21500 /* Register variable[11]: Local variable */
21501 /* Register variable[12]: Result */
21502 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21503 variable[11] = variable[12];
21504 /* Register variable[12]: Local variable */
21505 /* Register variable[13]: Result */
21506 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21507 variable[12] = variable[13];
21508 /* Register variable[13]: Local variable */
21509 /* Register variable[14]: Result */
21510 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21511 variable[13] = variable[14];
21512 /* Register variable[14]: Local variable */
21513 /* Register variable[15]: Result */
21514 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21515 variable[14] = variable[15];
21516 /* Register variable[15]: Local variable */
21517 /* Register variable[16]: Result */
21518 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21519 variable[15] = variable[16];
21520 /* Register variable[16]: Local variable */
21521 variable[16] = variable[15] /*nodearraylist1*/;
21522 /* Register variable[17]: Result */
21523 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21524 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8509); nit_exit(1);}
21525 /* Register variable[17]: Local variable */
21526 variable[17] = variable[14] /*nodearraylist2*/;
21527 /* Register variable[18]: Result */
21528 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
21529 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8511); nit_exit(1);}
21530 /* Register variable[18]: Local variable */
21531 /* Register variable[19]: Result */
21532 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
21533 variable[18] = variable[19];
21534 /* Register variable[19]: Local variable */
21535 variable[19] = variable[13] /*nodearraylist3*/;
21536 /* Register variable[20]: Result */
21537 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21538 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8517); nit_exit(1);}
21539 /* Register variable[20]: Local variable */
21540 variable[20] = variable[12] /*nodearraylist4*/;
21541 /* Register variable[21]: Result */
21542 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21543 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8519); nit_exit(1);}
21544 /* Register variable[21]: Local variable */
21545 /* Register variable[22]: Result */
21546 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
21547 variable[21] = variable[22];
21548 /* Register variable[22]: Local variable */
21549 variable[22] = variable[11] /*nodearraylist5*/;
21550 /* Register variable[23]: Result */
21551 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21552 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8525); nit_exit(1);}
21553 /* Register variable[23]: Local variable */
21554 variable[23] = variable[10] /*nodearraylist6*/;
21555 /* Register variable[24]: Result */
21556 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21557 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8527); nit_exit(1);}
21558 /* Register variable[24]: Local variable */
21559 variable[24] = variable[9] /*nodearraylist7*/;
21560 /* Register variable[25]: Result */
21561 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21562 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8529); nit_exit(1);}
21563 /* Register variable[25]: Local variable */
21564 variable[25] = variable[8] /*nodearraylist8*/;
21565 /* Register variable[26]: Result */
21566 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21567 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8531); nit_exit(1);}
21568 /* Register variable[26]: Local variable */
21569 variable[26] = variable[7] /*nodearraylist9*/;
21570 /* Register variable[27]: Result */
21571 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
21572 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8533); nit_exit(1);}
21573 /* Register variable[27]: Local variable */
21574 variable[27] = variable[4] /*nodearraylist12*/;
21575 /* Register variable[28]: Result */
21576 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21577 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction166___action, LOCATE_parser, 8535); nit_exit(1);}
21578 /* Register variable[28]: Local variable */
21579 /* Register variable[29]: Result */
21580 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*/, NIT_NULL /*null*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
21581 variable[28] = variable[29];
21582 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
21583 /* Register variable[29]: Result */
21584 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21585 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
21586 return_label364: while(false);
21587 tracehead = trace.prev;
21588 return;
21589 }
21590 void parser___ReduceAction166___init(val_t self, int* init_table) {
21591 struct trace_t trace = {NULL, NULL, 8551, LOCATE_parser___ReduceAction166___init};
21592 val_t variable[2];
21593 struct WBT_ **closurevariable = NULL;
21594 trace.prev = tracehead; tracehead = &trace;
21595 trace.file = LOCATE_parser;
21596 /* Register variable[0]: Local variable */
21597 variable[0] = self;
21598 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction166].i]) return;
21599 /* Register variable[1]: Method return value and escape marker */
21600 return_label365: while(false);
21601 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction166].i] = 1;
21602 tracehead = trace.prev;
21603 return;
21604 }
21605 void parser___ReduceAction167___action(val_t self, val_t param0) {
21606 struct trace_t trace = {NULL, NULL, 8555, LOCATE_parser___ReduceAction167___action};
21607 val_t variable[25];
21608 struct WBT_ **closurevariable = NULL;
21609 trace.prev = tracehead; tracehead = &trace;
21610 trace.file = LOCATE_parser;
21611 /* Register variable[0]: Local variable */
21612 variable[0] = self;
21613 /* Register variable[1]: Local variable */
21614 variable[1] = param0;
21615 /* Register variable[2]: Method return value and escape marker */
21616 /* Register variable[3]: Local variable */
21617 variable[3] = NIT_NULL /*null*/;
21618 /* Register variable[4]: Local variable */
21619 /* Register variable[5]: Result */
21620 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21621 variable[4] = variable[5];
21622 /* Register variable[5]: Local variable */
21623 /* Register variable[6]: Result */
21624 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21625 variable[5] = variable[6];
21626 /* Register variable[6]: Local variable */
21627 /* Register variable[7]: Result */
21628 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21629 variable[6] = variable[7];
21630 /* Register variable[7]: Local variable */
21631 /* Register variable[8]: Result */
21632 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21633 variable[7] = variable[8];
21634 /* Register variable[8]: Local variable */
21635 /* Register variable[9]: Result */
21636 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21637 variable[8] = variable[9];
21638 /* Register variable[9]: Local variable */
21639 /* Register variable[10]: Result */
21640 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21641 variable[9] = variable[10];
21642 /* Register variable[10]: Local variable */
21643 /* Register variable[11]: Result */
21644 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21645 variable[10] = variable[11];
21646 /* Register variable[11]: Local variable */
21647 /* Register variable[12]: Result */
21648 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21649 variable[11] = variable[12];
21650 /* Register variable[12]: Local variable */
21651 /* Register variable[13]: Result */
21652 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21653 variable[12] = variable[13];
21654 /* Register variable[13]: Local variable */
21655 /* Register variable[14]: Result */
21656 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21657 variable[13] = variable[14];
21658 /* Register variable[14]: Local variable */
21659 variable[14] = variable[13] /*nodearraylist1*/;
21660 /* Register variable[15]: Result */
21661 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21662 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8569); nit_exit(1);}
21663 /* Register variable[15]: Local variable */
21664 variable[15] = variable[12] /*nodearraylist2*/;
21665 /* Register variable[16]: Result */
21666 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
21667 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8571); nit_exit(1);}
21668 /* Register variable[16]: Local variable */
21669 /* Register variable[17]: Result */
21670 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
21671 variable[16] = variable[17];
21672 /* Register variable[17]: Local variable */
21673 variable[17] = variable[11] /*nodearraylist3*/;
21674 /* Register variable[18]: Result */
21675 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21676 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8577); nit_exit(1);}
21677 /* Register variable[18]: Local variable */
21678 variable[18] = variable[10] /*nodearraylist4*/;
21679 /* Register variable[19]: Result */
21680 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21681 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8579); nit_exit(1);}
21682 /* Register variable[19]: Local variable */
21683 variable[19] = variable[9] /*nodearraylist5*/;
21684 /* Register variable[20]: Result */
21685 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21686 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8581); nit_exit(1);}
21687 /* Register variable[20]: Local variable */
21688 variable[20] = variable[8] /*nodearraylist6*/;
21689 /* Register variable[21]: Result */
21690 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21691 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8583); nit_exit(1);}
21692 /* Register variable[21]: Local variable */
21693 variable[21] = variable[7] /*nodearraylist7*/;
21694 /* Register variable[22]: Result */
21695 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
21696 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8585); nit_exit(1);}
21697 /* Register variable[22]: Local variable */
21698 variable[22] = variable[4] /*nodearraylist10*/;
21699 /* Register variable[23]: Result */
21700 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21701 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction167___action, LOCATE_parser, 8587); nit_exit(1);}
21702 /* Register variable[23]: Local variable */
21703 /* Register variable[24]: Result */
21704 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
21705 variable[23] = variable[24];
21706 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
21707 /* Register variable[24]: Result */
21708 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21709 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
21710 return_label366: while(false);
21711 tracehead = trace.prev;
21712 return;
21713 }
21714 void parser___ReduceAction167___init(val_t self, int* init_table) {
21715 struct trace_t trace = {NULL, NULL, 8603, LOCATE_parser___ReduceAction167___init};
21716 val_t variable[2];
21717 struct WBT_ **closurevariable = NULL;
21718 trace.prev = tracehead; tracehead = &trace;
21719 trace.file = LOCATE_parser;
21720 /* Register variable[0]: Local variable */
21721 variable[0] = self;
21722 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction167].i]) return;
21723 /* Register variable[1]: Method return value and escape marker */
21724 return_label367: while(false);
21725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction167].i] = 1;
21726 tracehead = trace.prev;
21727 return;
21728 }
21729 void parser___ReduceAction168___action(val_t self, val_t param0) {
21730 struct trace_t trace = {NULL, NULL, 8607, LOCATE_parser___ReduceAction168___action};
21731 val_t variable[30];
21732 struct WBT_ **closurevariable = NULL;
21733 trace.prev = tracehead; tracehead = &trace;
21734 trace.file = LOCATE_parser;
21735 /* Register variable[0]: Local variable */
21736 variable[0] = self;
21737 /* Register variable[1]: Local variable */
21738 variable[1] = param0;
21739 /* Register variable[2]: Method return value and escape marker */
21740 /* Register variable[3]: Local variable */
21741 variable[3] = NIT_NULL /*null*/;
21742 /* Register variable[4]: Local variable */
21743 /* Register variable[5]: Result */
21744 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21745 variable[4] = variable[5];
21746 /* Register variable[5]: Local variable */
21747 /* Register variable[6]: Result */
21748 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21749 variable[5] = variable[6];
21750 /* Register variable[6]: Local variable */
21751 /* Register variable[7]: Result */
21752 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21753 variable[6] = variable[7];
21754 /* Register variable[7]: Local variable */
21755 /* Register variable[8]: Result */
21756 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21757 variable[7] = variable[8];
21758 /* Register variable[8]: Local variable */
21759 /* Register variable[9]: Result */
21760 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21761 variable[8] = variable[9];
21762 /* Register variable[9]: Local variable */
21763 /* Register variable[10]: Result */
21764 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21765 variable[9] = variable[10];
21766 /* Register variable[10]: Local variable */
21767 /* Register variable[11]: Result */
21768 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21769 variable[10] = variable[11];
21770 /* Register variable[11]: Local variable */
21771 /* Register variable[12]: Result */
21772 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21773 variable[11] = variable[12];
21774 /* Register variable[12]: Local variable */
21775 /* Register variable[13]: Result */
21776 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21777 variable[12] = variable[13];
21778 /* Register variable[13]: Local variable */
21779 /* Register variable[14]: Result */
21780 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21781 variable[13] = variable[14];
21782 /* Register variable[14]: Local variable */
21783 /* Register variable[15]: Result */
21784 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21785 variable[14] = variable[15];
21786 /* Register variable[15]: Local variable */
21787 /* Register variable[16]: Result */
21788 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21789 variable[15] = variable[16];
21790 /* Register variable[16]: Local variable */
21791 variable[16] = variable[15] /*nodearraylist1*/;
21792 /* Register variable[17]: Result */
21793 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21794 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8623); nit_exit(1);}
21795 /* Register variable[17]: Local variable */
21796 variable[17] = variable[14] /*nodearraylist2*/;
21797 /* Register variable[18]: Result */
21798 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21799 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8625); nit_exit(1);}
21800 /* Register variable[18]: Local variable */
21801 variable[18] = variable[13] /*nodearraylist3*/;
21802 /* Register variable[19]: Result */
21803 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
21804 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8627); nit_exit(1);}
21805 /* Register variable[19]: Local variable */
21806 /* Register variable[20]: Result */
21807 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
21808 variable[19] = variable[20];
21809 /* Register variable[20]: Local variable */
21810 variable[20] = variable[12] /*nodearraylist4*/;
21811 /* Register variable[21]: Result */
21812 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21813 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8633); nit_exit(1);}
21814 /* Register variable[21]: Local variable */
21815 /* Register variable[22]: Result */
21816 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
21817 variable[21] = variable[22];
21818 /* Register variable[22]: Local variable */
21819 variable[22] = variable[11] /*nodearraylist5*/;
21820 /* Register variable[23]: Result */
21821 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21822 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8639); nit_exit(1);}
21823 /* Register variable[23]: Local variable */
21824 variable[23] = variable[10] /*nodearraylist6*/;
21825 /* Register variable[24]: Result */
21826 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21827 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8641); nit_exit(1);}
21828 /* Register variable[24]: Local variable */
21829 variable[24] = variable[9] /*nodearraylist7*/;
21830 /* Register variable[25]: Result */
21831 variable[25] = TAG_Bool(( variable[24] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21832 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8643); nit_exit(1);}
21833 /* Register variable[25]: Local variable */
21834 variable[25] = variable[8] /*nodearraylist8*/;
21835 /* Register variable[26]: Result */
21836 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21837 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8645); nit_exit(1);}
21838 /* Register variable[26]: Local variable */
21839 variable[26] = variable[7] /*nodearraylist9*/;
21840 /* Register variable[27]: Result */
21841 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
21842 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8647); nit_exit(1);}
21843 /* Register variable[27]: Local variable */
21844 variable[27] = variable[4] /*nodearraylist12*/;
21845 /* Register variable[28]: Result */
21846 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
21847 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction168___action, LOCATE_parser, 8649); nit_exit(1);}
21848 /* Register variable[28]: Local variable */
21849 /* Register variable[29]: Result */
21850 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*/, NIT_NULL /*null*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
21851 variable[28] = variable[29];
21852 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
21853 /* Register variable[29]: Result */
21854 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
21855 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
21856 return_label368: while(false);
21857 tracehead = trace.prev;
21858 return;
21859 }
21860 void parser___ReduceAction168___init(val_t self, int* init_table) {
21861 struct trace_t trace = {NULL, NULL, 8665, LOCATE_parser___ReduceAction168___init};
21862 val_t variable[2];
21863 struct WBT_ **closurevariable = NULL;
21864 trace.prev = tracehead; tracehead = &trace;
21865 trace.file = LOCATE_parser;
21866 /* Register variable[0]: Local variable */
21867 variable[0] = self;
21868 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction168].i]) return;
21869 /* Register variable[1]: Method return value and escape marker */
21870 return_label369: while(false);
21871 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction168].i] = 1;
21872 tracehead = trace.prev;
21873 return;
21874 }
21875 void parser___ReduceAction169___action(val_t self, val_t param0) {
21876 struct trace_t trace = {NULL, NULL, 8669, LOCATE_parser___ReduceAction169___action};
21877 val_t variable[32];
21878 struct WBT_ **closurevariable = NULL;
21879 trace.prev = tracehead; tracehead = &trace;
21880 trace.file = LOCATE_parser;
21881 /* Register variable[0]: Local variable */
21882 variable[0] = self;
21883 /* Register variable[1]: Local variable */
21884 variable[1] = param0;
21885 /* Register variable[2]: Method return value and escape marker */
21886 /* Register variable[3]: Local variable */
21887 variable[3] = NIT_NULL /*null*/;
21888 /* Register variable[4]: Local variable */
21889 /* Register variable[5]: Result */
21890 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21891 variable[4] = variable[5];
21892 /* Register variable[5]: Local variable */
21893 /* Register variable[6]: Result */
21894 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21895 variable[5] = variable[6];
21896 /* Register variable[6]: Local variable */
21897 /* Register variable[7]: Result */
21898 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21899 variable[6] = variable[7];
21900 /* Register variable[7]: Local variable */
21901 /* Register variable[8]: Result */
21902 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21903 variable[7] = variable[8];
21904 /* Register variable[8]: Local variable */
21905 /* Register variable[9]: Result */
21906 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21907 variable[8] = variable[9];
21908 /* Register variable[9]: Local variable */
21909 /* Register variable[10]: Result */
21910 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21911 variable[9] = variable[10];
21912 /* Register variable[10]: Local variable */
21913 /* Register variable[11]: Result */
21914 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21915 variable[10] = variable[11];
21916 /* Register variable[11]: Local variable */
21917 /* Register variable[12]: Result */
21918 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21919 variable[11] = variable[12];
21920 /* Register variable[12]: Local variable */
21921 /* Register variable[13]: Result */
21922 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21923 variable[12] = variable[13];
21924 /* Register variable[13]: Local variable */
21925 /* Register variable[14]: Result */
21926 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21927 variable[13] = variable[14];
21928 /* Register variable[14]: Local variable */
21929 /* Register variable[15]: Result */
21930 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21931 variable[14] = variable[15];
21932 /* Register variable[15]: Local variable */
21933 /* Register variable[16]: Result */
21934 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21935 variable[15] = variable[16];
21936 /* Register variable[16]: Local variable */
21937 /* Register variable[17]: Result */
21938 variable[17] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
21939 variable[16] = variable[17];
21940 /* Register variable[17]: Local variable */
21941 variable[17] = variable[16] /*nodearraylist1*/;
21942 /* Register variable[18]: Result */
21943 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
21944 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8686); nit_exit(1);}
21945 /* Register variable[18]: Local variable */
21946 variable[18] = variable[15] /*nodearraylist2*/;
21947 /* Register variable[19]: Result */
21948 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21949 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8688); nit_exit(1);}
21950 /* Register variable[19]: Local variable */
21951 variable[19] = variable[14] /*nodearraylist3*/;
21952 /* Register variable[20]: Result */
21953 variable[20] = TAG_Bool(( variable[19] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
21954 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8690); nit_exit(1);}
21955 /* Register variable[20]: Local variable */
21956 /* Register variable[21]: Result */
21957 variable[21] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[18] /*tkwredefnode4*/, variable[19] /*tkwreadablenode5*/) /*new AReadAble*/;
21958 variable[20] = variable[21];
21959 /* Register variable[21]: Local variable */
21960 variable[21] = variable[13] /*nodearraylist4*/;
21961 /* Register variable[22]: Result */
21962 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21963 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8696); nit_exit(1);}
21964 /* Register variable[22]: Local variable */
21965 variable[22] = variable[12] /*nodearraylist5*/;
21966 /* Register variable[23]: Result */
21967 variable[23] = TAG_Bool(( variable[22] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
21968 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8698); nit_exit(1);}
21969 /* Register variable[23]: Local variable */
21970 /* Register variable[24]: Result */
21971 variable[24] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[21] /*tkwredefnode7*/, variable[22] /*tkwwritablenode8*/) /*new AWriteAble*/;
21972 variable[23] = variable[24];
21973 /* Register variable[24]: Local variable */
21974 variable[24] = variable[11] /*nodearraylist6*/;
21975 /* Register variable[25]: Result */
21976 variable[25] = TAG_Bool(( variable[24] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
21977 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8704); nit_exit(1);}
21978 /* Register variable[25]: Local variable */
21979 variable[25] = variable[10] /*nodearraylist7*/;
21980 /* Register variable[26]: Result */
21981 variable[26] = TAG_Bool(( variable[25] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[25] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
21982 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8706); nit_exit(1);}
21983 /* Register variable[26]: Local variable */
21984 variable[26] = variable[9] /*nodearraylist8*/;
21985 /* Register variable[27]: Result */
21986 variable[27] = TAG_Bool(( variable[26] /*tkwattrnode11*/==NIT_NULL) || VAL_ISA( variable[26] /*tkwattrnode11*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
21987 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8708); nit_exit(1);}
21988 /* Register variable[27]: Local variable */
21989 variable[27] = variable[8] /*nodearraylist9*/;
21990 /* Register variable[28]: Result */
21991 variable[28] = TAG_Bool(( variable[27] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[27] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
21992 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8710); nit_exit(1);}
21993 /* Register variable[28]: Local variable */
21994 variable[28] = variable[7] /*nodearraylist10*/;
21995 /* Register variable[29]: Result */
21996 variable[29] = TAG_Bool(( variable[28] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[28] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
21997 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8712); nit_exit(1);}
21998 /* Register variable[29]: Local variable */
21999 variable[29] = variable[4] /*nodearraylist13*/;
22000 /* Register variable[30]: Result */
22001 variable[30] = TAG_Bool(( variable[29] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[29] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22002 if (!UNTAG_Bool(variable[30])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction169___action, LOCATE_parser, 8714); nit_exit(1);}
22003 /* Register variable[30]: Local variable */
22004 /* Register variable[31]: Result */
22005 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*/, NIT_NULL /*null*/, variable[27] /*tattridnode13*/, variable[28] /*ptypenode14*/, variable[29] /*pexprnode15*/) /*new AAttrPropdef*/;
22006 variable[30] = variable[31];
22007 variable[3] = variable[30] /*ppropdefnode1*/ /*node_list=*/;
22008 /* Register variable[31]: Result */
22009 variable[31] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22010 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[31], variable[3] /*node_list*/) /*Parser::push*/;
22011 return_label370: while(false);
22012 tracehead = trace.prev;
22013 return;
22014 }
22015 void parser___ReduceAction169___init(val_t self, int* init_table) {
22016 struct trace_t trace = {NULL, NULL, 8730, LOCATE_parser___ReduceAction169___init};
22017 val_t variable[2];
22018 struct WBT_ **closurevariable = NULL;
22019 trace.prev = tracehead; tracehead = &trace;
22020 trace.file = LOCATE_parser;
22021 /* Register variable[0]: Local variable */
22022 variable[0] = self;
22023 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction169].i]) return;
22024 /* Register variable[1]: Method return value and escape marker */
22025 return_label371: while(false);
22026 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction169].i] = 1;
22027 tracehead = trace.prev;
22028 return;
22029 }
22030 void parser___ReduceAction170___action(val_t self, val_t param0) {
22031 struct trace_t trace = {NULL, NULL, 8734, LOCATE_parser___ReduceAction170___action};
22032 val_t variable[27];
22033 struct WBT_ **closurevariable = NULL;
22034 trace.prev = tracehead; tracehead = &trace;
22035 trace.file = LOCATE_parser;
22036 /* Register variable[0]: Local variable */
22037 variable[0] = self;
22038 /* Register variable[1]: Local variable */
22039 variable[1] = param0;
22040 /* Register variable[2]: Method return value and escape marker */
22041 /* Register variable[3]: Local variable */
22042 variable[3] = NIT_NULL /*null*/;
22043 /* Register variable[4]: Local variable */
22044 /* Register variable[5]: Result */
22045 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22046 variable[4] = variable[5];
22047 /* Register variable[5]: Local variable */
22048 /* Register variable[6]: Result */
22049 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22050 variable[5] = variable[6];
22051 /* Register variable[6]: Local variable */
22052 /* Register variable[7]: Result */
22053 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22054 variable[6] = variable[7];
22055 /* Register variable[7]: Local variable */
22056 /* Register variable[8]: Result */
22057 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22058 variable[7] = variable[8];
22059 /* Register variable[8]: Local variable */
22060 /* Register variable[9]: Result */
22061 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22062 variable[8] = variable[9];
22063 /* Register variable[9]: Local variable */
22064 /* Register variable[10]: Result */
22065 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22066 variable[9] = variable[10];
22067 /* Register variable[10]: Local variable */
22068 /* Register variable[11]: Result */
22069 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22070 variable[10] = variable[11];
22071 /* Register variable[11]: Local variable */
22072 /* Register variable[12]: Result */
22073 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22074 variable[11] = variable[12];
22075 /* Register variable[12]: Local variable */
22076 /* Register variable[13]: Result */
22077 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22078 variable[12] = variable[13];
22079 /* Register variable[13]: Local variable */
22080 /* Register variable[14]: Result */
22081 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22082 variable[13] = variable[14];
22083 /* Register variable[14]: Local variable */
22084 /* Register variable[15]: Result */
22085 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22086 variable[14] = variable[15];
22087 /* Register variable[15]: Local variable */
22088 variable[15] = variable[14] /*nodearraylist1*/;
22089 /* Register variable[16]: Result */
22090 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22091 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8749); nit_exit(1);}
22092 /* Register variable[16]: Local variable */
22093 variable[16] = variable[13] /*nodearraylist2*/;
22094 /* Register variable[17]: Result */
22095 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22096 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8751); nit_exit(1);}
22097 /* Register variable[17]: Local variable */
22098 variable[17] = variable[12] /*nodearraylist3*/;
22099 /* Register variable[18]: Result */
22100 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
22101 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8753); nit_exit(1);}
22102 /* Register variable[18]: Local variable */
22103 /* Register variable[19]: Result */
22104 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
22105 variable[18] = variable[19];
22106 /* Register variable[19]: Local variable */
22107 variable[19] = variable[11] /*nodearraylist4*/;
22108 /* Register variable[20]: Result */
22109 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22110 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8759); nit_exit(1);}
22111 /* Register variable[20]: Local variable */
22112 variable[20] = variable[10] /*nodearraylist5*/;
22113 /* Register variable[21]: Result */
22114 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22115 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8761); nit_exit(1);}
22116 /* Register variable[21]: Local variable */
22117 variable[21] = variable[9] /*nodearraylist6*/;
22118 /* Register variable[22]: Result */
22119 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
22120 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8763); nit_exit(1);}
22121 /* Register variable[22]: Local variable */
22122 variable[22] = variable[8] /*nodearraylist7*/;
22123 /* Register variable[23]: Result */
22124 variable[23] = TAG_Bool(( variable[22] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22125 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8765); nit_exit(1);}
22126 /* Register variable[23]: Local variable */
22127 variable[23] = variable[7] /*nodearraylist8*/;
22128 /* Register variable[24]: Result */
22129 variable[24] = TAG_Bool(( variable[23] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
22130 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8767); nit_exit(1);}
22131 /* Register variable[24]: Local variable */
22132 variable[24] = variable[4] /*nodearraylist11*/;
22133 /* Register variable[25]: Result */
22134 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22135 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction170___action, LOCATE_parser, 8769); nit_exit(1);}
22136 /* Register variable[25]: Local variable */
22137 /* Register variable[26]: Result */
22138 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode11*/, variable[23] /*ptypenode12*/, variable[24] /*pexprnode13*/) /*new AAttrPropdef*/;
22139 variable[25] = variable[26];
22140 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
22141 /* Register variable[26]: Result */
22142 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22143 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
22144 return_label372: while(false);
22145 tracehead = trace.prev;
22146 return;
22147 }
22148 void parser___ReduceAction170___init(val_t self, int* init_table) {
22149 struct trace_t trace = {NULL, NULL, 8785, LOCATE_parser___ReduceAction170___init};
22150 val_t variable[2];
22151 struct WBT_ **closurevariable = NULL;
22152 trace.prev = tracehead; tracehead = &trace;
22153 trace.file = LOCATE_parser;
22154 /* Register variable[0]: Local variable */
22155 variable[0] = self;
22156 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction170].i]) return;
22157 /* Register variable[1]: Method return value and escape marker */
22158 return_label373: while(false);
22159 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction170].i] = 1;
22160 tracehead = trace.prev;
22161 return;
22162 }
22163 void parser___ReduceAction171___action(val_t self, val_t param0) {
22164 struct trace_t trace = {NULL, NULL, 8789, LOCATE_parser___ReduceAction171___action};
22165 val_t variable[25];
22166 struct WBT_ **closurevariable = NULL;
22167 trace.prev = tracehead; tracehead = &trace;
22168 trace.file = LOCATE_parser;
22169 /* Register variable[0]: Local variable */
22170 variable[0] = self;
22171 /* Register variable[1]: Local variable */
22172 variable[1] = param0;
22173 /* Register variable[2]: Method return value and escape marker */
22174 /* Register variable[3]: Local variable */
22175 variable[3] = NIT_NULL /*null*/;
22176 /* Register variable[4]: Local variable */
22177 /* Register variable[5]: Result */
22178 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22179 variable[4] = variable[5];
22180 /* Register variable[5]: Local variable */
22181 /* Register variable[6]: Result */
22182 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22183 variable[5] = variable[6];
22184 /* Register variable[6]: Local variable */
22185 /* Register variable[7]: Result */
22186 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22187 variable[6] = variable[7];
22188 /* Register variable[7]: Local variable */
22189 /* Register variable[8]: Result */
22190 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22191 variable[7] = variable[8];
22192 /* Register variable[8]: Local variable */
22193 /* Register variable[9]: Result */
22194 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22195 variable[8] = variable[9];
22196 /* Register variable[9]: Local variable */
22197 /* Register variable[10]: Result */
22198 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22199 variable[9] = variable[10];
22200 /* Register variable[10]: Local variable */
22201 /* Register variable[11]: Result */
22202 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22203 variable[10] = variable[11];
22204 /* Register variable[11]: Local variable */
22205 /* Register variable[12]: Result */
22206 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22207 variable[11] = variable[12];
22208 /* Register variable[12]: Local variable */
22209 /* Register variable[13]: Result */
22210 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22211 variable[12] = variable[13];
22212 /* Register variable[13]: Local variable */
22213 /* Register variable[14]: Result */
22214 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22215 variable[13] = variable[14];
22216 /* Register variable[14]: Local variable */
22217 variable[14] = variable[13] /*nodearraylist1*/;
22218 /* Register variable[15]: Result */
22219 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22220 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8803); nit_exit(1);}
22221 /* Register variable[15]: Local variable */
22222 variable[15] = variable[12] /*nodearraylist2*/;
22223 /* Register variable[16]: Result */
22224 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
22225 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8805); nit_exit(1);}
22226 /* Register variable[16]: Local variable */
22227 /* Register variable[17]: Result */
22228 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode6*/) /*new AWriteAble*/;
22229 variable[16] = variable[17];
22230 /* Register variable[17]: Local variable */
22231 variable[17] = variable[11] /*nodearraylist3*/;
22232 /* Register variable[18]: Result */
22233 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22234 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8811); nit_exit(1);}
22235 /* Register variable[18]: Local variable */
22236 variable[18] = variable[10] /*nodearraylist4*/;
22237 /* Register variable[19]: Result */
22238 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22239 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8813); nit_exit(1);}
22240 /* Register variable[19]: Local variable */
22241 variable[19] = variable[9] /*nodearraylist5*/;
22242 /* Register variable[20]: Result */
22243 variable[20] = TAG_Bool(( variable[19] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
22244 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8815); nit_exit(1);}
22245 /* Register variable[20]: Local variable */
22246 variable[20] = variable[8] /*nodearraylist6*/;
22247 /* Register variable[21]: Result */
22248 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22249 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8817); nit_exit(1);}
22250 /* Register variable[21]: Local variable */
22251 variable[21] = variable[7] /*nodearraylist7*/;
22252 /* Register variable[22]: Result */
22253 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
22254 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8819); nit_exit(1);}
22255 /* Register variable[22]: Local variable */
22256 variable[22] = variable[4] /*nodearraylist10*/;
22257 /* Register variable[23]: Result */
22258 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22259 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction171___action, LOCATE_parser, 8821); nit_exit(1);}
22260 /* Register variable[23]: Local variable */
22261 /* Register variable[24]: Result */
22262 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*/, NIT_NULL /*null*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
22263 variable[23] = variable[24];
22264 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
22265 /* Register variable[24]: Result */
22266 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22267 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
22268 return_label374: while(false);
22269 tracehead = trace.prev;
22270 return;
22271 }
22272 void parser___ReduceAction171___init(val_t self, int* init_table) {
22273 struct trace_t trace = {NULL, NULL, 8837, LOCATE_parser___ReduceAction171___init};
22274 val_t variable[2];
22275 struct WBT_ **closurevariable = NULL;
22276 trace.prev = tracehead; tracehead = &trace;
22277 trace.file = LOCATE_parser;
22278 /* Register variable[0]: Local variable */
22279 variable[0] = self;
22280 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction171].i]) return;
22281 /* Register variable[1]: Method return value and escape marker */
22282 return_label375: while(false);
22283 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction171].i] = 1;
22284 tracehead = trace.prev;
22285 return;
22286 }
22287 void parser___ReduceAction172___action(val_t self, val_t param0) {
22288 struct trace_t trace = {NULL, NULL, 8841, LOCATE_parser___ReduceAction172___action};
22289 val_t variable[27];
22290 struct WBT_ **closurevariable = NULL;
22291 trace.prev = tracehead; tracehead = &trace;
22292 trace.file = LOCATE_parser;
22293 /* Register variable[0]: Local variable */
22294 variable[0] = self;
22295 /* Register variable[1]: Local variable */
22296 variable[1] = param0;
22297 /* Register variable[2]: Method return value and escape marker */
22298 /* Register variable[3]: Local variable */
22299 variable[3] = NIT_NULL /*null*/;
22300 /* Register variable[4]: Local variable */
22301 /* Register variable[5]: Result */
22302 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22303 variable[4] = variable[5];
22304 /* Register variable[5]: Local variable */
22305 /* Register variable[6]: Result */
22306 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22307 variable[5] = variable[6];
22308 /* Register variable[6]: Local variable */
22309 /* Register variable[7]: Result */
22310 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22311 variable[6] = variable[7];
22312 /* Register variable[7]: Local variable */
22313 /* Register variable[8]: Result */
22314 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22315 variable[7] = variable[8];
22316 /* Register variable[8]: Local variable */
22317 /* Register variable[9]: Result */
22318 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22319 variable[8] = variable[9];
22320 /* Register variable[9]: Local variable */
22321 /* Register variable[10]: Result */
22322 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22323 variable[9] = variable[10];
22324 /* Register variable[10]: Local variable */
22325 /* Register variable[11]: Result */
22326 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22327 variable[10] = variable[11];
22328 /* Register variable[11]: Local variable */
22329 /* Register variable[12]: Result */
22330 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22331 variable[11] = variable[12];
22332 /* Register variable[12]: Local variable */
22333 /* Register variable[13]: Result */
22334 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22335 variable[12] = variable[13];
22336 /* Register variable[13]: Local variable */
22337 /* Register variable[14]: Result */
22338 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22339 variable[13] = variable[14];
22340 /* Register variable[14]: Local variable */
22341 /* Register variable[15]: Result */
22342 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22343 variable[14] = variable[15];
22344 /* Register variable[15]: Local variable */
22345 variable[15] = variable[14] /*nodearraylist1*/;
22346 /* Register variable[16]: Result */
22347 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22348 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8856); nit_exit(1);}
22349 /* Register variable[16]: Local variable */
22350 variable[16] = variable[13] /*nodearraylist2*/;
22351 /* Register variable[17]: Result */
22352 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22353 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8858); nit_exit(1);}
22354 /* Register variable[17]: Local variable */
22355 variable[17] = variable[12] /*nodearraylist3*/;
22356 /* Register variable[18]: Result */
22357 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
22358 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8860); nit_exit(1);}
22359 /* Register variable[18]: Local variable */
22360 /* Register variable[19]: Result */
22361 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode5*/, variable[17] /*tkwwritablenode6*/) /*new AWriteAble*/;
22362 variable[18] = variable[19];
22363 /* Register variable[19]: Local variable */
22364 variable[19] = variable[11] /*nodearraylist4*/;
22365 /* Register variable[20]: Result */
22366 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22367 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8866); nit_exit(1);}
22368 /* Register variable[20]: Local variable */
22369 variable[20] = variable[10] /*nodearraylist5*/;
22370 /* Register variable[21]: Result */
22371 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22372 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8868); nit_exit(1);}
22373 /* Register variable[21]: Local variable */
22374 variable[21] = variable[9] /*nodearraylist6*/;
22375 /* Register variable[22]: Result */
22376 variable[22] = TAG_Bool(( variable[21] /*tkwattrnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwattrnode9*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
22377 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8870); nit_exit(1);}
22378 /* Register variable[22]: Local variable */
22379 variable[22] = variable[8] /*nodearraylist7*/;
22380 /* Register variable[23]: Result */
22381 variable[23] = TAG_Bool(( variable[22] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22382 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8872); nit_exit(1);}
22383 /* Register variable[23]: Local variable */
22384 variable[23] = variable[7] /*nodearraylist8*/;
22385 /* Register variable[24]: Result */
22386 variable[24] = TAG_Bool(( variable[23] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
22387 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8874); nit_exit(1);}
22388 /* Register variable[24]: Local variable */
22389 variable[24] = variable[4] /*nodearraylist11*/;
22390 /* Register variable[25]: Result */
22391 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22392 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction172___action, LOCATE_parser, 8876); nit_exit(1);}
22393 /* Register variable[25]: Local variable */
22394 /* Register variable[26]: Result */
22395 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*/, NIT_NULL /*null*/, variable[22] /*tattridnode11*/, variable[23] /*ptypenode12*/, variable[24] /*pexprnode13*/) /*new AAttrPropdef*/;
22396 variable[25] = variable[26];
22397 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
22398 /* Register variable[26]: Result */
22399 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22400 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
22401 return_label376: while(false);
22402 tracehead = trace.prev;
22403 return;
22404 }
22405 void parser___ReduceAction172___init(val_t self, int* init_table) {
22406 struct trace_t trace = {NULL, NULL, 8892, LOCATE_parser___ReduceAction172___init};
22407 val_t variable[2];
22408 struct WBT_ **closurevariable = NULL;
22409 trace.prev = tracehead; tracehead = &trace;
22410 trace.file = LOCATE_parser;
22411 /* Register variable[0]: Local variable */
22412 variable[0] = self;
22413 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction172].i]) return;
22414 /* Register variable[1]: Method return value and escape marker */
22415 return_label377: while(false);
22416 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction172].i] = 1;
22417 tracehead = trace.prev;
22418 return;
22419 }
22420 void parser___ReduceAction173___action(val_t self, val_t param0) {
22421 struct trace_t trace = {NULL, NULL, 8896, LOCATE_parser___ReduceAction173___action};
22422 val_t variable[22];
22423 struct WBT_ **closurevariable = NULL;
22424 trace.prev = tracehead; tracehead = &trace;
22425 trace.file = LOCATE_parser;
22426 /* Register variable[0]: Local variable */
22427 variable[0] = self;
22428 /* Register variable[1]: Local variable */
22429 variable[1] = param0;
22430 /* Register variable[2]: Method return value and escape marker */
22431 /* Register variable[3]: Local variable */
22432 variable[3] = NIT_NULL /*null*/;
22433 /* Register variable[4]: Local variable */
22434 /* Register variable[5]: Result */
22435 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22436 variable[4] = variable[5];
22437 /* Register variable[5]: Local variable */
22438 /* Register variable[6]: Result */
22439 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22440 variable[5] = variable[6];
22441 /* Register variable[6]: Local variable */
22442 /* Register variable[7]: Result */
22443 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22444 variable[6] = variable[7];
22445 /* Register variable[7]: Local variable */
22446 /* Register variable[8]: Result */
22447 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22448 variable[7] = variable[8];
22449 /* Register variable[8]: Local variable */
22450 /* Register variable[9]: Result */
22451 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22452 variable[8] = variable[9];
22453 /* Register variable[9]: Local variable */
22454 /* Register variable[10]: Result */
22455 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22456 variable[9] = variable[10];
22457 /* Register variable[10]: Local variable */
22458 /* Register variable[11]: Result */
22459 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22460 variable[10] = variable[11];
22461 /* Register variable[11]: Local variable */
22462 /* Register variable[12]: Result */
22463 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22464 variable[11] = variable[12];
22465 /* Register variable[12]: Local variable */
22466 /* Register variable[13]: Result */
22467 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22468 variable[12] = variable[13];
22469 /* Register variable[13]: Local variable */
22470 variable[13] = variable[12] /*nodearraylist1*/;
22471 /* Register variable[14]: Result */
22472 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22473 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8909); nit_exit(1);}
22474 /* Register variable[14]: Local variable */
22475 variable[14] = variable[11] /*nodearraylist2*/;
22476 /* Register variable[15]: Result */
22477 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22478 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8911); nit_exit(1);}
22479 /* Register variable[15]: Local variable */
22480 variable[15] = variable[10] /*nodearraylist3*/;
22481 /* Register variable[16]: Result */
22482 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22483 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8913); nit_exit(1);}
22484 /* Register variable[16]: Local variable */
22485 variable[16] = variable[9] /*nodearraylist4*/;
22486 /* Register variable[17]: Result */
22487 variable[17] = TAG_Bool(( variable[16] /*tkwattrnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwattrnode7*/, COLOR_TKwattr, ID_TKwattr)) /*cast TKwattr*/;
22488 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8915); nit_exit(1);}
22489 /* Register variable[17]: Local variable */
22490 variable[17] = variable[8] /*nodearraylist5*/;
22491 /* Register variable[18]: Result */
22492 variable[18] = TAG_Bool(( variable[17] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22493 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8917); nit_exit(1);}
22494 /* Register variable[18]: Local variable */
22495 variable[18] = variable[7] /*nodearraylist6*/;
22496 /* Register variable[19]: Result */
22497 variable[19] = TAG_Bool(( variable[18] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
22498 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8919); nit_exit(1);}
22499 /* Register variable[19]: Local variable */
22500 variable[19] = variable[4] /*nodearraylist9*/;
22501 /* Register variable[20]: Result */
22502 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
22503 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction173___action, LOCATE_parser, 8921); nit_exit(1);}
22504 /* Register variable[20]: Local variable */
22505 /* Register variable[21]: Result */
22506 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*/, NIT_NULL /*null*/, variable[17] /*tattridnode9*/, variable[18] /*ptypenode10*/, variable[19] /*pexprnode11*/) /*new AAttrPropdef*/;
22507 variable[20] = variable[21];
22508 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
22509 /* Register variable[21]: Result */
22510 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22511 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
22512 return_label378: while(false);
22513 tracehead = trace.prev;
22514 return;
22515 }
22516 void parser___ReduceAction173___init(val_t self, int* init_table) {
22517 struct trace_t trace = {NULL, NULL, 8937, LOCATE_parser___ReduceAction173___init};
22518 val_t variable[2];
22519 struct WBT_ **closurevariable = NULL;
22520 trace.prev = tracehead; tracehead = &trace;
22521 trace.file = LOCATE_parser;
22522 /* Register variable[0]: Local variable */
22523 variable[0] = self;
22524 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction173].i]) return;
22525 /* Register variable[1]: Method return value and escape marker */
22526 return_label379: while(false);
22527 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction173].i] = 1;
22528 tracehead = trace.prev;
22529 return;
22530 }
22531 void parser___ReduceAction174___action(val_t self, val_t param0) {
22532 struct trace_t trace = {NULL, NULL, 8941, LOCATE_parser___ReduceAction174___action};
22533 val_t variable[20];
22534 struct WBT_ **closurevariable = NULL;
22535 trace.prev = tracehead; tracehead = &trace;
22536 trace.file = LOCATE_parser;
22537 /* Register variable[0]: Local variable */
22538 variable[0] = self;
22539 /* Register variable[1]: Local variable */
22540 variable[1] = param0;
22541 /* Register variable[2]: Method return value and escape marker */
22542 /* Register variable[3]: Local variable */
22543 variable[3] = NIT_NULL /*null*/;
22544 /* Register variable[4]: Local variable */
22545 /* Register variable[5]: Result */
22546 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22547 variable[4] = variable[5];
22548 /* Register variable[5]: Local variable */
22549 /* Register variable[6]: Result */
22550 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22551 variable[5] = variable[6];
22552 /* Register variable[6]: Local variable */
22553 /* Register variable[7]: Result */
22554 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22555 variable[6] = variable[7];
22556 /* Register variable[7]: Local variable */
22557 /* Register variable[8]: Result */
22558 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22559 variable[7] = variable[8];
22560 /* Register variable[8]: Local variable */
22561 /* Register variable[9]: Result */
22562 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22563 variable[8] = variable[9];
22564 /* Register variable[9]: Local variable */
22565 /* Register variable[10]: Result */
22566 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22567 variable[9] = variable[10];
22568 /* Register variable[10]: Local variable */
22569 variable[10] = variable[9] /*nodearraylist1*/;
22570 /* Register variable[11]: Result */
22571 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22572 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8951); nit_exit(1);}
22573 /* Register variable[11]: Local variable */
22574 variable[11] = variable[8] /*nodearraylist2*/;
22575 /* Register variable[12]: Result */
22576 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
22577 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8953); nit_exit(1);}
22578 /* Register variable[12]: Local variable */
22579 /* Register variable[13]: Result */
22580 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
22581 variable[12] = variable[13];
22582 /* Register variable[13]: Local variable */
22583 variable[13] = variable[7] /*nodearraylist3*/;
22584 /* Register variable[14]: Result */
22585 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
22586 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8959); nit_exit(1);}
22587 /* Register variable[14]: Local variable */
22588 /* Register variable[15]: Result */
22589 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode8*/) /*new AWriteAble*/;
22590 variable[14] = variable[15];
22591 /* Register variable[15]: Local variable */
22592 variable[15] = variable[6] /*nodearraylist4*/;
22593 /* Register variable[16]: Result */
22594 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22595 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8965); nit_exit(1);}
22596 /* Register variable[16]: Local variable */
22597 variable[16] = variable[5] /*nodearraylist5*/;
22598 /* Register variable[17]: Result */
22599 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
22600 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8967); nit_exit(1);}
22601 /* Register variable[17]: Local variable */
22602 variable[17] = variable[4] /*nodearraylist6*/;
22603 /* Register variable[18]: Result */
22604 variable[18] = TAG_Bool(( variable[17] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22605 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction174___action, LOCATE_parser, 8969); nit_exit(1);}
22606 /* Register variable[18]: Local variable */
22607 /* Register variable[19]: Result */
22608 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, variable[14] /*pablenode6*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode12*/, variable[17] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
22609 variable[18] = variable[19];
22610 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
22611 /* Register variable[19]: Result */
22612 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22613 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
22614 return_label380: while(false);
22615 tracehead = trace.prev;
22616 return;
22617 }
22618 void parser___ReduceAction174___init(val_t self, int* init_table) {
22619 struct trace_t trace = {NULL, NULL, 8985, LOCATE_parser___ReduceAction174___init};
22620 val_t variable[2];
22621 struct WBT_ **closurevariable = NULL;
22622 trace.prev = tracehead; tracehead = &trace;
22623 trace.file = LOCATE_parser;
22624 /* Register variable[0]: Local variable */
22625 variable[0] = self;
22626 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction174].i]) return;
22627 /* Register variable[1]: Method return value and escape marker */
22628 return_label381: while(false);
22629 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction174].i] = 1;
22630 tracehead = trace.prev;
22631 return;
22632 }
22633 void parser___ReduceAction175___action(val_t self, val_t param0) {
22634 struct trace_t trace = {NULL, NULL, 8989, LOCATE_parser___ReduceAction175___action};
22635 val_t variable[22];
22636 struct WBT_ **closurevariable = NULL;
22637 trace.prev = tracehead; tracehead = &trace;
22638 trace.file = LOCATE_parser;
22639 /* Register variable[0]: Local variable */
22640 variable[0] = self;
22641 /* Register variable[1]: Local variable */
22642 variable[1] = param0;
22643 /* Register variable[2]: Method return value and escape marker */
22644 /* Register variable[3]: Local variable */
22645 variable[3] = NIT_NULL /*null*/;
22646 /* Register variable[4]: Local variable */
22647 /* Register variable[5]: Result */
22648 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22649 variable[4] = variable[5];
22650 /* Register variable[5]: Local variable */
22651 /* Register variable[6]: Result */
22652 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22653 variable[5] = variable[6];
22654 /* Register variable[6]: Local variable */
22655 /* Register variable[7]: Result */
22656 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22657 variable[6] = variable[7];
22658 /* Register variable[7]: Local variable */
22659 /* Register variable[8]: Result */
22660 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22661 variable[7] = variable[8];
22662 /* Register variable[8]: Local variable */
22663 /* Register variable[9]: Result */
22664 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22665 variable[8] = variable[9];
22666 /* Register variable[9]: Local variable */
22667 /* Register variable[10]: Result */
22668 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22669 variable[9] = variable[10];
22670 /* Register variable[10]: Local variable */
22671 /* Register variable[11]: Result */
22672 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22673 variable[10] = variable[11];
22674 /* Register variable[11]: Local variable */
22675 variable[11] = variable[10] /*nodearraylist1*/;
22676 /* Register variable[12]: Result */
22677 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22678 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9000); nit_exit(1);}
22679 /* Register variable[12]: Local variable */
22680 variable[12] = variable[9] /*nodearraylist2*/;
22681 /* Register variable[13]: Result */
22682 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
22683 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9002); nit_exit(1);}
22684 /* Register variable[13]: Local variable */
22685 /* Register variable[14]: Result */
22686 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
22687 variable[13] = variable[14];
22688 /* Register variable[14]: Local variable */
22689 variable[14] = variable[8] /*nodearraylist3*/;
22690 /* Register variable[15]: Result */
22691 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22692 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9008); nit_exit(1);}
22693 /* Register variable[15]: Local variable */
22694 variable[15] = variable[7] /*nodearraylist4*/;
22695 /* Register variable[16]: Result */
22696 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
22697 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9010); nit_exit(1);}
22698 /* Register variable[16]: Local variable */
22699 /* Register variable[17]: Result */
22700 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode7*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
22701 variable[16] = variable[17];
22702 /* Register variable[17]: Local variable */
22703 variable[17] = variable[6] /*nodearraylist5*/;
22704 /* Register variable[18]: Result */
22705 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22706 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9016); nit_exit(1);}
22707 /* Register variable[18]: Local variable */
22708 variable[18] = variable[5] /*nodearraylist6*/;
22709 /* Register variable[19]: Result */
22710 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
22711 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9018); nit_exit(1);}
22712 /* Register variable[19]: Local variable */
22713 variable[19] = variable[4] /*nodearraylist7*/;
22714 /* Register variable[20]: Result */
22715 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22716 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction175___action, LOCATE_parser, 9020); nit_exit(1);}
22717 /* Register variable[20]: Local variable */
22718 /* Register variable[21]: Result */
22719 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[16] /*pablenode6*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode12*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
22720 variable[20] = variable[21];
22721 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
22722 /* Register variable[21]: Result */
22723 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22724 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
22725 return_label382: while(false);
22726 tracehead = trace.prev;
22727 return;
22728 }
22729 void parser___ReduceAction175___init(val_t self, int* init_table) {
22730 struct trace_t trace = {NULL, NULL, 9036, LOCATE_parser___ReduceAction175___init};
22731 val_t variable[2];
22732 struct WBT_ **closurevariable = NULL;
22733 trace.prev = tracehead; tracehead = &trace;
22734 trace.file = LOCATE_parser;
22735 /* Register variable[0]: Local variable */
22736 variable[0] = self;
22737 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction175].i]) return;
22738 /* Register variable[1]: Method return value and escape marker */
22739 return_label383: while(false);
22740 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction175].i] = 1;
22741 tracehead = trace.prev;
22742 return;
22743 }
22744 void parser___ReduceAction176___action(val_t self, val_t param0) {
22745 struct trace_t trace = {NULL, NULL, 9040, LOCATE_parser___ReduceAction176___action};
22746 val_t variable[17];
22747 struct WBT_ **closurevariable = NULL;
22748 trace.prev = tracehead; tracehead = &trace;
22749 trace.file = LOCATE_parser;
22750 /* Register variable[0]: Local variable */
22751 variable[0] = self;
22752 /* Register variable[1]: Local variable */
22753 variable[1] = param0;
22754 /* Register variable[2]: Method return value and escape marker */
22755 /* Register variable[3]: Local variable */
22756 variable[3] = NIT_NULL /*null*/;
22757 /* Register variable[4]: Local variable */
22758 /* Register variable[5]: Result */
22759 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22760 variable[4] = variable[5];
22761 /* Register variable[5]: Local variable */
22762 /* Register variable[6]: Result */
22763 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22764 variable[5] = variable[6];
22765 /* Register variable[6]: Local variable */
22766 /* Register variable[7]: Result */
22767 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22768 variable[6] = variable[7];
22769 /* Register variable[7]: Local variable */
22770 /* Register variable[8]: Result */
22771 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22772 variable[7] = variable[8];
22773 /* Register variable[8]: Local variable */
22774 /* Register variable[9]: Result */
22775 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22776 variable[8] = variable[9];
22777 /* Register variable[9]: Local variable */
22778 variable[9] = variable[8] /*nodearraylist1*/;
22779 /* Register variable[10]: Result */
22780 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22781 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9049); nit_exit(1);}
22782 /* Register variable[10]: Local variable */
22783 variable[10] = variable[7] /*nodearraylist2*/;
22784 /* Register variable[11]: Result */
22785 variable[11] = TAG_Bool(( variable[10] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
22786 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9051); nit_exit(1);}
22787 /* Register variable[11]: Local variable */
22788 /* Register variable[12]: Result */
22789 variable[12] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[10] /*tkwreadablenode5*/) /*new AReadAble*/;
22790 variable[11] = variable[12];
22791 /* Register variable[12]: Local variable */
22792 variable[12] = variable[6] /*nodearraylist3*/;
22793 /* Register variable[13]: Result */
22794 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22795 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9057); nit_exit(1);}
22796 /* Register variable[13]: Local variable */
22797 variable[13] = variable[5] /*nodearraylist4*/;
22798 /* Register variable[14]: Result */
22799 variable[14] = TAG_Bool(( variable[13] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
22800 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9059); nit_exit(1);}
22801 /* Register variable[14]: Local variable */
22802 variable[14] = variable[4] /*nodearraylist5*/;
22803 /* Register variable[15]: Result */
22804 variable[15] = TAG_Bool(( variable[14] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22805 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction176___action, LOCATE_parser, 9061); nit_exit(1);}
22806 /* Register variable[15]: Local variable */
22807 /* Register variable[16]: Result */
22808 variable[16] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, variable[11] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[13] /*tkwvarnode10*/, variable[14] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
22809 variable[15] = variable[16];
22810 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
22811 /* Register variable[16]: Result */
22812 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22813 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
22814 return_label384: while(false);
22815 tracehead = trace.prev;
22816 return;
22817 }
22818 void parser___ReduceAction176___init(val_t self, int* init_table) {
22819 struct trace_t trace = {NULL, NULL, 9077, LOCATE_parser___ReduceAction176___init};
22820 val_t variable[2];
22821 struct WBT_ **closurevariable = NULL;
22822 trace.prev = tracehead; tracehead = &trace;
22823 trace.file = LOCATE_parser;
22824 /* Register variable[0]: Local variable */
22825 variable[0] = self;
22826 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction176].i]) return;
22827 /* Register variable[1]: Method return value and escape marker */
22828 return_label385: while(false);
22829 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction176].i] = 1;
22830 tracehead = trace.prev;
22831 return;
22832 }
22833 void parser___ReduceAction177___action(val_t self, val_t param0) {
22834 struct trace_t trace = {NULL, NULL, 9081, LOCATE_parser___ReduceAction177___action};
22835 val_t variable[22];
22836 struct WBT_ **closurevariable = NULL;
22837 trace.prev = tracehead; tracehead = &trace;
22838 trace.file = LOCATE_parser;
22839 /* Register variable[0]: Local variable */
22840 variable[0] = self;
22841 /* Register variable[1]: Local variable */
22842 variable[1] = param0;
22843 /* Register variable[2]: Method return value and escape marker */
22844 /* Register variable[3]: Local variable */
22845 variable[3] = NIT_NULL /*null*/;
22846 /* Register variable[4]: Local variable */
22847 /* Register variable[5]: Result */
22848 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22849 variable[4] = variable[5];
22850 /* Register variable[5]: Local variable */
22851 /* Register variable[6]: Result */
22852 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22853 variable[5] = variable[6];
22854 /* Register variable[6]: Local variable */
22855 /* Register variable[7]: Result */
22856 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22857 variable[6] = variable[7];
22858 /* Register variable[7]: Local variable */
22859 /* Register variable[8]: Result */
22860 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22861 variable[7] = variable[8];
22862 /* Register variable[8]: Local variable */
22863 /* Register variable[9]: Result */
22864 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22865 variable[8] = variable[9];
22866 /* Register variable[9]: Local variable */
22867 /* Register variable[10]: Result */
22868 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22869 variable[9] = variable[10];
22870 /* Register variable[10]: Local variable */
22871 /* Register variable[11]: Result */
22872 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22873 variable[10] = variable[11];
22874 /* Register variable[11]: Local variable */
22875 variable[11] = variable[10] /*nodearraylist1*/;
22876 /* Register variable[12]: Result */
22877 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22878 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9092); nit_exit(1);}
22879 /* Register variable[12]: Local variable */
22880 variable[12] = variable[9] /*nodearraylist2*/;
22881 /* Register variable[13]: Result */
22882 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22883 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9094); nit_exit(1);}
22884 /* Register variable[13]: Local variable */
22885 variable[13] = variable[8] /*nodearraylist3*/;
22886 /* Register variable[14]: Result */
22887 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
22888 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9096); nit_exit(1);}
22889 /* Register variable[14]: Local variable */
22890 /* Register variable[15]: Result */
22891 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
22892 variable[14] = variable[15];
22893 /* Register variable[15]: Local variable */
22894 variable[15] = variable[7] /*nodearraylist4*/;
22895 /* Register variable[16]: Result */
22896 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
22897 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9102); nit_exit(1);}
22898 /* Register variable[16]: Local variable */
22899 /* Register variable[17]: Result */
22900 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
22901 variable[16] = variable[17];
22902 /* Register variable[17]: Local variable */
22903 variable[17] = variable[6] /*nodearraylist5*/;
22904 /* Register variable[18]: Result */
22905 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
22906 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9108); nit_exit(1);}
22907 /* Register variable[18]: Local variable */
22908 variable[18] = variable[5] /*nodearraylist6*/;
22909 /* Register variable[19]: Result */
22910 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
22911 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9110); nit_exit(1);}
22912 /* Register variable[19]: Local variable */
22913 variable[19] = variable[4] /*nodearraylist7*/;
22914 /* Register variable[20]: Result */
22915 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
22916 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction177___action, LOCATE_parser, 9112); nit_exit(1);}
22917 /* Register variable[20]: Local variable */
22918 /* Register variable[21]: Result */
22919 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[16] /*pablenode6*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode12*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
22920 variable[20] = variable[21];
22921 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
22922 /* Register variable[21]: Result */
22923 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
22924 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
22925 return_label386: while(false);
22926 tracehead = trace.prev;
22927 return;
22928 }
22929 void parser___ReduceAction177___init(val_t self, int* init_table) {
22930 struct trace_t trace = {NULL, NULL, 9128, LOCATE_parser___ReduceAction177___init};
22931 val_t variable[2];
22932 struct WBT_ **closurevariable = NULL;
22933 trace.prev = tracehead; tracehead = &trace;
22934 trace.file = LOCATE_parser;
22935 /* Register variable[0]: Local variable */
22936 variable[0] = self;
22937 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction177].i]) return;
22938 /* Register variable[1]: Method return value and escape marker */
22939 return_label387: while(false);
22940 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction177].i] = 1;
22941 tracehead = trace.prev;
22942 return;
22943 }
22944 void parser___ReduceAction178___action(val_t self, val_t param0) {
22945 struct trace_t trace = {NULL, NULL, 9132, LOCATE_parser___ReduceAction178___action};
22946 val_t variable[24];
22947 struct WBT_ **closurevariable = NULL;
22948 trace.prev = tracehead; tracehead = &trace;
22949 trace.file = LOCATE_parser;
22950 /* Register variable[0]: Local variable */
22951 variable[0] = self;
22952 /* Register variable[1]: Local variable */
22953 variable[1] = param0;
22954 /* Register variable[2]: Method return value and escape marker */
22955 /* Register variable[3]: Local variable */
22956 variable[3] = NIT_NULL /*null*/;
22957 /* Register variable[4]: Local variable */
22958 /* Register variable[5]: Result */
22959 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22960 variable[4] = variable[5];
22961 /* Register variable[5]: Local variable */
22962 /* Register variable[6]: Result */
22963 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22964 variable[5] = variable[6];
22965 /* Register variable[6]: Local variable */
22966 /* Register variable[7]: Result */
22967 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22968 variable[6] = variable[7];
22969 /* Register variable[7]: Local variable */
22970 /* Register variable[8]: Result */
22971 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22972 variable[7] = variable[8];
22973 /* Register variable[8]: Local variable */
22974 /* Register variable[9]: Result */
22975 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22976 variable[8] = variable[9];
22977 /* Register variable[9]: Local variable */
22978 /* Register variable[10]: Result */
22979 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22980 variable[9] = variable[10];
22981 /* Register variable[10]: Local variable */
22982 /* Register variable[11]: Result */
22983 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22984 variable[10] = variable[11];
22985 /* Register variable[11]: Local variable */
22986 /* Register variable[12]: Result */
22987 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
22988 variable[11] = variable[12];
22989 /* Register variable[12]: Local variable */
22990 variable[12] = variable[11] /*nodearraylist1*/;
22991 /* Register variable[13]: Result */
22992 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
22993 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9144); nit_exit(1);}
22994 /* Register variable[13]: Local variable */
22995 variable[13] = variable[10] /*nodearraylist2*/;
22996 /* Register variable[14]: Result */
22997 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
22998 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9146); nit_exit(1);}
22999 /* Register variable[14]: Local variable */
23000 variable[14] = variable[9] /*nodearraylist3*/;
23001 /* Register variable[15]: Result */
23002 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23003 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9148); nit_exit(1);}
23004 /* Register variable[15]: Local variable */
23005 /* Register variable[16]: Result */
23006 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
23007 variable[15] = variable[16];
23008 /* Register variable[16]: Local variable */
23009 variable[16] = variable[8] /*nodearraylist4*/;
23010 /* Register variable[17]: Result */
23011 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23012 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9154); nit_exit(1);}
23013 /* Register variable[17]: Local variable */
23014 variable[17] = variable[7] /*nodearraylist5*/;
23015 /* Register variable[18]: Result */
23016 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23017 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9156); nit_exit(1);}
23018 /* Register variable[18]: Local variable */
23019 /* Register variable[19]: Result */
23020 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
23021 variable[18] = variable[19];
23022 /* Register variable[19]: Local variable */
23023 variable[19] = variable[6] /*nodearraylist6*/;
23024 /* Register variable[20]: Result */
23025 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23026 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9162); nit_exit(1);}
23027 /* Register variable[20]: Local variable */
23028 variable[20] = variable[5] /*nodearraylist7*/;
23029 /* Register variable[21]: Result */
23030 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23031 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9164); nit_exit(1);}
23032 /* Register variable[21]: Local variable */
23033 variable[21] = variable[4] /*nodearraylist8*/;
23034 /* Register variable[22]: Result */
23035 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23036 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction178___action, LOCATE_parser, 9166); nit_exit(1);}
23037 /* Register variable[22]: Local variable */
23038 /* Register variable[23]: Result */
23039 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[18] /*pablenode6*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode12*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23040 variable[22] = variable[23];
23041 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
23042 /* Register variable[23]: Result */
23043 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23044 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
23045 return_label388: while(false);
23046 tracehead = trace.prev;
23047 return;
23048 }
23049 void parser___ReduceAction178___init(val_t self, int* init_table) {
23050 struct trace_t trace = {NULL, NULL, 9182, LOCATE_parser___ReduceAction178___init};
23051 val_t variable[2];
23052 struct WBT_ **closurevariable = NULL;
23053 trace.prev = tracehead; tracehead = &trace;
23054 trace.file = LOCATE_parser;
23055 /* Register variable[0]: Local variable */
23056 variable[0] = self;
23057 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction178].i]) return;
23058 /* Register variable[1]: Method return value and escape marker */
23059 return_label389: while(false);
23060 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction178].i] = 1;
23061 tracehead = trace.prev;
23062 return;
23063 }
23064 void parser___ReduceAction179___action(val_t self, val_t param0) {
23065 struct trace_t trace = {NULL, NULL, 9186, LOCATE_parser___ReduceAction179___action};
23066 val_t variable[19];
23067 struct WBT_ **closurevariable = NULL;
23068 trace.prev = tracehead; tracehead = &trace;
23069 trace.file = LOCATE_parser;
23070 /* Register variable[0]: Local variable */
23071 variable[0] = self;
23072 /* Register variable[1]: Local variable */
23073 variable[1] = param0;
23074 /* Register variable[2]: Method return value and escape marker */
23075 /* Register variable[3]: Local variable */
23076 variable[3] = NIT_NULL /*null*/;
23077 /* Register variable[4]: Local variable */
23078 /* Register variable[5]: Result */
23079 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23080 variable[4] = variable[5];
23081 /* Register variable[5]: Local variable */
23082 /* Register variable[6]: Result */
23083 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23084 variable[5] = variable[6];
23085 /* Register variable[6]: Local variable */
23086 /* Register variable[7]: Result */
23087 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23088 variable[6] = variable[7];
23089 /* Register variable[7]: Local variable */
23090 /* Register variable[8]: Result */
23091 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23092 variable[7] = variable[8];
23093 /* Register variable[8]: Local variable */
23094 /* Register variable[9]: Result */
23095 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23096 variable[8] = variable[9];
23097 /* Register variable[9]: Local variable */
23098 /* Register variable[10]: Result */
23099 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23100 variable[9] = variable[10];
23101 /* Register variable[10]: Local variable */
23102 variable[10] = variable[9] /*nodearraylist1*/;
23103 /* Register variable[11]: Result */
23104 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23105 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9196); nit_exit(1);}
23106 /* Register variable[11]: Local variable */
23107 variable[11] = variable[8] /*nodearraylist2*/;
23108 /* Register variable[12]: Result */
23109 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23110 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9198); nit_exit(1);}
23111 /* Register variable[12]: Local variable */
23112 variable[12] = variable[7] /*nodearraylist3*/;
23113 /* Register variable[13]: Result */
23114 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23115 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9200); nit_exit(1);}
23116 /* Register variable[13]: Local variable */
23117 /* Register variable[14]: Result */
23118 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[11] /*tkwredefnode4*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
23119 variable[13] = variable[14];
23120 /* Register variable[14]: Local variable */
23121 variable[14] = variable[6] /*nodearraylist4*/;
23122 /* Register variable[15]: Result */
23123 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23124 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9206); nit_exit(1);}
23125 /* Register variable[15]: Local variable */
23126 variable[15] = variable[5] /*nodearraylist5*/;
23127 /* Register variable[16]: Result */
23128 variable[16] = TAG_Bool(( variable[15] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23129 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9208); nit_exit(1);}
23130 /* Register variable[16]: Local variable */
23131 variable[16] = variable[4] /*nodearraylist6*/;
23132 /* Register variable[17]: Result */
23133 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23134 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction179___action, LOCATE_parser, 9210); nit_exit(1);}
23135 /* Register variable[17]: Local variable */
23136 /* Register variable[18]: Result */
23137 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[13] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[15] /*tkwvarnode10*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23138 variable[17] = variable[18];
23139 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
23140 /* Register variable[18]: Result */
23141 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23142 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
23143 return_label390: while(false);
23144 tracehead = trace.prev;
23145 return;
23146 }
23147 void parser___ReduceAction179___init(val_t self, int* init_table) {
23148 struct trace_t trace = {NULL, NULL, 9226, LOCATE_parser___ReduceAction179___init};
23149 val_t variable[2];
23150 struct WBT_ **closurevariable = NULL;
23151 trace.prev = tracehead; tracehead = &trace;
23152 trace.file = LOCATE_parser;
23153 /* Register variable[0]: Local variable */
23154 variable[0] = self;
23155 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction179].i]) return;
23156 /* Register variable[1]: Method return value and escape marker */
23157 return_label391: while(false);
23158 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction179].i] = 1;
23159 tracehead = trace.prev;
23160 return;
23161 }
23162 void parser___ReduceAction180___action(val_t self, val_t param0) {
23163 struct trace_t trace = {NULL, NULL, 9230, LOCATE_parser___ReduceAction180___action};
23164 val_t variable[17];
23165 struct WBT_ **closurevariable = NULL;
23166 trace.prev = tracehead; tracehead = &trace;
23167 trace.file = LOCATE_parser;
23168 /* Register variable[0]: Local variable */
23169 variable[0] = self;
23170 /* Register variable[1]: Local variable */
23171 variable[1] = param0;
23172 /* Register variable[2]: Method return value and escape marker */
23173 /* Register variable[3]: Local variable */
23174 variable[3] = NIT_NULL /*null*/;
23175 /* Register variable[4]: Local variable */
23176 /* Register variable[5]: Result */
23177 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23178 variable[4] = variable[5];
23179 /* Register variable[5]: Local variable */
23180 /* Register variable[6]: Result */
23181 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23182 variable[5] = variable[6];
23183 /* Register variable[6]: Local variable */
23184 /* Register variable[7]: Result */
23185 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23186 variable[6] = variable[7];
23187 /* Register variable[7]: Local variable */
23188 /* Register variable[8]: Result */
23189 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23190 variable[7] = variable[8];
23191 /* Register variable[8]: Local variable */
23192 /* Register variable[9]: Result */
23193 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23194 variable[8] = variable[9];
23195 /* Register variable[9]: Local variable */
23196 variable[9] = variable[8] /*nodearraylist1*/;
23197 /* Register variable[10]: Result */
23198 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23199 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9239); nit_exit(1);}
23200 /* Register variable[10]: Local variable */
23201 variable[10] = variable[7] /*nodearraylist2*/;
23202 /* Register variable[11]: Result */
23203 variable[11] = TAG_Bool(( variable[10] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23204 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9241); nit_exit(1);}
23205 /* Register variable[11]: Local variable */
23206 /* Register variable[12]: Result */
23207 variable[12] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[10] /*tkwwritablenode6*/) /*new AWriteAble*/;
23208 variable[11] = variable[12];
23209 /* Register variable[12]: Local variable */
23210 variable[12] = variable[6] /*nodearraylist3*/;
23211 /* Register variable[13]: Result */
23212 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23213 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9247); nit_exit(1);}
23214 /* Register variable[13]: Local variable */
23215 variable[13] = variable[5] /*nodearraylist4*/;
23216 /* Register variable[14]: Result */
23217 variable[14] = TAG_Bool(( variable[13] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23218 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9249); nit_exit(1);}
23219 /* Register variable[14]: Local variable */
23220 variable[14] = variable[4] /*nodearraylist5*/;
23221 /* Register variable[15]: Result */
23222 variable[15] = TAG_Bool(( variable[14] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23223 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction180___action, LOCATE_parser, 9251); nit_exit(1);}
23224 /* Register variable[15]: Local variable */
23225 /* Register variable[16]: Result */
23226 variable[16] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, variable[11] /*pablenode4*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[13] /*tkwvarnode10*/, variable[14] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23227 variable[15] = variable[16];
23228 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
23229 /* Register variable[16]: Result */
23230 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23231 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
23232 return_label392: while(false);
23233 tracehead = trace.prev;
23234 return;
23235 }
23236 void parser___ReduceAction180___init(val_t self, int* init_table) {
23237 struct trace_t trace = {NULL, NULL, 9267, LOCATE_parser___ReduceAction180___init};
23238 val_t variable[2];
23239 struct WBT_ **closurevariable = NULL;
23240 trace.prev = tracehead; tracehead = &trace;
23241 trace.file = LOCATE_parser;
23242 /* Register variable[0]: Local variable */
23243 variable[0] = self;
23244 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction180].i]) return;
23245 /* Register variable[1]: Method return value and escape marker */
23246 return_label393: while(false);
23247 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction180].i] = 1;
23248 tracehead = trace.prev;
23249 return;
23250 }
23251 void parser___ReduceAction181___action(val_t self, val_t param0) {
23252 struct trace_t trace = {NULL, NULL, 9271, LOCATE_parser___ReduceAction181___action};
23253 val_t variable[19];
23254 struct WBT_ **closurevariable = NULL;
23255 trace.prev = tracehead; tracehead = &trace;
23256 trace.file = LOCATE_parser;
23257 /* Register variable[0]: Local variable */
23258 variable[0] = self;
23259 /* Register variable[1]: Local variable */
23260 variable[1] = param0;
23261 /* Register variable[2]: Method return value and escape marker */
23262 /* Register variable[3]: Local variable */
23263 variable[3] = NIT_NULL /*null*/;
23264 /* Register variable[4]: Local variable */
23265 /* Register variable[5]: Result */
23266 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23267 variable[4] = variable[5];
23268 /* Register variable[5]: Local variable */
23269 /* Register variable[6]: Result */
23270 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23271 variable[5] = variable[6];
23272 /* Register variable[6]: Local variable */
23273 /* Register variable[7]: Result */
23274 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23275 variable[6] = variable[7];
23276 /* Register variable[7]: Local variable */
23277 /* Register variable[8]: Result */
23278 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23279 variable[7] = variable[8];
23280 /* Register variable[8]: Local variable */
23281 /* Register variable[9]: Result */
23282 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23283 variable[8] = variable[9];
23284 /* Register variable[9]: Local variable */
23285 /* Register variable[10]: Result */
23286 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23287 variable[9] = variable[10];
23288 /* Register variable[10]: Local variable */
23289 variable[10] = variable[9] /*nodearraylist1*/;
23290 /* Register variable[11]: Result */
23291 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23292 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9281); nit_exit(1);}
23293 /* Register variable[11]: Local variable */
23294 variable[11] = variable[8] /*nodearraylist2*/;
23295 /* Register variable[12]: Result */
23296 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23297 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9283); nit_exit(1);}
23298 /* Register variable[12]: Local variable */
23299 variable[12] = variable[7] /*nodearraylist3*/;
23300 /* Register variable[13]: Result */
23301 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23302 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9285); nit_exit(1);}
23303 /* Register variable[13]: Local variable */
23304 /* Register variable[14]: Result */
23305 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[11] /*tkwredefnode5*/, variable[12] /*tkwwritablenode6*/) /*new AWriteAble*/;
23306 variable[13] = variable[14];
23307 /* Register variable[14]: Local variable */
23308 variable[14] = variable[6] /*nodearraylist4*/;
23309 /* Register variable[15]: Result */
23310 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23311 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9291); nit_exit(1);}
23312 /* Register variable[15]: Local variable */
23313 variable[15] = variable[5] /*nodearraylist5*/;
23314 /* Register variable[16]: Result */
23315 variable[16] = TAG_Bool(( variable[15] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23316 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9293); nit_exit(1);}
23317 /* Register variable[16]: Local variable */
23318 variable[16] = variable[4] /*nodearraylist6*/;
23319 /* Register variable[17]: Result */
23320 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23321 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction181___action, LOCATE_parser, 9295); nit_exit(1);}
23322 /* Register variable[17]: Local variable */
23323 /* Register variable[18]: Result */
23324 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pablenode4*/, NIT_NULL /*null*/, variable[14] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[15] /*tkwvarnode10*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23325 variable[17] = variable[18];
23326 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
23327 /* Register variable[18]: Result */
23328 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23329 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
23330 return_label394: while(false);
23331 tracehead = trace.prev;
23332 return;
23333 }
23334 void parser___ReduceAction181___init(val_t self, int* init_table) {
23335 struct trace_t trace = {NULL, NULL, 9311, LOCATE_parser___ReduceAction181___init};
23336 val_t variable[2];
23337 struct WBT_ **closurevariable = NULL;
23338 trace.prev = tracehead; tracehead = &trace;
23339 trace.file = LOCATE_parser;
23340 /* Register variable[0]: Local variable */
23341 variable[0] = self;
23342 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction181].i]) return;
23343 /* Register variable[1]: Method return value and escape marker */
23344 return_label395: while(false);
23345 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction181].i] = 1;
23346 tracehead = trace.prev;
23347 return;
23348 }
23349 void parser___ReduceAction182___action(val_t self, val_t param0) {
23350 struct trace_t trace = {NULL, NULL, 9315, LOCATE_parser___ReduceAction182___action};
23351 val_t variable[14];
23352 struct WBT_ **closurevariable = NULL;
23353 trace.prev = tracehead; tracehead = &trace;
23354 trace.file = LOCATE_parser;
23355 /* Register variable[0]: Local variable */
23356 variable[0] = self;
23357 /* Register variable[1]: Local variable */
23358 variable[1] = param0;
23359 /* Register variable[2]: Method return value and escape marker */
23360 /* Register variable[3]: Local variable */
23361 variable[3] = NIT_NULL /*null*/;
23362 /* Register variable[4]: Local variable */
23363 /* Register variable[5]: Result */
23364 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23365 variable[4] = variable[5];
23366 /* Register variable[5]: Local variable */
23367 /* Register variable[6]: Result */
23368 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23369 variable[5] = variable[6];
23370 /* Register variable[6]: Local variable */
23371 /* Register variable[7]: Result */
23372 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23373 variable[6] = variable[7];
23374 /* Register variable[7]: Local variable */
23375 /* Register variable[8]: Result */
23376 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23377 variable[7] = variable[8];
23378 /* Register variable[8]: Local variable */
23379 variable[8] = variable[7] /*nodearraylist1*/;
23380 /* Register variable[9]: Result */
23381 variable[9] = TAG_Bool(( variable[8] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23382 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9323); nit_exit(1);}
23383 /* Register variable[9]: Local variable */
23384 variable[9] = variable[6] /*nodearraylist2*/;
23385 /* Register variable[10]: Result */
23386 variable[10] = TAG_Bool(( variable[9] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[9] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23387 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9325); nit_exit(1);}
23388 /* Register variable[10]: Local variable */
23389 variable[10] = variable[5] /*nodearraylist3*/;
23390 /* Register variable[11]: Result */
23391 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23392 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9327); nit_exit(1);}
23393 /* Register variable[11]: Local variable */
23394 variable[11] = variable[4] /*nodearraylist4*/;
23395 /* Register variable[12]: Result */
23396 variable[12] = TAG_Bool(( variable[11] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23397 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction182___action, LOCATE_parser, 9329); nit_exit(1);}
23398 /* Register variable[12]: Local variable */
23399 /* Register variable[13]: Result */
23400 variable[13] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[8] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[9] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[10] /*tkwvarnode8*/, variable[11] /*tattridnode9*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23401 variable[12] = variable[13];
23402 variable[3] = variable[12] /*ppropdefnode1*/ /*node_list=*/;
23403 /* Register variable[13]: Result */
23404 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23405 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
23406 return_label396: while(false);
23407 tracehead = trace.prev;
23408 return;
23409 }
23410 void parser___ReduceAction182___init(val_t self, int* init_table) {
23411 struct trace_t trace = {NULL, NULL, 9345, LOCATE_parser___ReduceAction182___init};
23412 val_t variable[2];
23413 struct WBT_ **closurevariable = NULL;
23414 trace.prev = tracehead; tracehead = &trace;
23415 trace.file = LOCATE_parser;
23416 /* Register variable[0]: Local variable */
23417 variable[0] = self;
23418 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction182].i]) return;
23419 /* Register variable[1]: Method return value and escape marker */
23420 return_label397: while(false);
23421 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction182].i] = 1;
23422 tracehead = trace.prev;
23423 return;
23424 }
23425 void parser___ReduceAction183___action(val_t self, val_t param0) {
23426 struct trace_t trace = {NULL, NULL, 9349, LOCATE_parser___ReduceAction183___action};
23427 val_t variable[22];
23428 struct WBT_ **closurevariable = NULL;
23429 trace.prev = tracehead; tracehead = &trace;
23430 trace.file = LOCATE_parser;
23431 /* Register variable[0]: Local variable */
23432 variable[0] = self;
23433 /* Register variable[1]: Local variable */
23434 variable[1] = param0;
23435 /* Register variable[2]: Method return value and escape marker */
23436 /* Register variable[3]: Local variable */
23437 variable[3] = NIT_NULL /*null*/;
23438 /* Register variable[4]: Local variable */
23439 /* Register variable[5]: Result */
23440 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23441 variable[4] = variable[5];
23442 /* Register variable[5]: Local variable */
23443 /* Register variable[6]: Result */
23444 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23445 variable[5] = variable[6];
23446 /* Register variable[6]: Local variable */
23447 /* Register variable[7]: Result */
23448 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23449 variable[6] = variable[7];
23450 /* Register variable[7]: Local variable */
23451 /* Register variable[8]: Result */
23452 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23453 variable[7] = variable[8];
23454 /* Register variable[8]: Local variable */
23455 /* Register variable[9]: Result */
23456 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23457 variable[8] = variable[9];
23458 /* Register variable[9]: Local variable */
23459 /* Register variable[10]: Result */
23460 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23461 variable[9] = variable[10];
23462 /* Register variable[10]: Local variable */
23463 /* Register variable[11]: Result */
23464 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23465 variable[10] = variable[11];
23466 /* Register variable[11]: Local variable */
23467 variable[11] = variable[10] /*nodearraylist1*/;
23468 /* Register variable[12]: Result */
23469 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23470 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9360); nit_exit(1);}
23471 /* Register variable[12]: Local variable */
23472 variable[12] = variable[9] /*nodearraylist2*/;
23473 /* Register variable[13]: Result */
23474 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23475 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9362); nit_exit(1);}
23476 /* Register variable[13]: Local variable */
23477 /* Register variable[14]: Result */
23478 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
23479 variable[13] = variable[14];
23480 /* Register variable[14]: Local variable */
23481 variable[14] = variable[8] /*nodearraylist3*/;
23482 /* Register variable[15]: Result */
23483 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23484 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9368); nit_exit(1);}
23485 /* Register variable[15]: Local variable */
23486 /* Register variable[16]: Result */
23487 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/) /*new AWriteAble*/;
23488 variable[15] = variable[16];
23489 /* Register variable[16]: Local variable */
23490 variable[16] = variable[7] /*nodearraylist4*/;
23491 /* Register variable[17]: Result */
23492 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23493 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9374); nit_exit(1);}
23494 /* Register variable[17]: Local variable */
23495 variable[17] = variable[6] /*nodearraylist5*/;
23496 /* Register variable[18]: Result */
23497 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23498 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9376); nit_exit(1);}
23499 /* Register variable[18]: Local variable */
23500 variable[18] = variable[5] /*nodearraylist6*/;
23501 /* Register variable[19]: Result */
23502 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23503 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9378); nit_exit(1);}
23504 /* Register variable[19]: Local variable */
23505 variable[19] = variable[4] /*nodearraylist7*/;
23506 /* Register variable[20]: Result */
23507 variable[20] = TAG_Bool(( variable[19] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23508 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction183___action, LOCATE_parser, 9380); nit_exit(1);}
23509 /* Register variable[20]: Local variable */
23510 /* Register variable[21]: Result */
23511 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[15] /*pablenode6*/, variable[16] /*tkwredefnode9*/, variable[17] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode12*/, variable[19] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23512 variable[20] = variable[21];
23513 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
23514 /* Register variable[21]: Result */
23515 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23516 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
23517 return_label398: while(false);
23518 tracehead = trace.prev;
23519 return;
23520 }
23521 void parser___ReduceAction183___init(val_t self, int* init_table) {
23522 struct trace_t trace = {NULL, NULL, 9396, LOCATE_parser___ReduceAction183___init};
23523 val_t variable[2];
23524 struct WBT_ **closurevariable = NULL;
23525 trace.prev = tracehead; tracehead = &trace;
23526 trace.file = LOCATE_parser;
23527 /* Register variable[0]: Local variable */
23528 variable[0] = self;
23529 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction183].i]) return;
23530 /* Register variable[1]: Method return value and escape marker */
23531 return_label399: while(false);
23532 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction183].i] = 1;
23533 tracehead = trace.prev;
23534 return;
23535 }
23536 void parser___ReduceAction184___action(val_t self, val_t param0) {
23537 struct trace_t trace = {NULL, NULL, 9400, LOCATE_parser___ReduceAction184___action};
23538 val_t variable[24];
23539 struct WBT_ **closurevariable = NULL;
23540 trace.prev = tracehead; tracehead = &trace;
23541 trace.file = LOCATE_parser;
23542 /* Register variable[0]: Local variable */
23543 variable[0] = self;
23544 /* Register variable[1]: Local variable */
23545 variable[1] = param0;
23546 /* Register variable[2]: Method return value and escape marker */
23547 /* Register variable[3]: Local variable */
23548 variable[3] = NIT_NULL /*null*/;
23549 /* Register variable[4]: Local variable */
23550 /* Register variable[5]: Result */
23551 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23552 variable[4] = variable[5];
23553 /* Register variable[5]: Local variable */
23554 /* Register variable[6]: Result */
23555 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23556 variable[5] = variable[6];
23557 /* Register variable[6]: Local variable */
23558 /* Register variable[7]: Result */
23559 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23560 variable[6] = variable[7];
23561 /* Register variable[7]: Local variable */
23562 /* Register variable[8]: Result */
23563 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23564 variable[7] = variable[8];
23565 /* Register variable[8]: Local variable */
23566 /* Register variable[9]: Result */
23567 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23568 variable[8] = variable[9];
23569 /* Register variable[9]: Local variable */
23570 /* Register variable[10]: Result */
23571 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23572 variable[9] = variable[10];
23573 /* Register variable[10]: Local variable */
23574 /* Register variable[11]: Result */
23575 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23576 variable[10] = variable[11];
23577 /* Register variable[11]: Local variable */
23578 /* Register variable[12]: Result */
23579 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23580 variable[11] = variable[12];
23581 /* Register variable[12]: Local variable */
23582 variable[12] = variable[11] /*nodearraylist1*/;
23583 /* Register variable[13]: Result */
23584 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23585 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9412); nit_exit(1);}
23586 /* Register variable[13]: Local variable */
23587 variable[13] = variable[10] /*nodearraylist2*/;
23588 /* Register variable[14]: Result */
23589 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23590 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9414); nit_exit(1);}
23591 /* Register variable[14]: Local variable */
23592 /* Register variable[15]: Result */
23593 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
23594 variable[14] = variable[15];
23595 /* Register variable[15]: Local variable */
23596 variable[15] = variable[9] /*nodearraylist3*/;
23597 /* Register variable[16]: Result */
23598 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23599 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9420); nit_exit(1);}
23600 /* Register variable[16]: Local variable */
23601 variable[16] = variable[8] /*nodearraylist4*/;
23602 /* Register variable[17]: Result */
23603 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23604 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9422); nit_exit(1);}
23605 /* Register variable[17]: Local variable */
23606 /* Register variable[18]: Result */
23607 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
23608 variable[17] = variable[18];
23609 /* Register variable[18]: Local variable */
23610 variable[18] = variable[7] /*nodearraylist5*/;
23611 /* Register variable[19]: Result */
23612 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23613 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9428); nit_exit(1);}
23614 /* Register variable[19]: Local variable */
23615 variable[19] = variable[6] /*nodearraylist6*/;
23616 /* Register variable[20]: Result */
23617 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23618 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9430); nit_exit(1);}
23619 /* Register variable[20]: Local variable */
23620 variable[20] = variable[5] /*nodearraylist7*/;
23621 /* Register variable[21]: Result */
23622 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23623 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9432); nit_exit(1);}
23624 /* Register variable[21]: Local variable */
23625 variable[21] = variable[4] /*nodearraylist8*/;
23626 /* Register variable[22]: Result */
23627 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23628 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction184___action, LOCATE_parser, 9434); nit_exit(1);}
23629 /* Register variable[22]: Local variable */
23630 /* Register variable[23]: Result */
23631 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[17] /*pablenode6*/, variable[18] /*tkwredefnode9*/, variable[19] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode12*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23632 variable[22] = variable[23];
23633 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
23634 /* Register variable[23]: Result */
23635 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23636 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
23637 return_label400: while(false);
23638 tracehead = trace.prev;
23639 return;
23640 }
23641 void parser___ReduceAction184___init(val_t self, int* init_table) {
23642 struct trace_t trace = {NULL, NULL, 9450, LOCATE_parser___ReduceAction184___init};
23643 val_t variable[2];
23644 struct WBT_ **closurevariable = NULL;
23645 trace.prev = tracehead; tracehead = &trace;
23646 trace.file = LOCATE_parser;
23647 /* Register variable[0]: Local variable */
23648 variable[0] = self;
23649 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction184].i]) return;
23650 /* Register variable[1]: Method return value and escape marker */
23651 return_label401: while(false);
23652 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction184].i] = 1;
23653 tracehead = trace.prev;
23654 return;
23655 }
23656 void parser___ReduceAction185___action(val_t self, val_t param0) {
23657 struct trace_t trace = {NULL, NULL, 9454, LOCATE_parser___ReduceAction185___action};
23658 val_t variable[19];
23659 struct WBT_ **closurevariable = NULL;
23660 trace.prev = tracehead; tracehead = &trace;
23661 trace.file = LOCATE_parser;
23662 /* Register variable[0]: Local variable */
23663 variable[0] = self;
23664 /* Register variable[1]: Local variable */
23665 variable[1] = param0;
23666 /* Register variable[2]: Method return value and escape marker */
23667 /* Register variable[3]: Local variable */
23668 variable[3] = NIT_NULL /*null*/;
23669 /* Register variable[4]: Local variable */
23670 /* Register variable[5]: Result */
23671 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23672 variable[4] = variable[5];
23673 /* Register variable[5]: Local variable */
23674 /* Register variable[6]: Result */
23675 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23676 variable[5] = variable[6];
23677 /* Register variable[6]: Local variable */
23678 /* Register variable[7]: Result */
23679 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23680 variable[6] = variable[7];
23681 /* Register variable[7]: Local variable */
23682 /* Register variable[8]: Result */
23683 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23684 variable[7] = variable[8];
23685 /* Register variable[8]: Local variable */
23686 /* Register variable[9]: Result */
23687 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23688 variable[8] = variable[9];
23689 /* Register variable[9]: Local variable */
23690 /* Register variable[10]: Result */
23691 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23692 variable[9] = variable[10];
23693 /* Register variable[10]: Local variable */
23694 variable[10] = variable[9] /*nodearraylist1*/;
23695 /* Register variable[11]: Result */
23696 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23697 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9464); nit_exit(1);}
23698 /* Register variable[11]: Local variable */
23699 variable[11] = variable[8] /*nodearraylist2*/;
23700 /* Register variable[12]: Result */
23701 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23702 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9466); nit_exit(1);}
23703 /* Register variable[12]: Local variable */
23704 /* Register variable[13]: Result */
23705 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
23706 variable[12] = variable[13];
23707 /* Register variable[13]: Local variable */
23708 variable[13] = variable[7] /*nodearraylist3*/;
23709 /* Register variable[14]: Result */
23710 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23711 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9472); nit_exit(1);}
23712 /* Register variable[14]: Local variable */
23713 variable[14] = variable[6] /*nodearraylist4*/;
23714 /* Register variable[15]: Result */
23715 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23716 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9474); nit_exit(1);}
23717 /* Register variable[15]: Local variable */
23718 variable[15] = variable[5] /*nodearraylist5*/;
23719 /* Register variable[16]: Result */
23720 variable[16] = TAG_Bool(( variable[15] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23721 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9476); nit_exit(1);}
23722 /* Register variable[16]: Local variable */
23723 variable[16] = variable[4] /*nodearraylist6*/;
23724 /* Register variable[17]: Result */
23725 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23726 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction185___action, LOCATE_parser, 9478); nit_exit(1);}
23727 /* Register variable[17]: Local variable */
23728 /* Register variable[18]: Result */
23729 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, NIT_NULL /*null*/, variable[13] /*tkwredefnode7*/, variable[14] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[15] /*tkwvarnode10*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23730 variable[17] = variable[18];
23731 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
23732 /* Register variable[18]: Result */
23733 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23734 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
23735 return_label402: while(false);
23736 tracehead = trace.prev;
23737 return;
23738 }
23739 void parser___ReduceAction185___init(val_t self, int* init_table) {
23740 struct trace_t trace = {NULL, NULL, 9494, LOCATE_parser___ReduceAction185___init};
23741 val_t variable[2];
23742 struct WBT_ **closurevariable = NULL;
23743 trace.prev = tracehead; tracehead = &trace;
23744 trace.file = LOCATE_parser;
23745 /* Register variable[0]: Local variable */
23746 variable[0] = self;
23747 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction185].i]) return;
23748 /* Register variable[1]: Method return value and escape marker */
23749 return_label403: while(false);
23750 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction185].i] = 1;
23751 tracehead = trace.prev;
23752 return;
23753 }
23754 void parser___ReduceAction186___action(val_t self, val_t param0) {
23755 struct trace_t trace = {NULL, NULL, 9498, LOCATE_parser___ReduceAction186___action};
23756 val_t variable[24];
23757 struct WBT_ **closurevariable = NULL;
23758 trace.prev = tracehead; tracehead = &trace;
23759 trace.file = LOCATE_parser;
23760 /* Register variable[0]: Local variable */
23761 variable[0] = self;
23762 /* Register variable[1]: Local variable */
23763 variable[1] = param0;
23764 /* Register variable[2]: Method return value and escape marker */
23765 /* Register variable[3]: Local variable */
23766 variable[3] = NIT_NULL /*null*/;
23767 /* Register variable[4]: Local variable */
23768 /* Register variable[5]: Result */
23769 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23770 variable[4] = variable[5];
23771 /* Register variable[5]: Local variable */
23772 /* Register variable[6]: Result */
23773 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23774 variable[5] = variable[6];
23775 /* Register variable[6]: Local variable */
23776 /* Register variable[7]: Result */
23777 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23778 variable[6] = variable[7];
23779 /* Register variable[7]: Local variable */
23780 /* Register variable[8]: Result */
23781 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23782 variable[7] = variable[8];
23783 /* Register variable[8]: Local variable */
23784 /* Register variable[9]: Result */
23785 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23786 variable[8] = variable[9];
23787 /* Register variable[9]: Local variable */
23788 /* Register variable[10]: Result */
23789 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23790 variable[9] = variable[10];
23791 /* Register variable[10]: Local variable */
23792 /* Register variable[11]: Result */
23793 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23794 variable[10] = variable[11];
23795 /* Register variable[11]: Local variable */
23796 /* Register variable[12]: Result */
23797 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23798 variable[11] = variable[12];
23799 /* Register variable[12]: Local variable */
23800 variable[12] = variable[11] /*nodearraylist1*/;
23801 /* Register variable[13]: Result */
23802 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23803 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9510); nit_exit(1);}
23804 /* Register variable[13]: Local variable */
23805 variable[13] = variable[10] /*nodearraylist2*/;
23806 /* Register variable[14]: Result */
23807 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23808 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9512); nit_exit(1);}
23809 /* Register variable[14]: Local variable */
23810 variable[14] = variable[9] /*nodearraylist3*/;
23811 /* Register variable[15]: Result */
23812 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23813 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9514); nit_exit(1);}
23814 /* Register variable[15]: Local variable */
23815 /* Register variable[16]: Result */
23816 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
23817 variable[15] = variable[16];
23818 /* Register variable[16]: Local variable */
23819 variable[16] = variable[8] /*nodearraylist4*/;
23820 /* Register variable[17]: Result */
23821 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23822 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9520); nit_exit(1);}
23823 /* Register variable[17]: Local variable */
23824 /* Register variable[18]: Result */
23825 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
23826 variable[17] = variable[18];
23827 /* Register variable[18]: Local variable */
23828 variable[18] = variable[7] /*nodearraylist5*/;
23829 /* Register variable[19]: Result */
23830 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23831 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9526); nit_exit(1);}
23832 /* Register variable[19]: Local variable */
23833 variable[19] = variable[6] /*nodearraylist6*/;
23834 /* Register variable[20]: Result */
23835 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23836 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9528); nit_exit(1);}
23837 /* Register variable[20]: Local variable */
23838 variable[20] = variable[5] /*nodearraylist7*/;
23839 /* Register variable[21]: Result */
23840 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23841 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9530); nit_exit(1);}
23842 /* Register variable[21]: Local variable */
23843 variable[21] = variable[4] /*nodearraylist8*/;
23844 /* Register variable[22]: Result */
23845 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23846 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction186___action, LOCATE_parser, 9532); nit_exit(1);}
23847 /* Register variable[22]: Local variable */
23848 /* Register variable[23]: Result */
23849 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, variable[18] /*tkwredefnode9*/, variable[19] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode12*/, variable[21] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23850 variable[22] = variable[23];
23851 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
23852 /* Register variable[23]: Result */
23853 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23854 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
23855 return_label404: while(false);
23856 tracehead = trace.prev;
23857 return;
23858 }
23859 void parser___ReduceAction186___init(val_t self, int* init_table) {
23860 struct trace_t trace = {NULL, NULL, 9548, LOCATE_parser___ReduceAction186___init};
23861 val_t variable[2];
23862 struct WBT_ **closurevariable = NULL;
23863 trace.prev = tracehead; tracehead = &trace;
23864 trace.file = LOCATE_parser;
23865 /* Register variable[0]: Local variable */
23866 variable[0] = self;
23867 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction186].i]) return;
23868 /* Register variable[1]: Method return value and escape marker */
23869 return_label405: while(false);
23870 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction186].i] = 1;
23871 tracehead = trace.prev;
23872 return;
23873 }
23874 void parser___ReduceAction187___action(val_t self, val_t param0) {
23875 struct trace_t trace = {NULL, NULL, 9552, LOCATE_parser___ReduceAction187___action};
23876 val_t variable[26];
23877 struct WBT_ **closurevariable = NULL;
23878 trace.prev = tracehead; tracehead = &trace;
23879 trace.file = LOCATE_parser;
23880 /* Register variable[0]: Local variable */
23881 variable[0] = self;
23882 /* Register variable[1]: Local variable */
23883 variable[1] = param0;
23884 /* Register variable[2]: Method return value and escape marker */
23885 /* Register variable[3]: Local variable */
23886 variable[3] = NIT_NULL /*null*/;
23887 /* Register variable[4]: Local variable */
23888 /* Register variable[5]: Result */
23889 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23890 variable[4] = variable[5];
23891 /* Register variable[5]: Local variable */
23892 /* Register variable[6]: Result */
23893 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23894 variable[5] = variable[6];
23895 /* Register variable[6]: Local variable */
23896 /* Register variable[7]: Result */
23897 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23898 variable[6] = variable[7];
23899 /* Register variable[7]: Local variable */
23900 /* Register variable[8]: Result */
23901 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23902 variable[7] = variable[8];
23903 /* Register variable[8]: Local variable */
23904 /* Register variable[9]: Result */
23905 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23906 variable[8] = variable[9];
23907 /* Register variable[9]: Local variable */
23908 /* Register variable[10]: Result */
23909 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23910 variable[9] = variable[10];
23911 /* Register variable[10]: Local variable */
23912 /* Register variable[11]: Result */
23913 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23914 variable[10] = variable[11];
23915 /* Register variable[11]: Local variable */
23916 /* Register variable[12]: Result */
23917 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23918 variable[11] = variable[12];
23919 /* Register variable[12]: Local variable */
23920 /* Register variable[13]: Result */
23921 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
23922 variable[12] = variable[13];
23923 /* Register variable[13]: Local variable */
23924 variable[13] = variable[12] /*nodearraylist1*/;
23925 /* Register variable[14]: Result */
23926 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
23927 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9565); nit_exit(1);}
23928 /* Register variable[14]: Local variable */
23929 variable[14] = variable[11] /*nodearraylist2*/;
23930 /* Register variable[15]: Result */
23931 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23932 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9567); nit_exit(1);}
23933 /* Register variable[15]: Local variable */
23934 variable[15] = variable[10] /*nodearraylist3*/;
23935 /* Register variable[16]: Result */
23936 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
23937 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9569); nit_exit(1);}
23938 /* Register variable[16]: Local variable */
23939 /* Register variable[17]: Result */
23940 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
23941 variable[16] = variable[17];
23942 /* Register variable[17]: Local variable */
23943 variable[17] = variable[9] /*nodearraylist4*/;
23944 /* Register variable[18]: Result */
23945 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23946 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9575); nit_exit(1);}
23947 /* Register variable[18]: Local variable */
23948 variable[18] = variable[8] /*nodearraylist5*/;
23949 /* Register variable[19]: Result */
23950 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
23951 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9577); nit_exit(1);}
23952 /* Register variable[19]: Local variable */
23953 /* Register variable[20]: Result */
23954 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
23955 variable[19] = variable[20];
23956 /* Register variable[20]: Local variable */
23957 variable[20] = variable[7] /*nodearraylist6*/;
23958 /* Register variable[21]: Result */
23959 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
23960 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9583); nit_exit(1);}
23961 /* Register variable[21]: Local variable */
23962 variable[21] = variable[6] /*nodearraylist7*/;
23963 /* Register variable[22]: Result */
23964 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
23965 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9585); nit_exit(1);}
23966 /* Register variable[22]: Local variable */
23967 variable[22] = variable[5] /*nodearraylist8*/;
23968 /* Register variable[23]: Result */
23969 variable[23] = TAG_Bool(( variable[22] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23970 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9587); nit_exit(1);}
23971 /* Register variable[23]: Local variable */
23972 variable[23] = variable[4] /*nodearraylist9*/;
23973 /* Register variable[24]: Result */
23974 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
23975 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction187___action, LOCATE_parser, 9589); nit_exit(1);}
23976 /* Register variable[24]: Local variable */
23977 /* Register variable[25]: Result */
23978 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, variable[20] /*tkwredefnode9*/, variable[21] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[22] /*tkwvarnode12*/, variable[23] /*tattridnode13*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
23979 variable[24] = variable[25];
23980 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
23981 /* Register variable[25]: Result */
23982 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
23983 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
23984 return_label406: while(false);
23985 tracehead = trace.prev;
23986 return;
23987 }
23988 void parser___ReduceAction187___init(val_t self, int* init_table) {
23989 struct trace_t trace = {NULL, NULL, 9605, LOCATE_parser___ReduceAction187___init};
23990 val_t variable[2];
23991 struct WBT_ **closurevariable = NULL;
23992 trace.prev = tracehead; tracehead = &trace;
23993 trace.file = LOCATE_parser;
23994 /* Register variable[0]: Local variable */
23995 variable[0] = self;
23996 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction187].i]) return;
23997 /* Register variable[1]: Method return value and escape marker */
23998 return_label407: while(false);
23999 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction187].i] = 1;
24000 tracehead = trace.prev;
24001 return;
24002 }
24003 void parser___ReduceAction188___action(val_t self, val_t param0) {
24004 struct trace_t trace = {NULL, NULL, 9609, LOCATE_parser___ReduceAction188___action};
24005 val_t variable[21];
24006 struct WBT_ **closurevariable = NULL;
24007 trace.prev = tracehead; tracehead = &trace;
24008 trace.file = LOCATE_parser;
24009 /* Register variable[0]: Local variable */
24010 variable[0] = self;
24011 /* Register variable[1]: Local variable */
24012 variable[1] = param0;
24013 /* Register variable[2]: Method return value and escape marker */
24014 /* Register variable[3]: Local variable */
24015 variable[3] = NIT_NULL /*null*/;
24016 /* Register variable[4]: Local variable */
24017 /* Register variable[5]: Result */
24018 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24019 variable[4] = variable[5];
24020 /* Register variable[5]: Local variable */
24021 /* Register variable[6]: Result */
24022 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24023 variable[5] = variable[6];
24024 /* Register variable[6]: Local variable */
24025 /* Register variable[7]: Result */
24026 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24027 variable[6] = variable[7];
24028 /* Register variable[7]: Local variable */
24029 /* Register variable[8]: Result */
24030 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24031 variable[7] = variable[8];
24032 /* Register variable[8]: Local variable */
24033 /* Register variable[9]: Result */
24034 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24035 variable[8] = variable[9];
24036 /* Register variable[9]: Local variable */
24037 /* Register variable[10]: Result */
24038 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24039 variable[9] = variable[10];
24040 /* Register variable[10]: Local variable */
24041 /* Register variable[11]: Result */
24042 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24043 variable[10] = variable[11];
24044 /* Register variable[11]: Local variable */
24045 variable[11] = variable[10] /*nodearraylist1*/;
24046 /* Register variable[12]: Result */
24047 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24048 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9620); nit_exit(1);}
24049 /* Register variable[12]: Local variable */
24050 variable[12] = variable[9] /*nodearraylist2*/;
24051 /* Register variable[13]: Result */
24052 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24053 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9622); nit_exit(1);}
24054 /* Register variable[13]: Local variable */
24055 variable[13] = variable[8] /*nodearraylist3*/;
24056 /* Register variable[14]: Result */
24057 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24058 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9624); nit_exit(1);}
24059 /* Register variable[14]: Local variable */
24060 /* Register variable[15]: Result */
24061 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
24062 variable[14] = variable[15];
24063 /* Register variable[15]: Local variable */
24064 variable[15] = variable[7] /*nodearraylist4*/;
24065 /* Register variable[16]: Result */
24066 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24067 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9630); nit_exit(1);}
24068 /* Register variable[16]: Local variable */
24069 variable[16] = variable[6] /*nodearraylist5*/;
24070 /* Register variable[17]: Result */
24071 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24072 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9632); nit_exit(1);}
24073 /* Register variable[17]: Local variable */
24074 variable[17] = variable[5] /*nodearraylist6*/;
24075 /* Register variable[18]: Result */
24076 variable[18] = TAG_Bool(( variable[17] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24077 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9634); nit_exit(1);}
24078 /* Register variable[18]: Local variable */
24079 variable[18] = variable[4] /*nodearraylist7*/;
24080 /* Register variable[19]: Result */
24081 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24082 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction188___action, LOCATE_parser, 9636); nit_exit(1);}
24083 /* Register variable[19]: Local variable */
24084 /* Register variable[20]: Result */
24085 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, variable[15] /*tkwredefnode7*/, variable[16] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[17] /*tkwvarnode10*/, variable[18] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24086 variable[19] = variable[20];
24087 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
24088 /* Register variable[20]: Result */
24089 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24090 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
24091 return_label408: while(false);
24092 tracehead = trace.prev;
24093 return;
24094 }
24095 void parser___ReduceAction188___init(val_t self, int* init_table) {
24096 struct trace_t trace = {NULL, NULL, 9652, LOCATE_parser___ReduceAction188___init};
24097 val_t variable[2];
24098 struct WBT_ **closurevariable = NULL;
24099 trace.prev = tracehead; tracehead = &trace;
24100 trace.file = LOCATE_parser;
24101 /* Register variable[0]: Local variable */
24102 variable[0] = self;
24103 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction188].i]) return;
24104 /* Register variable[1]: Method return value and escape marker */
24105 return_label409: while(false);
24106 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction188].i] = 1;
24107 tracehead = trace.prev;
24108 return;
24109 }
24110 void parser___ReduceAction189___action(val_t self, val_t param0) {
24111 struct trace_t trace = {NULL, NULL, 9656, LOCATE_parser___ReduceAction189___action};
24112 val_t variable[19];
24113 struct WBT_ **closurevariable = NULL;
24114 trace.prev = tracehead; tracehead = &trace;
24115 trace.file = LOCATE_parser;
24116 /* Register variable[0]: Local variable */
24117 variable[0] = self;
24118 /* Register variable[1]: Local variable */
24119 variable[1] = param0;
24120 /* Register variable[2]: Method return value and escape marker */
24121 /* Register variable[3]: Local variable */
24122 variable[3] = NIT_NULL /*null*/;
24123 /* Register variable[4]: Local variable */
24124 /* Register variable[5]: Result */
24125 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24126 variable[4] = variable[5];
24127 /* Register variable[5]: Local variable */
24128 /* Register variable[6]: Result */
24129 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24130 variable[5] = variable[6];
24131 /* Register variable[6]: Local variable */
24132 /* Register variable[7]: Result */
24133 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24134 variable[6] = variable[7];
24135 /* Register variable[7]: Local variable */
24136 /* Register variable[8]: Result */
24137 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24138 variable[7] = variable[8];
24139 /* Register variable[8]: Local variable */
24140 /* Register variable[9]: Result */
24141 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24142 variable[8] = variable[9];
24143 /* Register variable[9]: Local variable */
24144 /* Register variable[10]: Result */
24145 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24146 variable[9] = variable[10];
24147 /* Register variable[10]: Local variable */
24148 variable[10] = variable[9] /*nodearraylist1*/;
24149 /* Register variable[11]: Result */
24150 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24151 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9666); nit_exit(1);}
24152 /* Register variable[11]: Local variable */
24153 variable[11] = variable[8] /*nodearraylist2*/;
24154 /* Register variable[12]: Result */
24155 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24156 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9668); nit_exit(1);}
24157 /* Register variable[12]: Local variable */
24158 /* Register variable[13]: Result */
24159 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/) /*new AWriteAble*/;
24160 variable[12] = variable[13];
24161 /* Register variable[13]: Local variable */
24162 variable[13] = variable[7] /*nodearraylist3*/;
24163 /* Register variable[14]: Result */
24164 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24165 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9674); nit_exit(1);}
24166 /* Register variable[14]: Local variable */
24167 variable[14] = variable[6] /*nodearraylist4*/;
24168 /* Register variable[15]: Result */
24169 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24170 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9676); nit_exit(1);}
24171 /* Register variable[15]: Local variable */
24172 variable[15] = variable[5] /*nodearraylist5*/;
24173 /* Register variable[16]: Result */
24174 variable[16] = TAG_Bool(( variable[15] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24175 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9678); nit_exit(1);}
24176 /* Register variable[16]: Local variable */
24177 variable[16] = variable[4] /*nodearraylist6*/;
24178 /* Register variable[17]: Result */
24179 variable[17] = TAG_Bool(( variable[16] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24180 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction189___action, LOCATE_parser, 9680); nit_exit(1);}
24181 /* Register variable[17]: Local variable */
24182 /* Register variable[18]: Result */
24183 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pablenode4*/, variable[13] /*tkwredefnode7*/, variable[14] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[15] /*tkwvarnode10*/, variable[16] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24184 variable[17] = variable[18];
24185 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
24186 /* Register variable[18]: Result */
24187 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24188 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
24189 return_label410: while(false);
24190 tracehead = trace.prev;
24191 return;
24192 }
24193 void parser___ReduceAction189___init(val_t self, int* init_table) {
24194 struct trace_t trace = {NULL, NULL, 9696, LOCATE_parser___ReduceAction189___init};
24195 val_t variable[2];
24196 struct WBT_ **closurevariable = NULL;
24197 trace.prev = tracehead; tracehead = &trace;
24198 trace.file = LOCATE_parser;
24199 /* Register variable[0]: Local variable */
24200 variable[0] = self;
24201 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction189].i]) return;
24202 /* Register variable[1]: Method return value and escape marker */
24203 return_label411: while(false);
24204 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction189].i] = 1;
24205 tracehead = trace.prev;
24206 return;
24207 }
24208 void parser___ReduceAction190___action(val_t self, val_t param0) {
24209 struct trace_t trace = {NULL, NULL, 9700, LOCATE_parser___ReduceAction190___action};
24210 val_t variable[21];
24211 struct WBT_ **closurevariable = NULL;
24212 trace.prev = tracehead; tracehead = &trace;
24213 trace.file = LOCATE_parser;
24214 /* Register variable[0]: Local variable */
24215 variable[0] = self;
24216 /* Register variable[1]: Local variable */
24217 variable[1] = param0;
24218 /* Register variable[2]: Method return value and escape marker */
24219 /* Register variable[3]: Local variable */
24220 variable[3] = NIT_NULL /*null*/;
24221 /* Register variable[4]: Local variable */
24222 /* Register variable[5]: Result */
24223 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24224 variable[4] = variable[5];
24225 /* Register variable[5]: Local variable */
24226 /* Register variable[6]: Result */
24227 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24228 variable[5] = variable[6];
24229 /* Register variable[6]: Local variable */
24230 /* Register variable[7]: Result */
24231 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24232 variable[6] = variable[7];
24233 /* Register variable[7]: Local variable */
24234 /* Register variable[8]: Result */
24235 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24236 variable[7] = variable[8];
24237 /* Register variable[8]: Local variable */
24238 /* Register variable[9]: Result */
24239 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24240 variable[8] = variable[9];
24241 /* Register variable[9]: Local variable */
24242 /* Register variable[10]: Result */
24243 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24244 variable[9] = variable[10];
24245 /* Register variable[10]: Local variable */
24246 /* Register variable[11]: Result */
24247 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24248 variable[10] = variable[11];
24249 /* Register variable[11]: Local variable */
24250 variable[11] = variable[10] /*nodearraylist1*/;
24251 /* Register variable[12]: Result */
24252 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24253 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9711); nit_exit(1);}
24254 /* Register variable[12]: Local variable */
24255 variable[12] = variable[9] /*nodearraylist2*/;
24256 /* Register variable[13]: Result */
24257 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24258 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9713); nit_exit(1);}
24259 /* Register variable[13]: Local variable */
24260 variable[13] = variable[8] /*nodearraylist3*/;
24261 /* Register variable[14]: Result */
24262 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24263 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9715); nit_exit(1);}
24264 /* Register variable[14]: Local variable */
24265 /* Register variable[15]: Result */
24266 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
24267 variable[14] = variable[15];
24268 /* Register variable[15]: Local variable */
24269 variable[15] = variable[7] /*nodearraylist4*/;
24270 /* Register variable[16]: Result */
24271 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24272 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9721); nit_exit(1);}
24273 /* Register variable[16]: Local variable */
24274 variable[16] = variable[6] /*nodearraylist5*/;
24275 /* Register variable[17]: Result */
24276 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24277 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9723); nit_exit(1);}
24278 /* Register variable[17]: Local variable */
24279 variable[17] = variable[5] /*nodearraylist6*/;
24280 /* Register variable[18]: Result */
24281 variable[18] = TAG_Bool(( variable[17] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24282 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9725); nit_exit(1);}
24283 /* Register variable[18]: Local variable */
24284 variable[18] = variable[4] /*nodearraylist7*/;
24285 /* Register variable[19]: Result */
24286 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24287 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction190___action, LOCATE_parser, 9727); nit_exit(1);}
24288 /* Register variable[19]: Local variable */
24289 /* Register variable[20]: Result */
24290 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, variable[15] /*tkwredefnode7*/, variable[16] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[17] /*tkwvarnode10*/, variable[18] /*tattridnode11*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24291 variable[19] = variable[20];
24292 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
24293 /* Register variable[20]: Result */
24294 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24295 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
24296 return_label412: while(false);
24297 tracehead = trace.prev;
24298 return;
24299 }
24300 void parser___ReduceAction190___init(val_t self, int* init_table) {
24301 struct trace_t trace = {NULL, NULL, 9743, LOCATE_parser___ReduceAction190___init};
24302 val_t variable[2];
24303 struct WBT_ **closurevariable = NULL;
24304 trace.prev = tracehead; tracehead = &trace;
24305 trace.file = LOCATE_parser;
24306 /* Register variable[0]: Local variable */
24307 variable[0] = self;
24308 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction190].i]) return;
24309 /* Register variable[1]: Method return value and escape marker */
24310 return_label413: while(false);
24311 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction190].i] = 1;
24312 tracehead = trace.prev;
24313 return;
24314 }
24315 void parser___ReduceAction191___action(val_t self, val_t param0) {
24316 struct trace_t trace = {NULL, NULL, 9747, LOCATE_parser___ReduceAction191___action};
24317 val_t variable[16];
24318 struct WBT_ **closurevariable = NULL;
24319 trace.prev = tracehead; tracehead = &trace;
24320 trace.file = LOCATE_parser;
24321 /* Register variable[0]: Local variable */
24322 variable[0] = self;
24323 /* Register variable[1]: Local variable */
24324 variable[1] = param0;
24325 /* Register variable[2]: Method return value and escape marker */
24326 /* Register variable[3]: Local variable */
24327 variable[3] = NIT_NULL /*null*/;
24328 /* Register variable[4]: Local variable */
24329 /* Register variable[5]: Result */
24330 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24331 variable[4] = variable[5];
24332 /* Register variable[5]: Local variable */
24333 /* Register variable[6]: Result */
24334 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24335 variable[5] = variable[6];
24336 /* Register variable[6]: Local variable */
24337 /* Register variable[7]: Result */
24338 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24339 variable[6] = variable[7];
24340 /* Register variable[7]: Local variable */
24341 /* Register variable[8]: Result */
24342 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24343 variable[7] = variable[8];
24344 /* Register variable[8]: Local variable */
24345 /* Register variable[9]: Result */
24346 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24347 variable[8] = variable[9];
24348 /* Register variable[9]: Local variable */
24349 variable[9] = variable[8] /*nodearraylist1*/;
24350 /* Register variable[10]: Result */
24351 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24352 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9756); nit_exit(1);}
24353 /* Register variable[10]: Local variable */
24354 variable[10] = variable[7] /*nodearraylist2*/;
24355 /* Register variable[11]: Result */
24356 variable[11] = TAG_Bool(( variable[10] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24357 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9758); nit_exit(1);}
24358 /* Register variable[11]: Local variable */
24359 variable[11] = variable[6] /*nodearraylist3*/;
24360 /* Register variable[12]: Result */
24361 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24362 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9760); nit_exit(1);}
24363 /* Register variable[12]: Local variable */
24364 variable[12] = variable[5] /*nodearraylist4*/;
24365 /* Register variable[13]: Result */
24366 variable[13] = TAG_Bool(( variable[12] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24367 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9762); nit_exit(1);}
24368 /* Register variable[13]: Local variable */
24369 variable[13] = variable[4] /*nodearraylist5*/;
24370 /* Register variable[14]: Result */
24371 variable[14] = TAG_Bool(( variable[13] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[13] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24372 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction191___action, LOCATE_parser, 9764); nit_exit(1);}
24373 /* Register variable[14]: Local variable */
24374 /* Register variable[15]: Result */
24375 variable[15] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[10] /*tkwredefnode5*/, variable[11] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[12] /*tkwvarnode8*/, variable[13] /*tattridnode9*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24376 variable[14] = variable[15];
24377 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
24378 /* Register variable[15]: Result */
24379 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24380 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
24381 return_label414: while(false);
24382 tracehead = trace.prev;
24383 return;
24384 }
24385 void parser___ReduceAction191___init(val_t self, int* init_table) {
24386 struct trace_t trace = {NULL, NULL, 9780, LOCATE_parser___ReduceAction191___init};
24387 val_t variable[2];
24388 struct WBT_ **closurevariable = NULL;
24389 trace.prev = tracehead; tracehead = &trace;
24390 trace.file = LOCATE_parser;
24391 /* Register variable[0]: Local variable */
24392 variable[0] = self;
24393 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction191].i]) return;
24394 /* Register variable[1]: Method return value and escape marker */
24395 return_label415: while(false);
24396 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction191].i] = 1;
24397 tracehead = trace.prev;
24398 return;
24399 }
24400 void parser___ReduceAction192___action(val_t self, val_t param0) {
24401 struct trace_t trace = {NULL, NULL, 9784, LOCATE_parser___ReduceAction192___action};
24402 val_t variable[22];
24403 struct WBT_ **closurevariable = NULL;
24404 trace.prev = tracehead; tracehead = &trace;
24405 trace.file = LOCATE_parser;
24406 /* Register variable[0]: Local variable */
24407 variable[0] = self;
24408 /* Register variable[1]: Local variable */
24409 variable[1] = param0;
24410 /* Register variable[2]: Method return value and escape marker */
24411 /* Register variable[3]: Local variable */
24412 variable[3] = NIT_NULL /*null*/;
24413 /* Register variable[4]: Local variable */
24414 /* Register variable[5]: Result */
24415 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24416 variable[4] = variable[5];
24417 /* Register variable[5]: Local variable */
24418 /* Register variable[6]: Result */
24419 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24420 variable[5] = variable[6];
24421 /* Register variable[6]: Local variable */
24422 /* Register variable[7]: Result */
24423 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24424 variable[6] = variable[7];
24425 /* Register variable[7]: Local variable */
24426 /* Register variable[8]: Result */
24427 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24428 variable[7] = variable[8];
24429 /* Register variable[8]: Local variable */
24430 /* Register variable[9]: Result */
24431 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24432 variable[8] = variable[9];
24433 /* Register variable[9]: Local variable */
24434 /* Register variable[10]: Result */
24435 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24436 variable[9] = variable[10];
24437 /* Register variable[10]: Local variable */
24438 /* Register variable[11]: Result */
24439 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24440 variable[10] = variable[11];
24441 /* Register variable[11]: Local variable */
24442 variable[11] = variable[10] /*nodearraylist1*/;
24443 /* Register variable[12]: Result */
24444 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24445 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9795); nit_exit(1);}
24446 /* Register variable[12]: Local variable */
24447 variable[12] = variable[9] /*nodearraylist2*/;
24448 /* Register variable[13]: Result */
24449 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24450 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9797); nit_exit(1);}
24451 /* Register variable[13]: Local variable */
24452 /* Register variable[14]: Result */
24453 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
24454 variable[13] = variable[14];
24455 /* Register variable[14]: Local variable */
24456 variable[14] = variable[8] /*nodearraylist3*/;
24457 /* Register variable[15]: Result */
24458 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24459 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9803); nit_exit(1);}
24460 /* Register variable[15]: Local variable */
24461 /* Register variable[16]: Result */
24462 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode8*/) /*new AWriteAble*/;
24463 variable[15] = variable[16];
24464 /* Register variable[16]: Local variable */
24465 variable[16] = variable[7] /*nodearraylist4*/;
24466 /* Register variable[17]: Result */
24467 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24468 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9809); nit_exit(1);}
24469 /* Register variable[17]: Local variable */
24470 variable[17] = variable[6] /*nodearraylist5*/;
24471 /* Register variable[18]: Result */
24472 variable[18] = TAG_Bool(( variable[17] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24473 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9811); nit_exit(1);}
24474 /* Register variable[18]: Local variable */
24475 variable[18] = variable[5] /*nodearraylist6*/;
24476 /* Register variable[19]: Result */
24477 variable[19] = TAG_Bool(( variable[18] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24478 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9813); nit_exit(1);}
24479 /* Register variable[19]: Local variable */
24480 variable[19] = variable[4] /*nodearraylist7*/;
24481 /* Register variable[20]: Result */
24482 variable[20] = TAG_Bool(( variable[19] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
24483 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction192___action, LOCATE_parser, 9815); nit_exit(1);}
24484 /* Register variable[20]: Local variable */
24485 /* Register variable[21]: Result */
24486 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, variable[15] /*pablenode6*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[17] /*tkwvarnode12*/, variable[18] /*tattridnode13*/, variable[19] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24487 variable[20] = variable[21];
24488 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
24489 /* Register variable[21]: Result */
24490 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24491 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
24492 return_label416: while(false);
24493 tracehead = trace.prev;
24494 return;
24495 }
24496 void parser___ReduceAction192___init(val_t self, int* init_table) {
24497 struct trace_t trace = {NULL, NULL, 9831, LOCATE_parser___ReduceAction192___init};
24498 val_t variable[2];
24499 struct WBT_ **closurevariable = NULL;
24500 trace.prev = tracehead; tracehead = &trace;
24501 trace.file = LOCATE_parser;
24502 /* Register variable[0]: Local variable */
24503 variable[0] = self;
24504 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction192].i]) return;
24505 /* Register variable[1]: Method return value and escape marker */
24506 return_label417: while(false);
24507 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction192].i] = 1;
24508 tracehead = trace.prev;
24509 return;
24510 }
24511 void parser___ReduceAction193___action(val_t self, val_t param0) {
24512 struct trace_t trace = {NULL, NULL, 9835, LOCATE_parser___ReduceAction193___action};
24513 val_t variable[24];
24514 struct WBT_ **closurevariable = NULL;
24515 trace.prev = tracehead; tracehead = &trace;
24516 trace.file = LOCATE_parser;
24517 /* Register variable[0]: Local variable */
24518 variable[0] = self;
24519 /* Register variable[1]: Local variable */
24520 variable[1] = param0;
24521 /* Register variable[2]: Method return value and escape marker */
24522 /* Register variable[3]: Local variable */
24523 variable[3] = NIT_NULL /*null*/;
24524 /* Register variable[4]: Local variable */
24525 /* Register variable[5]: Result */
24526 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24527 variable[4] = variable[5];
24528 /* Register variable[5]: Local variable */
24529 /* Register variable[6]: Result */
24530 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24531 variable[5] = variable[6];
24532 /* Register variable[6]: Local variable */
24533 /* Register variable[7]: Result */
24534 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24535 variable[6] = variable[7];
24536 /* Register variable[7]: Local variable */
24537 /* Register variable[8]: Result */
24538 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24539 variable[7] = variable[8];
24540 /* Register variable[8]: Local variable */
24541 /* Register variable[9]: Result */
24542 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24543 variable[8] = variable[9];
24544 /* Register variable[9]: Local variable */
24545 /* Register variable[10]: Result */
24546 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24547 variable[9] = variable[10];
24548 /* Register variable[10]: Local variable */
24549 /* Register variable[11]: Result */
24550 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24551 variable[10] = variable[11];
24552 /* Register variable[11]: Local variable */
24553 /* Register variable[12]: Result */
24554 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24555 variable[11] = variable[12];
24556 /* Register variable[12]: Local variable */
24557 variable[12] = variable[11] /*nodearraylist1*/;
24558 /* Register variable[13]: Result */
24559 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24560 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9847); nit_exit(1);}
24561 /* Register variable[13]: Local variable */
24562 variable[13] = variable[10] /*nodearraylist2*/;
24563 /* Register variable[14]: Result */
24564 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24565 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9849); nit_exit(1);}
24566 /* Register variable[14]: Local variable */
24567 /* Register variable[15]: Result */
24568 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
24569 variable[14] = variable[15];
24570 /* Register variable[15]: Local variable */
24571 variable[15] = variable[9] /*nodearraylist3*/;
24572 /* Register variable[16]: Result */
24573 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24574 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9855); nit_exit(1);}
24575 /* Register variable[16]: Local variable */
24576 variable[16] = variable[8] /*nodearraylist4*/;
24577 /* Register variable[17]: Result */
24578 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24579 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9857); nit_exit(1);}
24580 /* Register variable[17]: Local variable */
24581 /* Register variable[18]: Result */
24582 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode7*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
24583 variable[17] = variable[18];
24584 /* Register variable[18]: Local variable */
24585 variable[18] = variable[7] /*nodearraylist5*/;
24586 /* Register variable[19]: Result */
24587 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24588 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9863); nit_exit(1);}
24589 /* Register variable[19]: Local variable */
24590 variable[19] = variable[6] /*nodearraylist6*/;
24591 /* Register variable[20]: Result */
24592 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24593 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9865); nit_exit(1);}
24594 /* Register variable[20]: Local variable */
24595 variable[20] = variable[5] /*nodearraylist7*/;
24596 /* Register variable[21]: Result */
24597 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24598 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9867); nit_exit(1);}
24599 /* Register variable[21]: Local variable */
24600 variable[21] = variable[4] /*nodearraylist8*/;
24601 /* Register variable[22]: Result */
24602 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
24603 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction193___action, LOCATE_parser, 9869); nit_exit(1);}
24604 /* Register variable[22]: Local variable */
24605 /* Register variable[23]: Result */
24606 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode12*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24607 variable[22] = variable[23];
24608 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
24609 /* Register variable[23]: Result */
24610 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24611 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
24612 return_label418: while(false);
24613 tracehead = trace.prev;
24614 return;
24615 }
24616 void parser___ReduceAction193___init(val_t self, int* init_table) {
24617 struct trace_t trace = {NULL, NULL, 9885, LOCATE_parser___ReduceAction193___init};
24618 val_t variable[2];
24619 struct WBT_ **closurevariable = NULL;
24620 trace.prev = tracehead; tracehead = &trace;
24621 trace.file = LOCATE_parser;
24622 /* Register variable[0]: Local variable */
24623 variable[0] = self;
24624 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction193].i]) return;
24625 /* Register variable[1]: Method return value and escape marker */
24626 return_label419: while(false);
24627 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction193].i] = 1;
24628 tracehead = trace.prev;
24629 return;
24630 }
24631 void parser___ReduceAction194___action(val_t self, val_t param0) {
24632 struct trace_t trace = {NULL, NULL, 9889, LOCATE_parser___ReduceAction194___action};
24633 val_t variable[19];
24634 struct WBT_ **closurevariable = NULL;
24635 trace.prev = tracehead; tracehead = &trace;
24636 trace.file = LOCATE_parser;
24637 /* Register variable[0]: Local variable */
24638 variable[0] = self;
24639 /* Register variable[1]: Local variable */
24640 variable[1] = param0;
24641 /* Register variable[2]: Method return value and escape marker */
24642 /* Register variable[3]: Local variable */
24643 variable[3] = NIT_NULL /*null*/;
24644 /* Register variable[4]: Local variable */
24645 /* Register variable[5]: Result */
24646 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24647 variable[4] = variable[5];
24648 /* Register variable[5]: Local variable */
24649 /* Register variable[6]: Result */
24650 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24651 variable[5] = variable[6];
24652 /* Register variable[6]: Local variable */
24653 /* Register variable[7]: Result */
24654 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24655 variable[6] = variable[7];
24656 /* Register variable[7]: Local variable */
24657 /* Register variable[8]: Result */
24658 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24659 variable[7] = variable[8];
24660 /* Register variable[8]: Local variable */
24661 /* Register variable[9]: Result */
24662 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24663 variable[8] = variable[9];
24664 /* Register variable[9]: Local variable */
24665 /* Register variable[10]: Result */
24666 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24667 variable[9] = variable[10];
24668 /* Register variable[10]: Local variable */
24669 variable[10] = variable[9] /*nodearraylist1*/;
24670 /* Register variable[11]: Result */
24671 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24672 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9899); nit_exit(1);}
24673 /* Register variable[11]: Local variable */
24674 variable[11] = variable[8] /*nodearraylist2*/;
24675 /* Register variable[12]: Result */
24676 variable[12] = TAG_Bool(( variable[11] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24677 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9901); nit_exit(1);}
24678 /* Register variable[12]: Local variable */
24679 /* Register variable[13]: Result */
24680 variable[13] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[11] /*tkwreadablenode5*/) /*new AReadAble*/;
24681 variable[12] = variable[13];
24682 /* Register variable[13]: Local variable */
24683 variable[13] = variable[7] /*nodearraylist3*/;
24684 /* Register variable[14]: Result */
24685 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24686 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9907); nit_exit(1);}
24687 /* Register variable[14]: Local variable */
24688 variable[14] = variable[6] /*nodearraylist4*/;
24689 /* Register variable[15]: Result */
24690 variable[15] = TAG_Bool(( variable[14] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24691 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9909); nit_exit(1);}
24692 /* Register variable[15]: Local variable */
24693 variable[15] = variable[5] /*nodearraylist5*/;
24694 /* Register variable[16]: Result */
24695 variable[16] = TAG_Bool(( variable[15] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24696 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9911); nit_exit(1);}
24697 /* Register variable[16]: Local variable */
24698 variable[16] = variable[4] /*nodearraylist6*/;
24699 /* Register variable[17]: Result */
24700 variable[17] = TAG_Bool(( variable[16] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
24701 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction194___action, LOCATE_parser, 9913); nit_exit(1);}
24702 /* Register variable[17]: Local variable */
24703 /* Register variable[18]: Result */
24704 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, variable[12] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[14] /*tkwvarnode10*/, variable[15] /*tattridnode11*/, variable[16] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24705 variable[17] = variable[18];
24706 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
24707 /* Register variable[18]: Result */
24708 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24709 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
24710 return_label420: while(false);
24711 tracehead = trace.prev;
24712 return;
24713 }
24714 void parser___ReduceAction194___init(val_t self, int* init_table) {
24715 struct trace_t trace = {NULL, NULL, 9929, LOCATE_parser___ReduceAction194___init};
24716 val_t variable[2];
24717 struct WBT_ **closurevariable = NULL;
24718 trace.prev = tracehead; tracehead = &trace;
24719 trace.file = LOCATE_parser;
24720 /* Register variable[0]: Local variable */
24721 variable[0] = self;
24722 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction194].i]) return;
24723 /* Register variable[1]: Method return value and escape marker */
24724 return_label421: while(false);
24725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction194].i] = 1;
24726 tracehead = trace.prev;
24727 return;
24728 }
24729 void parser___ReduceAction195___action(val_t self, val_t param0) {
24730 struct trace_t trace = {NULL, NULL, 9933, LOCATE_parser___ReduceAction195___action};
24731 val_t variable[24];
24732 struct WBT_ **closurevariable = NULL;
24733 trace.prev = tracehead; tracehead = &trace;
24734 trace.file = LOCATE_parser;
24735 /* Register variable[0]: Local variable */
24736 variable[0] = self;
24737 /* Register variable[1]: Local variable */
24738 variable[1] = param0;
24739 /* Register variable[2]: Method return value and escape marker */
24740 /* Register variable[3]: Local variable */
24741 variable[3] = NIT_NULL /*null*/;
24742 /* Register variable[4]: Local variable */
24743 /* Register variable[5]: Result */
24744 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24745 variable[4] = variable[5];
24746 /* Register variable[5]: Local variable */
24747 /* Register variable[6]: Result */
24748 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24749 variable[5] = variable[6];
24750 /* Register variable[6]: Local variable */
24751 /* Register variable[7]: Result */
24752 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24753 variable[6] = variable[7];
24754 /* Register variable[7]: Local variable */
24755 /* Register variable[8]: Result */
24756 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24757 variable[7] = variable[8];
24758 /* Register variable[8]: Local variable */
24759 /* Register variable[9]: Result */
24760 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24761 variable[8] = variable[9];
24762 /* Register variable[9]: Local variable */
24763 /* Register variable[10]: Result */
24764 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24765 variable[9] = variable[10];
24766 /* Register variable[10]: Local variable */
24767 /* Register variable[11]: Result */
24768 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24769 variable[10] = variable[11];
24770 /* Register variable[11]: Local variable */
24771 /* Register variable[12]: Result */
24772 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24773 variable[11] = variable[12];
24774 /* Register variable[12]: Local variable */
24775 variable[12] = variable[11] /*nodearraylist1*/;
24776 /* Register variable[13]: Result */
24777 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24778 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9945); nit_exit(1);}
24779 /* Register variable[13]: Local variable */
24780 variable[13] = variable[10] /*nodearraylist2*/;
24781 /* Register variable[14]: Result */
24782 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24783 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9947); nit_exit(1);}
24784 /* Register variable[14]: Local variable */
24785 variable[14] = variable[9] /*nodearraylist3*/;
24786 /* Register variable[15]: Result */
24787 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24788 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9949); nit_exit(1);}
24789 /* Register variable[15]: Local variable */
24790 /* Register variable[16]: Result */
24791 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
24792 variable[15] = variable[16];
24793 /* Register variable[16]: Local variable */
24794 variable[16] = variable[8] /*nodearraylist4*/;
24795 /* Register variable[17]: Result */
24796 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24797 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9955); nit_exit(1);}
24798 /* Register variable[17]: Local variable */
24799 /* Register variable[18]: Result */
24800 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
24801 variable[17] = variable[18];
24802 /* Register variable[18]: Local variable */
24803 variable[18] = variable[7] /*nodearraylist5*/;
24804 /* Register variable[19]: Result */
24805 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24806 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9961); nit_exit(1);}
24807 /* Register variable[19]: Local variable */
24808 variable[19] = variable[6] /*nodearraylist6*/;
24809 /* Register variable[20]: Result */
24810 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24811 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9963); nit_exit(1);}
24812 /* Register variable[20]: Local variable */
24813 variable[20] = variable[5] /*nodearraylist7*/;
24814 /* Register variable[21]: Result */
24815 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24816 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9965); nit_exit(1);}
24817 /* Register variable[21]: Local variable */
24818 variable[21] = variable[4] /*nodearraylist8*/;
24819 /* Register variable[22]: Result */
24820 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
24821 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction195___action, LOCATE_parser, 9967); nit_exit(1);}
24822 /* Register variable[22]: Local variable */
24823 /* Register variable[23]: Result */
24824 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode12*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24825 variable[22] = variable[23];
24826 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
24827 /* Register variable[23]: Result */
24828 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24829 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
24830 return_label422: while(false);
24831 tracehead = trace.prev;
24832 return;
24833 }
24834 void parser___ReduceAction195___init(val_t self, int* init_table) {
24835 struct trace_t trace = {NULL, NULL, 9983, LOCATE_parser___ReduceAction195___init};
24836 val_t variable[2];
24837 struct WBT_ **closurevariable = NULL;
24838 trace.prev = tracehead; tracehead = &trace;
24839 trace.file = LOCATE_parser;
24840 /* Register variable[0]: Local variable */
24841 variable[0] = self;
24842 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction195].i]) return;
24843 /* Register variable[1]: Method return value and escape marker */
24844 return_label423: while(false);
24845 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction195].i] = 1;
24846 tracehead = trace.prev;
24847 return;
24848 }
24849 void parser___ReduceAction196___action(val_t self, val_t param0) {
24850 struct trace_t trace = {NULL, NULL, 9987, LOCATE_parser___ReduceAction196___action};
24851 val_t variable[26];
24852 struct WBT_ **closurevariable = NULL;
24853 trace.prev = tracehead; tracehead = &trace;
24854 trace.file = LOCATE_parser;
24855 /* Register variable[0]: Local variable */
24856 variable[0] = self;
24857 /* Register variable[1]: Local variable */
24858 variable[1] = param0;
24859 /* Register variable[2]: Method return value and escape marker */
24860 /* Register variable[3]: Local variable */
24861 variable[3] = NIT_NULL /*null*/;
24862 /* Register variable[4]: Local variable */
24863 /* Register variable[5]: Result */
24864 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24865 variable[4] = variable[5];
24866 /* Register variable[5]: Local variable */
24867 /* Register variable[6]: Result */
24868 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24869 variable[5] = variable[6];
24870 /* Register variable[6]: Local variable */
24871 /* Register variable[7]: Result */
24872 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24873 variable[6] = variable[7];
24874 /* Register variable[7]: Local variable */
24875 /* Register variable[8]: Result */
24876 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24877 variable[7] = variable[8];
24878 /* Register variable[8]: Local variable */
24879 /* Register variable[9]: Result */
24880 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24881 variable[8] = variable[9];
24882 /* Register variable[9]: Local variable */
24883 /* Register variable[10]: Result */
24884 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24885 variable[9] = variable[10];
24886 /* Register variable[10]: Local variable */
24887 /* Register variable[11]: Result */
24888 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24889 variable[10] = variable[11];
24890 /* Register variable[11]: Local variable */
24891 /* Register variable[12]: Result */
24892 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24893 variable[11] = variable[12];
24894 /* Register variable[12]: Local variable */
24895 /* Register variable[13]: Result */
24896 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24897 variable[12] = variable[13];
24898 /* Register variable[13]: Local variable */
24899 variable[13] = variable[12] /*nodearraylist1*/;
24900 /* Register variable[14]: Result */
24901 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
24902 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10000); nit_exit(1);}
24903 /* Register variable[14]: Local variable */
24904 variable[14] = variable[11] /*nodearraylist2*/;
24905 /* Register variable[15]: Result */
24906 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24907 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10002); nit_exit(1);}
24908 /* Register variable[15]: Local variable */
24909 variable[15] = variable[10] /*nodearraylist3*/;
24910 /* Register variable[16]: Result */
24911 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
24912 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10004); nit_exit(1);}
24913 /* Register variable[16]: Local variable */
24914 /* Register variable[17]: Result */
24915 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
24916 variable[16] = variable[17];
24917 /* Register variable[17]: Local variable */
24918 variable[17] = variable[9] /*nodearraylist4*/;
24919 /* Register variable[18]: Result */
24920 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
24921 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10010); nit_exit(1);}
24922 /* Register variable[18]: Local variable */
24923 variable[18] = variable[8] /*nodearraylist5*/;
24924 /* Register variable[19]: Result */
24925 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
24926 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10012); nit_exit(1);}
24927 /* Register variable[19]: Local variable */
24928 /* Register variable[20]: Result */
24929 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
24930 variable[19] = variable[20];
24931 /* Register variable[20]: Local variable */
24932 variable[20] = variable[7] /*nodearraylist6*/;
24933 /* Register variable[21]: Result */
24934 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
24935 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10018); nit_exit(1);}
24936 /* Register variable[21]: Local variable */
24937 variable[21] = variable[6] /*nodearraylist7*/;
24938 /* Register variable[22]: Result */
24939 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
24940 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10020); nit_exit(1);}
24941 /* Register variable[22]: Local variable */
24942 variable[22] = variable[5] /*nodearraylist8*/;
24943 /* Register variable[23]: Result */
24944 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
24945 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10022); nit_exit(1);}
24946 /* Register variable[23]: Local variable */
24947 variable[23] = variable[4] /*nodearraylist9*/;
24948 /* Register variable[24]: Result */
24949 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
24950 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction196___action, LOCATE_parser, 10024); nit_exit(1);}
24951 /* Register variable[24]: Local variable */
24952 /* Register variable[25]: Result */
24953 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
24954 variable[24] = variable[25];
24955 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
24956 /* Register variable[25]: Result */
24957 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
24958 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
24959 return_label424: while(false);
24960 tracehead = trace.prev;
24961 return;
24962 }
24963 void parser___ReduceAction196___init(val_t self, int* init_table) {
24964 struct trace_t trace = {NULL, NULL, 10040, LOCATE_parser___ReduceAction196___init};
24965 val_t variable[2];
24966 struct WBT_ **closurevariable = NULL;
24967 trace.prev = tracehead; tracehead = &trace;
24968 trace.file = LOCATE_parser;
24969 /* Register variable[0]: Local variable */
24970 variable[0] = self;
24971 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction196].i]) return;
24972 /* Register variable[1]: Method return value and escape marker */
24973 return_label425: while(false);
24974 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction196].i] = 1;
24975 tracehead = trace.prev;
24976 return;
24977 }
24978 void parser___ReduceAction197___action(val_t self, val_t param0) {
24979 struct trace_t trace = {NULL, NULL, 10044, LOCATE_parser___ReduceAction197___action};
24980 val_t variable[21];
24981 struct WBT_ **closurevariable = NULL;
24982 trace.prev = tracehead; tracehead = &trace;
24983 trace.file = LOCATE_parser;
24984 /* Register variable[0]: Local variable */
24985 variable[0] = self;
24986 /* Register variable[1]: Local variable */
24987 variable[1] = param0;
24988 /* Register variable[2]: Method return value and escape marker */
24989 /* Register variable[3]: Local variable */
24990 variable[3] = NIT_NULL /*null*/;
24991 /* Register variable[4]: Local variable */
24992 /* Register variable[5]: Result */
24993 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24994 variable[4] = variable[5];
24995 /* Register variable[5]: Local variable */
24996 /* Register variable[6]: Result */
24997 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
24998 variable[5] = variable[6];
24999 /* Register variable[6]: Local variable */
25000 /* Register variable[7]: Result */
25001 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25002 variable[6] = variable[7];
25003 /* Register variable[7]: Local variable */
25004 /* Register variable[8]: Result */
25005 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25006 variable[7] = variable[8];
25007 /* Register variable[8]: Local variable */
25008 /* Register variable[9]: Result */
25009 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25010 variable[8] = variable[9];
25011 /* Register variable[9]: Local variable */
25012 /* Register variable[10]: Result */
25013 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25014 variable[9] = variable[10];
25015 /* Register variable[10]: Local variable */
25016 /* Register variable[11]: Result */
25017 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25018 variable[10] = variable[11];
25019 /* Register variable[11]: Local variable */
25020 variable[11] = variable[10] /*nodearraylist1*/;
25021 /* Register variable[12]: Result */
25022 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25023 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10055); nit_exit(1);}
25024 /* Register variable[12]: Local variable */
25025 variable[12] = variable[9] /*nodearraylist2*/;
25026 /* Register variable[13]: Result */
25027 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25028 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10057); nit_exit(1);}
25029 /* Register variable[13]: Local variable */
25030 variable[13] = variable[8] /*nodearraylist3*/;
25031 /* Register variable[14]: Result */
25032 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25033 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10059); nit_exit(1);}
25034 /* Register variable[14]: Local variable */
25035 /* Register variable[15]: Result */
25036 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[12] /*tkwredefnode4*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
25037 variable[14] = variable[15];
25038 /* Register variable[15]: Local variable */
25039 variable[15] = variable[7] /*nodearraylist4*/;
25040 /* Register variable[16]: Result */
25041 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25042 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10065); nit_exit(1);}
25043 /* Register variable[16]: Local variable */
25044 variable[16] = variable[6] /*nodearraylist5*/;
25045 /* Register variable[17]: Result */
25046 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25047 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10067); nit_exit(1);}
25048 /* Register variable[17]: Local variable */
25049 variable[17] = variable[5] /*nodearraylist6*/;
25050 /* Register variable[18]: Result */
25051 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25052 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10069); nit_exit(1);}
25053 /* Register variable[18]: Local variable */
25054 variable[18] = variable[4] /*nodearraylist7*/;
25055 /* Register variable[19]: Result */
25056 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
25057 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction197___action, LOCATE_parser, 10071); nit_exit(1);}
25058 /* Register variable[19]: Local variable */
25059 /* Register variable[20]: Result */
25060 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25061 variable[19] = variable[20];
25062 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
25063 /* Register variable[20]: Result */
25064 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25065 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
25066 return_label426: while(false);
25067 tracehead = trace.prev;
25068 return;
25069 }
25070 void parser___ReduceAction197___init(val_t self, int* init_table) {
25071 struct trace_t trace = {NULL, NULL, 10087, LOCATE_parser___ReduceAction197___init};
25072 val_t variable[2];
25073 struct WBT_ **closurevariable = NULL;
25074 trace.prev = tracehead; tracehead = &trace;
25075 trace.file = LOCATE_parser;
25076 /* Register variable[0]: Local variable */
25077 variable[0] = self;
25078 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction197].i]) return;
25079 /* Register variable[1]: Method return value and escape marker */
25080 return_label427: while(false);
25081 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction197].i] = 1;
25082 tracehead = trace.prev;
25083 return;
25084 }
25085 void parser___ReduceAction198___action(val_t self, val_t param0) {
25086 struct trace_t trace = {NULL, NULL, 10091, LOCATE_parser___ReduceAction198___action};
25087 val_t variable[19];
25088 struct WBT_ **closurevariable = NULL;
25089 trace.prev = tracehead; tracehead = &trace;
25090 trace.file = LOCATE_parser;
25091 /* Register variable[0]: Local variable */
25092 variable[0] = self;
25093 /* Register variable[1]: Local variable */
25094 variable[1] = param0;
25095 /* Register variable[2]: Method return value and escape marker */
25096 /* Register variable[3]: Local variable */
25097 variable[3] = NIT_NULL /*null*/;
25098 /* Register variable[4]: Local variable */
25099 /* Register variable[5]: Result */
25100 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25101 variable[4] = variable[5];
25102 /* Register variable[5]: Local variable */
25103 /* Register variable[6]: Result */
25104 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25105 variable[5] = variable[6];
25106 /* Register variable[6]: Local variable */
25107 /* Register variable[7]: Result */
25108 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25109 variable[6] = variable[7];
25110 /* Register variable[7]: Local variable */
25111 /* Register variable[8]: Result */
25112 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25113 variable[7] = variable[8];
25114 /* Register variable[8]: Local variable */
25115 /* Register variable[9]: Result */
25116 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25117 variable[8] = variable[9];
25118 /* Register variable[9]: Local variable */
25119 /* Register variable[10]: Result */
25120 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25121 variable[9] = variable[10];
25122 /* Register variable[10]: Local variable */
25123 variable[10] = variable[9] /*nodearraylist1*/;
25124 /* Register variable[11]: Result */
25125 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25126 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10101); nit_exit(1);}
25127 /* Register variable[11]: Local variable */
25128 variable[11] = variable[8] /*nodearraylist2*/;
25129 /* Register variable[12]: Result */
25130 variable[12] = TAG_Bool(( variable[11] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25131 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10103); nit_exit(1);}
25132 /* Register variable[12]: Local variable */
25133 /* Register variable[13]: Result */
25134 variable[13] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[11] /*tkwwritablenode6*/) /*new AWriteAble*/;
25135 variable[12] = variable[13];
25136 /* Register variable[13]: Local variable */
25137 variable[13] = variable[7] /*nodearraylist3*/;
25138 /* Register variable[14]: Result */
25139 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25140 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10109); nit_exit(1);}
25141 /* Register variable[14]: Local variable */
25142 variable[14] = variable[6] /*nodearraylist4*/;
25143 /* Register variable[15]: Result */
25144 variable[15] = TAG_Bool(( variable[14] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25145 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10111); nit_exit(1);}
25146 /* Register variable[15]: Local variable */
25147 variable[15] = variable[5] /*nodearraylist5*/;
25148 /* Register variable[16]: Result */
25149 variable[16] = TAG_Bool(( variable[15] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25150 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10113); nit_exit(1);}
25151 /* Register variable[16]: Local variable */
25152 variable[16] = variable[4] /*nodearraylist6*/;
25153 /* Register variable[17]: Result */
25154 variable[17] = TAG_Bool(( variable[16] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
25155 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction198___action, LOCATE_parser, 10115); nit_exit(1);}
25156 /* Register variable[17]: Local variable */
25157 /* Register variable[18]: Result */
25158 variable[18] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, variable[12] /*pablenode4*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[14] /*tkwvarnode10*/, variable[15] /*tattridnode11*/, variable[16] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25159 variable[17] = variable[18];
25160 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
25161 /* Register variable[18]: Result */
25162 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25163 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
25164 return_label428: while(false);
25165 tracehead = trace.prev;
25166 return;
25167 }
25168 void parser___ReduceAction198___init(val_t self, int* init_table) {
25169 struct trace_t trace = {NULL, NULL, 10131, LOCATE_parser___ReduceAction198___init};
25170 val_t variable[2];
25171 struct WBT_ **closurevariable = NULL;
25172 trace.prev = tracehead; tracehead = &trace;
25173 trace.file = LOCATE_parser;
25174 /* Register variable[0]: Local variable */
25175 variable[0] = self;
25176 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction198].i]) return;
25177 /* Register variable[1]: Method return value and escape marker */
25178 return_label429: while(false);
25179 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction198].i] = 1;
25180 tracehead = trace.prev;
25181 return;
25182 }
25183 void parser___ReduceAction199___action(val_t self, val_t param0) {
25184 struct trace_t trace = {NULL, NULL, 10135, LOCATE_parser___ReduceAction199___action};
25185 val_t variable[21];
25186 struct WBT_ **closurevariable = NULL;
25187 trace.prev = tracehead; tracehead = &trace;
25188 trace.file = LOCATE_parser;
25189 /* Register variable[0]: Local variable */
25190 variable[0] = self;
25191 /* Register variable[1]: Local variable */
25192 variable[1] = param0;
25193 /* Register variable[2]: Method return value and escape marker */
25194 /* Register variable[3]: Local variable */
25195 variable[3] = NIT_NULL /*null*/;
25196 /* Register variable[4]: Local variable */
25197 /* Register variable[5]: Result */
25198 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25199 variable[4] = variable[5];
25200 /* Register variable[5]: Local variable */
25201 /* Register variable[6]: Result */
25202 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25203 variable[5] = variable[6];
25204 /* Register variable[6]: Local variable */
25205 /* Register variable[7]: Result */
25206 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25207 variable[6] = variable[7];
25208 /* Register variable[7]: Local variable */
25209 /* Register variable[8]: Result */
25210 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25211 variable[7] = variable[8];
25212 /* Register variable[8]: Local variable */
25213 /* Register variable[9]: Result */
25214 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25215 variable[8] = variable[9];
25216 /* Register variable[9]: Local variable */
25217 /* Register variable[10]: Result */
25218 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25219 variable[9] = variable[10];
25220 /* Register variable[10]: Local variable */
25221 /* Register variable[11]: Result */
25222 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25223 variable[10] = variable[11];
25224 /* Register variable[11]: Local variable */
25225 variable[11] = variable[10] /*nodearraylist1*/;
25226 /* Register variable[12]: Result */
25227 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25228 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10146); nit_exit(1);}
25229 /* Register variable[12]: Local variable */
25230 variable[12] = variable[9] /*nodearraylist2*/;
25231 /* Register variable[13]: Result */
25232 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25233 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10148); nit_exit(1);}
25234 /* Register variable[13]: Local variable */
25235 variable[13] = variable[8] /*nodearraylist3*/;
25236 /* Register variable[14]: Result */
25237 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25238 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10150); nit_exit(1);}
25239 /* Register variable[14]: Local variable */
25240 /* Register variable[15]: Result */
25241 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[12] /*tkwredefnode5*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
25242 variable[14] = variable[15];
25243 /* Register variable[15]: Local variable */
25244 variable[15] = variable[7] /*nodearraylist4*/;
25245 /* Register variable[16]: Result */
25246 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25247 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10156); nit_exit(1);}
25248 /* Register variable[16]: Local variable */
25249 variable[16] = variable[6] /*nodearraylist5*/;
25250 /* Register variable[17]: Result */
25251 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25252 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10158); nit_exit(1);}
25253 /* Register variable[17]: Local variable */
25254 variable[17] = variable[5] /*nodearraylist6*/;
25255 /* Register variable[18]: Result */
25256 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25257 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10160); nit_exit(1);}
25258 /* Register variable[18]: Local variable */
25259 variable[18] = variable[4] /*nodearraylist7*/;
25260 /* Register variable[19]: Result */
25261 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
25262 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction199___action, LOCATE_parser, 10162); nit_exit(1);}
25263 /* Register variable[19]: Local variable */
25264 /* Register variable[20]: Result */
25265 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25266 variable[19] = variable[20];
25267 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
25268 /* Register variable[20]: Result */
25269 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25270 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
25271 return_label430: while(false);
25272 tracehead = trace.prev;
25273 return;
25274 }
25275 void parser___ReduceAction199___init(val_t self, int* init_table) {
25276 struct trace_t trace = {NULL, NULL, 10178, LOCATE_parser___ReduceAction199___init};
25277 val_t variable[2];
25278 struct WBT_ **closurevariable = NULL;
25279 trace.prev = tracehead; tracehead = &trace;
25280 trace.file = LOCATE_parser;
25281 /* Register variable[0]: Local variable */
25282 variable[0] = self;
25283 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction199].i]) return;
25284 /* Register variable[1]: Method return value and escape marker */
25285 return_label431: while(false);
25286 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction199].i] = 1;
25287 tracehead = trace.prev;
25288 return;
25289 }
25290 void parser___ReduceAction200___action(val_t self, val_t param0) {
25291 struct trace_t trace = {NULL, NULL, 10182, LOCATE_parser___ReduceAction200___action};
25292 val_t variable[16];
25293 struct WBT_ **closurevariable = NULL;
25294 trace.prev = tracehead; tracehead = &trace;
25295 trace.file = LOCATE_parser;
25296 /* Register variable[0]: Local variable */
25297 variable[0] = self;
25298 /* Register variable[1]: Local variable */
25299 variable[1] = param0;
25300 /* Register variable[2]: Method return value and escape marker */
25301 /* Register variable[3]: Local variable */
25302 variable[3] = NIT_NULL /*null*/;
25303 /* Register variable[4]: Local variable */
25304 /* Register variable[5]: Result */
25305 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25306 variable[4] = variable[5];
25307 /* Register variable[5]: Local variable */
25308 /* Register variable[6]: Result */
25309 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25310 variable[5] = variable[6];
25311 /* Register variable[6]: Local variable */
25312 /* Register variable[7]: Result */
25313 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25314 variable[6] = variable[7];
25315 /* Register variable[7]: Local variable */
25316 /* Register variable[8]: Result */
25317 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25318 variable[7] = variable[8];
25319 /* Register variable[8]: Local variable */
25320 /* Register variable[9]: Result */
25321 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25322 variable[8] = variable[9];
25323 /* Register variable[9]: Local variable */
25324 variable[9] = variable[8] /*nodearraylist1*/;
25325 /* Register variable[10]: Result */
25326 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25327 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10191); nit_exit(1);}
25328 /* Register variable[10]: Local variable */
25329 variable[10] = variable[7] /*nodearraylist2*/;
25330 /* Register variable[11]: Result */
25331 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25332 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10193); nit_exit(1);}
25333 /* Register variable[11]: Local variable */
25334 variable[11] = variable[6] /*nodearraylist3*/;
25335 /* Register variable[12]: Result */
25336 variable[12] = TAG_Bool(( variable[11] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25337 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10195); nit_exit(1);}
25338 /* Register variable[12]: Local variable */
25339 variable[12] = variable[5] /*nodearraylist4*/;
25340 /* Register variable[13]: Result */
25341 variable[13] = TAG_Bool(( variable[12] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[12] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25342 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10197); nit_exit(1);}
25343 /* Register variable[13]: Local variable */
25344 variable[13] = variable[4] /*nodearraylist5*/;
25345 /* Register variable[14]: Result */
25346 variable[14] = TAG_Bool(( variable[13] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
25347 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction200___action, LOCATE_parser, 10199); nit_exit(1);}
25348 /* Register variable[14]: Local variable */
25349 /* Register variable[15]: Result */
25350 variable[15] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[9] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[10] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[11] /*tkwvarnode8*/, variable[12] /*tattridnode9*/, variable[13] /*ptypenode10*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25351 variable[14] = variable[15];
25352 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
25353 /* Register variable[15]: Result */
25354 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25355 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
25356 return_label432: while(false);
25357 tracehead = trace.prev;
25358 return;
25359 }
25360 void parser___ReduceAction200___init(val_t self, int* init_table) {
25361 struct trace_t trace = {NULL, NULL, 10215, LOCATE_parser___ReduceAction200___init};
25362 val_t variable[2];
25363 struct WBT_ **closurevariable = NULL;
25364 trace.prev = tracehead; tracehead = &trace;
25365 trace.file = LOCATE_parser;
25366 /* Register variable[0]: Local variable */
25367 variable[0] = self;
25368 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction200].i]) return;
25369 /* Register variable[1]: Method return value and escape marker */
25370 return_label433: while(false);
25371 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction200].i] = 1;
25372 tracehead = trace.prev;
25373 return;
25374 }
25375 void parser___ReduceAction201___action(val_t self, val_t param0) {
25376 struct trace_t trace = {NULL, NULL, 10219, LOCATE_parser___ReduceAction201___action};
25377 val_t variable[24];
25378 struct WBT_ **closurevariable = NULL;
25379 trace.prev = tracehead; tracehead = &trace;
25380 trace.file = LOCATE_parser;
25381 /* Register variable[0]: Local variable */
25382 variable[0] = self;
25383 /* Register variable[1]: Local variable */
25384 variable[1] = param0;
25385 /* Register variable[2]: Method return value and escape marker */
25386 /* Register variable[3]: Local variable */
25387 variable[3] = NIT_NULL /*null*/;
25388 /* Register variable[4]: Local variable */
25389 /* Register variable[5]: Result */
25390 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25391 variable[4] = variable[5];
25392 /* Register variable[5]: Local variable */
25393 /* Register variable[6]: Result */
25394 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25395 variable[5] = variable[6];
25396 /* Register variable[6]: Local variable */
25397 /* Register variable[7]: Result */
25398 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25399 variable[6] = variable[7];
25400 /* Register variable[7]: Local variable */
25401 /* Register variable[8]: Result */
25402 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25403 variable[7] = variable[8];
25404 /* Register variable[8]: Local variable */
25405 /* Register variable[9]: Result */
25406 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25407 variable[8] = variable[9];
25408 /* Register variable[9]: Local variable */
25409 /* Register variable[10]: Result */
25410 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25411 variable[9] = variable[10];
25412 /* Register variable[10]: Local variable */
25413 /* Register variable[11]: Result */
25414 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25415 variable[10] = variable[11];
25416 /* Register variable[11]: Local variable */
25417 /* Register variable[12]: Result */
25418 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25419 variable[11] = variable[12];
25420 /* Register variable[12]: Local variable */
25421 variable[12] = variable[11] /*nodearraylist1*/;
25422 /* Register variable[13]: Result */
25423 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25424 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10231); nit_exit(1);}
25425 /* Register variable[13]: Local variable */
25426 variable[13] = variable[10] /*nodearraylist2*/;
25427 /* Register variable[14]: Result */
25428 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25429 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10233); nit_exit(1);}
25430 /* Register variable[14]: Local variable */
25431 /* Register variable[15]: Result */
25432 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
25433 variable[14] = variable[15];
25434 /* Register variable[15]: Local variable */
25435 variable[15] = variable[9] /*nodearraylist3*/;
25436 /* Register variable[16]: Result */
25437 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25438 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10239); nit_exit(1);}
25439 /* Register variable[16]: Local variable */
25440 /* Register variable[17]: Result */
25441 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode8*/) /*new AWriteAble*/;
25442 variable[16] = variable[17];
25443 /* Register variable[17]: Local variable */
25444 variable[17] = variable[8] /*nodearraylist4*/;
25445 /* Register variable[18]: Result */
25446 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25447 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10245); nit_exit(1);}
25448 /* Register variable[18]: Local variable */
25449 variable[18] = variable[7] /*nodearraylist5*/;
25450 /* Register variable[19]: Result */
25451 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25452 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10247); nit_exit(1);}
25453 /* Register variable[19]: Local variable */
25454 variable[19] = variable[6] /*nodearraylist6*/;
25455 /* Register variable[20]: Result */
25456 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25457 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10249); nit_exit(1);}
25458 /* Register variable[20]: Local variable */
25459 variable[20] = variable[5] /*nodearraylist7*/;
25460 /* Register variable[21]: Result */
25461 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25462 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10251); nit_exit(1);}
25463 /* Register variable[21]: Local variable */
25464 variable[21] = variable[4] /*nodearraylist8*/;
25465 /* Register variable[22]: Result */
25466 variable[22] = TAG_Bool(( variable[21] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
25467 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction201___action, LOCATE_parser, 10253); nit_exit(1);}
25468 /* Register variable[22]: Local variable */
25469 /* Register variable[23]: Result */
25470 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, variable[16] /*pablenode6*/, variable[17] /*tkwredefnode9*/, variable[18] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode12*/, variable[20] /*tattridnode13*/, variable[21] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25471 variable[22] = variable[23];
25472 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
25473 /* Register variable[23]: Result */
25474 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25475 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
25476 return_label434: while(false);
25477 tracehead = trace.prev;
25478 return;
25479 }
25480 void parser___ReduceAction201___init(val_t self, int* init_table) {
25481 struct trace_t trace = {NULL, NULL, 10269, LOCATE_parser___ReduceAction201___init};
25482 val_t variable[2];
25483 struct WBT_ **closurevariable = NULL;
25484 trace.prev = tracehead; tracehead = &trace;
25485 trace.file = LOCATE_parser;
25486 /* Register variable[0]: Local variable */
25487 variable[0] = self;
25488 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction201].i]) return;
25489 /* Register variable[1]: Method return value and escape marker */
25490 return_label435: while(false);
25491 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction201].i] = 1;
25492 tracehead = trace.prev;
25493 return;
25494 }
25495 void parser___ReduceAction202___action(val_t self, val_t param0) {
25496 struct trace_t trace = {NULL, NULL, 10273, LOCATE_parser___ReduceAction202___action};
25497 val_t variable[26];
25498 struct WBT_ **closurevariable = NULL;
25499 trace.prev = tracehead; tracehead = &trace;
25500 trace.file = LOCATE_parser;
25501 /* Register variable[0]: Local variable */
25502 variable[0] = self;
25503 /* Register variable[1]: Local variable */
25504 variable[1] = param0;
25505 /* Register variable[2]: Method return value and escape marker */
25506 /* Register variable[3]: Local variable */
25507 variable[3] = NIT_NULL /*null*/;
25508 /* Register variable[4]: Local variable */
25509 /* Register variable[5]: Result */
25510 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25511 variable[4] = variable[5];
25512 /* Register variable[5]: Local variable */
25513 /* Register variable[6]: Result */
25514 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25515 variable[5] = variable[6];
25516 /* Register variable[6]: Local variable */
25517 /* Register variable[7]: Result */
25518 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25519 variable[6] = variable[7];
25520 /* Register variable[7]: Local variable */
25521 /* Register variable[8]: Result */
25522 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25523 variable[7] = variable[8];
25524 /* Register variable[8]: Local variable */
25525 /* Register variable[9]: Result */
25526 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25527 variable[8] = variable[9];
25528 /* Register variable[9]: Local variable */
25529 /* Register variable[10]: Result */
25530 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25531 variable[9] = variable[10];
25532 /* Register variable[10]: Local variable */
25533 /* Register variable[11]: Result */
25534 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25535 variable[10] = variable[11];
25536 /* Register variable[11]: Local variable */
25537 /* Register variable[12]: Result */
25538 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25539 variable[11] = variable[12];
25540 /* Register variable[12]: Local variable */
25541 /* Register variable[13]: Result */
25542 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25543 variable[12] = variable[13];
25544 /* Register variable[13]: Local variable */
25545 variable[13] = variable[12] /*nodearraylist1*/;
25546 /* Register variable[14]: Result */
25547 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25548 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10286); nit_exit(1);}
25549 /* Register variable[14]: Local variable */
25550 variable[14] = variable[11] /*nodearraylist2*/;
25551 /* Register variable[15]: Result */
25552 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25553 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10288); nit_exit(1);}
25554 /* Register variable[15]: Local variable */
25555 /* Register variable[16]: Result */
25556 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
25557 variable[15] = variable[16];
25558 /* Register variable[16]: Local variable */
25559 variable[16] = variable[10] /*nodearraylist3*/;
25560 /* Register variable[17]: Result */
25561 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25562 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10294); nit_exit(1);}
25563 /* Register variable[17]: Local variable */
25564 variable[17] = variable[9] /*nodearraylist4*/;
25565 /* Register variable[18]: Result */
25566 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25567 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10296); nit_exit(1);}
25568 /* Register variable[18]: Local variable */
25569 /* Register variable[19]: Result */
25570 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode7*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
25571 variable[18] = variable[19];
25572 /* Register variable[19]: Local variable */
25573 variable[19] = variable[8] /*nodearraylist5*/;
25574 /* Register variable[20]: Result */
25575 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25576 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10302); nit_exit(1);}
25577 /* Register variable[20]: Local variable */
25578 variable[20] = variable[7] /*nodearraylist6*/;
25579 /* Register variable[21]: Result */
25580 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25581 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10304); nit_exit(1);}
25582 /* Register variable[21]: Local variable */
25583 variable[21] = variable[6] /*nodearraylist7*/;
25584 /* Register variable[22]: Result */
25585 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25586 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10306); nit_exit(1);}
25587 /* Register variable[22]: Local variable */
25588 variable[22] = variable[5] /*nodearraylist8*/;
25589 /* Register variable[23]: Result */
25590 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25591 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10308); nit_exit(1);}
25592 /* Register variable[23]: Local variable */
25593 variable[23] = variable[4] /*nodearraylist9*/;
25594 /* Register variable[24]: Result */
25595 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
25596 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction202___action, LOCATE_parser, 10310); nit_exit(1);}
25597 /* Register variable[24]: Local variable */
25598 /* Register variable[25]: Result */
25599 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25600 variable[24] = variable[25];
25601 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25602 /* Register variable[25]: Result */
25603 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25604 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25605 return_label436: while(false);
25606 tracehead = trace.prev;
25607 return;
25608 }
25609 void parser___ReduceAction202___init(val_t self, int* init_table) {
25610 struct trace_t trace = {NULL, NULL, 10326, LOCATE_parser___ReduceAction202___init};
25611 val_t variable[2];
25612 struct WBT_ **closurevariable = NULL;
25613 trace.prev = tracehead; tracehead = &trace;
25614 trace.file = LOCATE_parser;
25615 /* Register variable[0]: Local variable */
25616 variable[0] = self;
25617 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction202].i]) return;
25618 /* Register variable[1]: Method return value and escape marker */
25619 return_label437: while(false);
25620 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction202].i] = 1;
25621 tracehead = trace.prev;
25622 return;
25623 }
25624 void parser___ReduceAction203___action(val_t self, val_t param0) {
25625 struct trace_t trace = {NULL, NULL, 10330, LOCATE_parser___ReduceAction203___action};
25626 val_t variable[21];
25627 struct WBT_ **closurevariable = NULL;
25628 trace.prev = tracehead; tracehead = &trace;
25629 trace.file = LOCATE_parser;
25630 /* Register variable[0]: Local variable */
25631 variable[0] = self;
25632 /* Register variable[1]: Local variable */
25633 variable[1] = param0;
25634 /* Register variable[2]: Method return value and escape marker */
25635 /* Register variable[3]: Local variable */
25636 variable[3] = NIT_NULL /*null*/;
25637 /* Register variable[4]: Local variable */
25638 /* Register variable[5]: Result */
25639 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25640 variable[4] = variable[5];
25641 /* Register variable[5]: Local variable */
25642 /* Register variable[6]: Result */
25643 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25644 variable[5] = variable[6];
25645 /* Register variable[6]: Local variable */
25646 /* Register variable[7]: Result */
25647 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25648 variable[6] = variable[7];
25649 /* Register variable[7]: Local variable */
25650 /* Register variable[8]: Result */
25651 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25652 variable[7] = variable[8];
25653 /* Register variable[8]: Local variable */
25654 /* Register variable[9]: Result */
25655 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25656 variable[8] = variable[9];
25657 /* Register variable[9]: Local variable */
25658 /* Register variable[10]: Result */
25659 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25660 variable[9] = variable[10];
25661 /* Register variable[10]: Local variable */
25662 /* Register variable[11]: Result */
25663 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25664 variable[10] = variable[11];
25665 /* Register variable[11]: Local variable */
25666 variable[11] = variable[10] /*nodearraylist1*/;
25667 /* Register variable[12]: Result */
25668 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25669 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10341); nit_exit(1);}
25670 /* Register variable[12]: Local variable */
25671 variable[12] = variable[9] /*nodearraylist2*/;
25672 /* Register variable[13]: Result */
25673 variable[13] = TAG_Bool(( variable[12] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25674 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10343); nit_exit(1);}
25675 /* Register variable[13]: Local variable */
25676 /* Register variable[14]: Result */
25677 variable[14] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[12] /*tkwreadablenode5*/) /*new AReadAble*/;
25678 variable[13] = variable[14];
25679 /* Register variable[14]: Local variable */
25680 variable[14] = variable[8] /*nodearraylist3*/;
25681 /* Register variable[15]: Result */
25682 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25683 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10349); nit_exit(1);}
25684 /* Register variable[15]: Local variable */
25685 variable[15] = variable[7] /*nodearraylist4*/;
25686 /* Register variable[16]: Result */
25687 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25688 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10351); nit_exit(1);}
25689 /* Register variable[16]: Local variable */
25690 variable[16] = variable[6] /*nodearraylist5*/;
25691 /* Register variable[17]: Result */
25692 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25693 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10353); nit_exit(1);}
25694 /* Register variable[17]: Local variable */
25695 variable[17] = variable[5] /*nodearraylist6*/;
25696 /* Register variable[18]: Result */
25697 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25698 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10355); nit_exit(1);}
25699 /* Register variable[18]: Local variable */
25700 variable[18] = variable[4] /*nodearraylist7*/;
25701 /* Register variable[19]: Result */
25702 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
25703 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction203___action, LOCATE_parser, 10357); nit_exit(1);}
25704 /* Register variable[19]: Local variable */
25705 /* Register variable[20]: Result */
25706 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, variable[13] /*pablenode3*/, NIT_NULL /*null*/, variable[14] /*tkwredefnode7*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25707 variable[19] = variable[20];
25708 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
25709 /* Register variable[20]: Result */
25710 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25711 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
25712 return_label438: while(false);
25713 tracehead = trace.prev;
25714 return;
25715 }
25716 void parser___ReduceAction203___init(val_t self, int* init_table) {
25717 struct trace_t trace = {NULL, NULL, 10373, LOCATE_parser___ReduceAction203___init};
25718 val_t variable[2];
25719 struct WBT_ **closurevariable = NULL;
25720 trace.prev = tracehead; tracehead = &trace;
25721 trace.file = LOCATE_parser;
25722 /* Register variable[0]: Local variable */
25723 variable[0] = self;
25724 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction203].i]) return;
25725 /* Register variable[1]: Method return value and escape marker */
25726 return_label439: while(false);
25727 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction203].i] = 1;
25728 tracehead = trace.prev;
25729 return;
25730 }
25731 void parser___ReduceAction204___action(val_t self, val_t param0) {
25732 struct trace_t trace = {NULL, NULL, 10377, LOCATE_parser___ReduceAction204___action};
25733 val_t variable[26];
25734 struct WBT_ **closurevariable = NULL;
25735 trace.prev = tracehead; tracehead = &trace;
25736 trace.file = LOCATE_parser;
25737 /* Register variable[0]: Local variable */
25738 variable[0] = self;
25739 /* Register variable[1]: Local variable */
25740 variable[1] = param0;
25741 /* Register variable[2]: Method return value and escape marker */
25742 /* Register variable[3]: Local variable */
25743 variable[3] = NIT_NULL /*null*/;
25744 /* Register variable[4]: Local variable */
25745 /* Register variable[5]: Result */
25746 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25747 variable[4] = variable[5];
25748 /* Register variable[5]: Local variable */
25749 /* Register variable[6]: Result */
25750 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25751 variable[5] = variable[6];
25752 /* Register variable[6]: Local variable */
25753 /* Register variable[7]: Result */
25754 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25755 variable[6] = variable[7];
25756 /* Register variable[7]: Local variable */
25757 /* Register variable[8]: Result */
25758 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25759 variable[7] = variable[8];
25760 /* Register variable[8]: Local variable */
25761 /* Register variable[9]: Result */
25762 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25763 variable[8] = variable[9];
25764 /* Register variable[9]: Local variable */
25765 /* Register variable[10]: Result */
25766 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25767 variable[9] = variable[10];
25768 /* Register variable[10]: Local variable */
25769 /* Register variable[11]: Result */
25770 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25771 variable[10] = variable[11];
25772 /* Register variable[11]: Local variable */
25773 /* Register variable[12]: Result */
25774 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25775 variable[11] = variable[12];
25776 /* Register variable[12]: Local variable */
25777 /* Register variable[13]: Result */
25778 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25779 variable[12] = variable[13];
25780 /* Register variable[13]: Local variable */
25781 variable[13] = variable[12] /*nodearraylist1*/;
25782 /* Register variable[14]: Result */
25783 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25784 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10390); nit_exit(1);}
25785 /* Register variable[14]: Local variable */
25786 variable[14] = variable[11] /*nodearraylist2*/;
25787 /* Register variable[15]: Result */
25788 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25789 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10392); nit_exit(1);}
25790 /* Register variable[15]: Local variable */
25791 variable[15] = variable[10] /*nodearraylist3*/;
25792 /* Register variable[16]: Result */
25793 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25794 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10394); nit_exit(1);}
25795 /* Register variable[16]: Local variable */
25796 /* Register variable[17]: Result */
25797 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
25798 variable[16] = variable[17];
25799 /* Register variable[17]: Local variable */
25800 variable[17] = variable[9] /*nodearraylist4*/;
25801 /* Register variable[18]: Result */
25802 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25803 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10400); nit_exit(1);}
25804 /* Register variable[18]: Local variable */
25805 /* Register variable[19]: Result */
25806 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
25807 variable[18] = variable[19];
25808 /* Register variable[19]: Local variable */
25809 variable[19] = variable[8] /*nodearraylist5*/;
25810 /* Register variable[20]: Result */
25811 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25812 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10406); nit_exit(1);}
25813 /* Register variable[20]: Local variable */
25814 variable[20] = variable[7] /*nodearraylist6*/;
25815 /* Register variable[21]: Result */
25816 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25817 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10408); nit_exit(1);}
25818 /* Register variable[21]: Local variable */
25819 variable[21] = variable[6] /*nodearraylist7*/;
25820 /* Register variable[22]: Result */
25821 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25822 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10410); nit_exit(1);}
25823 /* Register variable[22]: Local variable */
25824 variable[22] = variable[5] /*nodearraylist8*/;
25825 /* Register variable[23]: Result */
25826 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25827 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10412); nit_exit(1);}
25828 /* Register variable[23]: Local variable */
25829 variable[23] = variable[4] /*nodearraylist9*/;
25830 /* Register variable[24]: Result */
25831 variable[24] = TAG_Bool(( variable[23] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
25832 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction204___action, LOCATE_parser, 10414); nit_exit(1);}
25833 /* Register variable[24]: Local variable */
25834 /* Register variable[25]: Result */
25835 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, variable[23] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25836 variable[24] = variable[25];
25837 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
25838 /* Register variable[25]: Result */
25839 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25840 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
25841 return_label440: while(false);
25842 tracehead = trace.prev;
25843 return;
25844 }
25845 void parser___ReduceAction204___init(val_t self, int* init_table) {
25846 struct trace_t trace = {NULL, NULL, 10430, LOCATE_parser___ReduceAction204___init};
25847 val_t variable[2];
25848 struct WBT_ **closurevariable = NULL;
25849 trace.prev = tracehead; tracehead = &trace;
25850 trace.file = LOCATE_parser;
25851 /* Register variable[0]: Local variable */
25852 variable[0] = self;
25853 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction204].i]) return;
25854 /* Register variable[1]: Method return value and escape marker */
25855 return_label441: while(false);
25856 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction204].i] = 1;
25857 tracehead = trace.prev;
25858 return;
25859 }
25860 void parser___ReduceAction205___action(val_t self, val_t param0) {
25861 struct trace_t trace = {NULL, NULL, 10434, LOCATE_parser___ReduceAction205___action};
25862 val_t variable[28];
25863 struct WBT_ **closurevariable = NULL;
25864 trace.prev = tracehead; tracehead = &trace;
25865 trace.file = LOCATE_parser;
25866 /* Register variable[0]: Local variable */
25867 variable[0] = self;
25868 /* Register variable[1]: Local variable */
25869 variable[1] = param0;
25870 /* Register variable[2]: Method return value and escape marker */
25871 /* Register variable[3]: Local variable */
25872 variable[3] = NIT_NULL /*null*/;
25873 /* Register variable[4]: Local variable */
25874 /* Register variable[5]: Result */
25875 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25876 variable[4] = variable[5];
25877 /* Register variable[5]: Local variable */
25878 /* Register variable[6]: Result */
25879 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25880 variable[5] = variable[6];
25881 /* Register variable[6]: Local variable */
25882 /* Register variable[7]: Result */
25883 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25884 variable[6] = variable[7];
25885 /* Register variable[7]: Local variable */
25886 /* Register variable[8]: Result */
25887 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25888 variable[7] = variable[8];
25889 /* Register variable[8]: Local variable */
25890 /* Register variable[9]: Result */
25891 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25892 variable[8] = variable[9];
25893 /* Register variable[9]: Local variable */
25894 /* Register variable[10]: Result */
25895 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25896 variable[9] = variable[10];
25897 /* Register variable[10]: Local variable */
25898 /* Register variable[11]: Result */
25899 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25900 variable[10] = variable[11];
25901 /* Register variable[11]: Local variable */
25902 /* Register variable[12]: Result */
25903 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25904 variable[11] = variable[12];
25905 /* Register variable[12]: Local variable */
25906 /* Register variable[13]: Result */
25907 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25908 variable[12] = variable[13];
25909 /* Register variable[13]: Local variable */
25910 /* Register variable[14]: Result */
25911 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
25912 variable[13] = variable[14];
25913 /* Register variable[14]: Local variable */
25914 variable[14] = variable[13] /*nodearraylist1*/;
25915 /* Register variable[15]: Result */
25916 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
25917 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10448); nit_exit(1);}
25918 /* Register variable[15]: Local variable */
25919 variable[15] = variable[12] /*nodearraylist2*/;
25920 /* Register variable[16]: Result */
25921 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25922 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10450); nit_exit(1);}
25923 /* Register variable[16]: Local variable */
25924 variable[16] = variable[11] /*nodearraylist3*/;
25925 /* Register variable[17]: Result */
25926 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
25927 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10452); nit_exit(1);}
25928 /* Register variable[17]: Local variable */
25929 /* Register variable[18]: Result */
25930 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
25931 variable[17] = variable[18];
25932 /* Register variable[18]: Local variable */
25933 variable[18] = variable[10] /*nodearraylist4*/;
25934 /* Register variable[19]: Result */
25935 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25936 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10458); nit_exit(1);}
25937 /* Register variable[19]: Local variable */
25938 variable[19] = variable[9] /*nodearraylist5*/;
25939 /* Register variable[20]: Result */
25940 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
25941 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10460); nit_exit(1);}
25942 /* Register variable[20]: Local variable */
25943 /* Register variable[21]: Result */
25944 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
25945 variable[20] = variable[21];
25946 /* Register variable[21]: Local variable */
25947 variable[21] = variable[8] /*nodearraylist6*/;
25948 /* Register variable[22]: Result */
25949 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
25950 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10466); nit_exit(1);}
25951 /* Register variable[22]: Local variable */
25952 variable[22] = variable[7] /*nodearraylist7*/;
25953 /* Register variable[23]: Result */
25954 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
25955 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10468); nit_exit(1);}
25956 /* Register variable[23]: Local variable */
25957 variable[23] = variable[6] /*nodearraylist8*/;
25958 /* Register variable[24]: Result */
25959 variable[24] = TAG_Bool(( variable[23] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
25960 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10470); nit_exit(1);}
25961 /* Register variable[24]: Local variable */
25962 variable[24] = variable[5] /*nodearraylist9*/;
25963 /* Register variable[25]: Result */
25964 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
25965 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10472); nit_exit(1);}
25966 /* Register variable[25]: Local variable */
25967 variable[25] = variable[4] /*nodearraylist10*/;
25968 /* Register variable[26]: Result */
25969 variable[26] = TAG_Bool(( variable[25] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[25] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
25970 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction205___action, LOCATE_parser, 10474); nit_exit(1);}
25971 /* Register variable[26]: Local variable */
25972 /* Register variable[27]: Result */
25973 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[23] /*tkwvarnode12*/, variable[24] /*tattridnode13*/, variable[25] /*ptypenode14*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
25974 variable[26] = variable[27];
25975 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
25976 /* Register variable[27]: Result */
25977 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
25978 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
25979 return_label442: while(false);
25980 tracehead = trace.prev;
25981 return;
25982 }
25983 void parser___ReduceAction205___init(val_t self, int* init_table) {
25984 struct trace_t trace = {NULL, NULL, 10490, LOCATE_parser___ReduceAction205___init};
25985 val_t variable[2];
25986 struct WBT_ **closurevariable = NULL;
25987 trace.prev = tracehead; tracehead = &trace;
25988 trace.file = LOCATE_parser;
25989 /* Register variable[0]: Local variable */
25990 variable[0] = self;
25991 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction205].i]) return;
25992 /* Register variable[1]: Method return value and escape marker */
25993 return_label443: while(false);
25994 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction205].i] = 1;
25995 tracehead = trace.prev;
25996 return;
25997 }
25998 void parser___ReduceAction206___action(val_t self, val_t param0) {
25999 struct trace_t trace = {NULL, NULL, 10494, LOCATE_parser___ReduceAction206___action};
26000 val_t variable[23];
26001 struct WBT_ **closurevariable = NULL;
26002 trace.prev = tracehead; tracehead = &trace;
26003 trace.file = LOCATE_parser;
26004 /* Register variable[0]: Local variable */
26005 variable[0] = self;
26006 /* Register variable[1]: Local variable */
26007 variable[1] = param0;
26008 /* Register variable[2]: Method return value and escape marker */
26009 /* Register variable[3]: Local variable */
26010 variable[3] = NIT_NULL /*null*/;
26011 /* Register variable[4]: Local variable */
26012 /* Register variable[5]: Result */
26013 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26014 variable[4] = variable[5];
26015 /* Register variable[5]: Local variable */
26016 /* Register variable[6]: Result */
26017 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26018 variable[5] = variable[6];
26019 /* Register variable[6]: Local variable */
26020 /* Register variable[7]: Result */
26021 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26022 variable[6] = variable[7];
26023 /* Register variable[7]: Local variable */
26024 /* Register variable[8]: Result */
26025 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26026 variable[7] = variable[8];
26027 /* Register variable[8]: Local variable */
26028 /* Register variable[9]: Result */
26029 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26030 variable[8] = variable[9];
26031 /* Register variable[9]: Local variable */
26032 /* Register variable[10]: Result */
26033 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26034 variable[9] = variable[10];
26035 /* Register variable[10]: Local variable */
26036 /* Register variable[11]: Result */
26037 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26038 variable[10] = variable[11];
26039 /* Register variable[11]: Local variable */
26040 /* Register variable[12]: Result */
26041 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26042 variable[11] = variable[12];
26043 /* Register variable[12]: Local variable */
26044 variable[12] = variable[11] /*nodearraylist1*/;
26045 /* Register variable[13]: Result */
26046 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26047 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10506); nit_exit(1);}
26048 /* Register variable[13]: Local variable */
26049 variable[13] = variable[10] /*nodearraylist2*/;
26050 /* Register variable[14]: Result */
26051 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26052 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10508); nit_exit(1);}
26053 /* Register variable[14]: Local variable */
26054 variable[14] = variable[9] /*nodearraylist3*/;
26055 /* Register variable[15]: Result */
26056 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26057 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10510); nit_exit(1);}
26058 /* Register variable[15]: Local variable */
26059 /* Register variable[16]: Result */
26060 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[13] /*tkwredefnode4*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
26061 variable[15] = variable[16];
26062 /* Register variable[16]: Local variable */
26063 variable[16] = variable[8] /*nodearraylist4*/;
26064 /* Register variable[17]: Result */
26065 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26066 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10516); nit_exit(1);}
26067 /* Register variable[17]: Local variable */
26068 variable[17] = variable[7] /*nodearraylist5*/;
26069 /* Register variable[18]: Result */
26070 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26071 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10518); nit_exit(1);}
26072 /* Register variable[18]: Local variable */
26073 variable[18] = variable[6] /*nodearraylist6*/;
26074 /* Register variable[19]: Result */
26075 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26076 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10520); nit_exit(1);}
26077 /* Register variable[19]: Local variable */
26078 variable[19] = variable[5] /*nodearraylist7*/;
26079 /* Register variable[20]: Result */
26080 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26081 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10522); nit_exit(1);}
26082 /* Register variable[20]: Local variable */
26083 variable[20] = variable[4] /*nodearraylist8*/;
26084 /* Register variable[21]: Result */
26085 variable[21] = TAG_Bool(( variable[20] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
26086 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction206___action, LOCATE_parser, 10524); nit_exit(1);}
26087 /* Register variable[21]: Local variable */
26088 /* Register variable[22]: Result */
26089 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, variable[20] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
26090 variable[21] = variable[22];
26091 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
26092 /* Register variable[22]: Result */
26093 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26094 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
26095 return_label444: while(false);
26096 tracehead = trace.prev;
26097 return;
26098 }
26099 void parser___ReduceAction206___init(val_t self, int* init_table) {
26100 struct trace_t trace = {NULL, NULL, 10540, LOCATE_parser___ReduceAction206___init};
26101 val_t variable[2];
26102 struct WBT_ **closurevariable = NULL;
26103 trace.prev = tracehead; tracehead = &trace;
26104 trace.file = LOCATE_parser;
26105 /* Register variable[0]: Local variable */
26106 variable[0] = self;
26107 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction206].i]) return;
26108 /* Register variable[1]: Method return value and escape marker */
26109 return_label445: while(false);
26110 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction206].i] = 1;
26111 tracehead = trace.prev;
26112 return;
26113 }
26114 void parser___ReduceAction207___action(val_t self, val_t param0) {
26115 struct trace_t trace = {NULL, NULL, 10544, LOCATE_parser___ReduceAction207___action};
26116 val_t variable[21];
26117 struct WBT_ **closurevariable = NULL;
26118 trace.prev = tracehead; tracehead = &trace;
26119 trace.file = LOCATE_parser;
26120 /* Register variable[0]: Local variable */
26121 variable[0] = self;
26122 /* Register variable[1]: Local variable */
26123 variable[1] = param0;
26124 /* Register variable[2]: Method return value and escape marker */
26125 /* Register variable[3]: Local variable */
26126 variable[3] = NIT_NULL /*null*/;
26127 /* Register variable[4]: Local variable */
26128 /* Register variable[5]: Result */
26129 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26130 variable[4] = variable[5];
26131 /* Register variable[5]: Local variable */
26132 /* Register variable[6]: Result */
26133 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26134 variable[5] = variable[6];
26135 /* Register variable[6]: Local variable */
26136 /* Register variable[7]: Result */
26137 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26138 variable[6] = variable[7];
26139 /* Register variable[7]: Local variable */
26140 /* Register variable[8]: Result */
26141 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26142 variable[7] = variable[8];
26143 /* Register variable[8]: Local variable */
26144 /* Register variable[9]: Result */
26145 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26146 variable[8] = variable[9];
26147 /* Register variable[9]: Local variable */
26148 /* Register variable[10]: Result */
26149 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26150 variable[9] = variable[10];
26151 /* Register variable[10]: Local variable */
26152 /* Register variable[11]: Result */
26153 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26154 variable[10] = variable[11];
26155 /* Register variable[11]: Local variable */
26156 variable[11] = variable[10] /*nodearraylist1*/;
26157 /* Register variable[12]: Result */
26158 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26159 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10555); nit_exit(1);}
26160 /* Register variable[12]: Local variable */
26161 variable[12] = variable[9] /*nodearraylist2*/;
26162 /* Register variable[13]: Result */
26163 variable[13] = TAG_Bool(( variable[12] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26164 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10557); nit_exit(1);}
26165 /* Register variable[13]: Local variable */
26166 /* Register variable[14]: Result */
26167 variable[14] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[12] /*tkwwritablenode6*/) /*new AWriteAble*/;
26168 variable[13] = variable[14];
26169 /* Register variable[14]: Local variable */
26170 variable[14] = variable[8] /*nodearraylist3*/;
26171 /* Register variable[15]: Result */
26172 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26173 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10563); nit_exit(1);}
26174 /* Register variable[15]: Local variable */
26175 variable[15] = variable[7] /*nodearraylist4*/;
26176 /* Register variable[16]: Result */
26177 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26178 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10565); nit_exit(1);}
26179 /* Register variable[16]: Local variable */
26180 variable[16] = variable[6] /*nodearraylist5*/;
26181 /* Register variable[17]: Result */
26182 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26183 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10567); nit_exit(1);}
26184 /* Register variable[17]: Local variable */
26185 variable[17] = variable[5] /*nodearraylist6*/;
26186 /* Register variable[18]: Result */
26187 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26188 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10569); nit_exit(1);}
26189 /* Register variable[18]: Local variable */
26190 variable[18] = variable[4] /*nodearraylist7*/;
26191 /* Register variable[19]: Result */
26192 variable[19] = TAG_Bool(( variable[18] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
26193 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction207___action, LOCATE_parser, 10571); nit_exit(1);}
26194 /* Register variable[19]: Local variable */
26195 /* Register variable[20]: Result */
26196 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, variable[13] /*pablenode4*/, variable[14] /*tkwredefnode7*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, variable[18] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
26197 variable[19] = variable[20];
26198 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
26199 /* Register variable[20]: Result */
26200 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26201 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
26202 return_label446: while(false);
26203 tracehead = trace.prev;
26204 return;
26205 }
26206 void parser___ReduceAction207___init(val_t self, int* init_table) {
26207 struct trace_t trace = {NULL, NULL, 10587, LOCATE_parser___ReduceAction207___init};
26208 val_t variable[2];
26209 struct WBT_ **closurevariable = NULL;
26210 trace.prev = tracehead; tracehead = &trace;
26211 trace.file = LOCATE_parser;
26212 /* Register variable[0]: Local variable */
26213 variable[0] = self;
26214 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction207].i]) return;
26215 /* Register variable[1]: Method return value and escape marker */
26216 return_label447: while(false);
26217 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction207].i] = 1;
26218 tracehead = trace.prev;
26219 return;
26220 }
26221 void parser___ReduceAction208___action(val_t self, val_t param0) {
26222 struct trace_t trace = {NULL, NULL, 10591, LOCATE_parser___ReduceAction208___action};
26223 val_t variable[23];
26224 struct WBT_ **closurevariable = NULL;
26225 trace.prev = tracehead; tracehead = &trace;
26226 trace.file = LOCATE_parser;
26227 /* Register variable[0]: Local variable */
26228 variable[0] = self;
26229 /* Register variable[1]: Local variable */
26230 variable[1] = param0;
26231 /* Register variable[2]: Method return value and escape marker */
26232 /* Register variable[3]: Local variable */
26233 variable[3] = NIT_NULL /*null*/;
26234 /* Register variable[4]: Local variable */
26235 /* Register variable[5]: Result */
26236 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26237 variable[4] = variable[5];
26238 /* Register variable[5]: Local variable */
26239 /* Register variable[6]: Result */
26240 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26241 variable[5] = variable[6];
26242 /* Register variable[6]: Local variable */
26243 /* Register variable[7]: Result */
26244 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26245 variable[6] = variable[7];
26246 /* Register variable[7]: Local variable */
26247 /* Register variable[8]: Result */
26248 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26249 variable[7] = variable[8];
26250 /* Register variable[8]: Local variable */
26251 /* Register variable[9]: Result */
26252 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26253 variable[8] = variable[9];
26254 /* Register variable[9]: Local variable */
26255 /* Register variable[10]: Result */
26256 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26257 variable[9] = variable[10];
26258 /* Register variable[10]: Local variable */
26259 /* Register variable[11]: Result */
26260 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26261 variable[10] = variable[11];
26262 /* Register variable[11]: Local variable */
26263 /* Register variable[12]: Result */
26264 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26265 variable[11] = variable[12];
26266 /* Register variable[12]: Local variable */
26267 variable[12] = variable[11] /*nodearraylist1*/;
26268 /* Register variable[13]: Result */
26269 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26270 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10603); nit_exit(1);}
26271 /* Register variable[13]: Local variable */
26272 variable[13] = variable[10] /*nodearraylist2*/;
26273 /* Register variable[14]: Result */
26274 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26275 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10605); nit_exit(1);}
26276 /* Register variable[14]: Local variable */
26277 variable[14] = variable[9] /*nodearraylist3*/;
26278 /* Register variable[15]: Result */
26279 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26280 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10607); nit_exit(1);}
26281 /* Register variable[15]: Local variable */
26282 /* Register variable[16]: Result */
26283 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[13] /*tkwredefnode5*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
26284 variable[15] = variable[16];
26285 /* Register variable[16]: Local variable */
26286 variable[16] = variable[8] /*nodearraylist4*/;
26287 /* Register variable[17]: Result */
26288 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26289 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10613); nit_exit(1);}
26290 /* Register variable[17]: Local variable */
26291 variable[17] = variable[7] /*nodearraylist5*/;
26292 /* Register variable[18]: Result */
26293 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26294 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10615); nit_exit(1);}
26295 /* Register variable[18]: Local variable */
26296 variable[18] = variable[6] /*nodearraylist6*/;
26297 /* Register variable[19]: Result */
26298 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26299 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10617); nit_exit(1);}
26300 /* Register variable[19]: Local variable */
26301 variable[19] = variable[5] /*nodearraylist7*/;
26302 /* Register variable[20]: Result */
26303 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26304 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10619); nit_exit(1);}
26305 /* Register variable[20]: Local variable */
26306 variable[20] = variable[4] /*nodearraylist8*/;
26307 /* Register variable[21]: Result */
26308 variable[21] = TAG_Bool(( variable[20] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[20] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
26309 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction208___action, LOCATE_parser, 10621); nit_exit(1);}
26310 /* Register variable[21]: Local variable */
26311 /* Register variable[22]: Result */
26312 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, variable[20] /*ptypenode12*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
26313 variable[21] = variable[22];
26314 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
26315 /* Register variable[22]: Result */
26316 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26317 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
26318 return_label448: while(false);
26319 tracehead = trace.prev;
26320 return;
26321 }
26322 void parser___ReduceAction208___init(val_t self, int* init_table) {
26323 struct trace_t trace = {NULL, NULL, 10637, LOCATE_parser___ReduceAction208___init};
26324 val_t variable[2];
26325 struct WBT_ **closurevariable = NULL;
26326 trace.prev = tracehead; tracehead = &trace;
26327 trace.file = LOCATE_parser;
26328 /* Register variable[0]: Local variable */
26329 variable[0] = self;
26330 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction208].i]) return;
26331 /* Register variable[1]: Method return value and escape marker */
26332 return_label449: while(false);
26333 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction208].i] = 1;
26334 tracehead = trace.prev;
26335 return;
26336 }
26337 void parser___ReduceAction209___action(val_t self, val_t param0) {
26338 struct trace_t trace = {NULL, NULL, 10641, LOCATE_parser___ReduceAction209___action};
26339 val_t variable[18];
26340 struct WBT_ **closurevariable = NULL;
26341 trace.prev = tracehead; tracehead = &trace;
26342 trace.file = LOCATE_parser;
26343 /* Register variable[0]: Local variable */
26344 variable[0] = self;
26345 /* Register variable[1]: Local variable */
26346 variable[1] = param0;
26347 /* Register variable[2]: Method return value and escape marker */
26348 /* Register variable[3]: Local variable */
26349 variable[3] = NIT_NULL /*null*/;
26350 /* Register variable[4]: Local variable */
26351 /* Register variable[5]: Result */
26352 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26353 variable[4] = variable[5];
26354 /* Register variable[5]: Local variable */
26355 /* Register variable[6]: Result */
26356 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26357 variable[5] = variable[6];
26358 /* Register variable[6]: Local variable */
26359 /* Register variable[7]: Result */
26360 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26361 variable[6] = variable[7];
26362 /* Register variable[7]: Local variable */
26363 /* Register variable[8]: Result */
26364 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26365 variable[7] = variable[8];
26366 /* Register variable[8]: Local variable */
26367 /* Register variable[9]: Result */
26368 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26369 variable[8] = variable[9];
26370 /* Register variable[9]: Local variable */
26371 /* Register variable[10]: Result */
26372 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26373 variable[9] = variable[10];
26374 /* Register variable[10]: Local variable */
26375 variable[10] = variable[9] /*nodearraylist1*/;
26376 /* Register variable[11]: Result */
26377 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26378 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10651); nit_exit(1);}
26379 /* Register variable[11]: Local variable */
26380 variable[11] = variable[8] /*nodearraylist2*/;
26381 /* Register variable[12]: Result */
26382 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26383 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10653); nit_exit(1);}
26384 /* Register variable[12]: Local variable */
26385 variable[12] = variable[7] /*nodearraylist3*/;
26386 /* Register variable[13]: Result */
26387 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26388 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10655); nit_exit(1);}
26389 /* Register variable[13]: Local variable */
26390 variable[13] = variable[6] /*nodearraylist4*/;
26391 /* Register variable[14]: Result */
26392 variable[14] = TAG_Bool(( variable[13] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26393 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10657); nit_exit(1);}
26394 /* Register variable[14]: Local variable */
26395 variable[14] = variable[5] /*nodearraylist5*/;
26396 /* Register variable[15]: Result */
26397 variable[15] = TAG_Bool(( variable[14] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26398 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10659); nit_exit(1);}
26399 /* Register variable[15]: Local variable */
26400 variable[15] = variable[4] /*nodearraylist6*/;
26401 /* Register variable[16]: Result */
26402 variable[16] = TAG_Bool(( variable[15] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
26403 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction209___action, LOCATE_parser, 10661); nit_exit(1);}
26404 /* Register variable[16]: Local variable */
26405 /* Register variable[17]: Result */
26406 variable[17] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[10] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[11] /*tkwredefnode5*/, variable[12] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[13] /*tkwvarnode8*/, variable[14] /*tattridnode9*/, variable[15] /*ptypenode10*/, NIT_NULL /*null*/) /*new AAttrPropdef*/;
26407 variable[16] = variable[17];
26408 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
26409 /* Register variable[17]: Result */
26410 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26411 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
26412 return_label450: while(false);
26413 tracehead = trace.prev;
26414 return;
26415 }
26416 void parser___ReduceAction209___init(val_t self, int* init_table) {
26417 struct trace_t trace = {NULL, NULL, 10677, LOCATE_parser___ReduceAction209___init};
26418 val_t variable[2];
26419 struct WBT_ **closurevariable = NULL;
26420 trace.prev = tracehead; tracehead = &trace;
26421 trace.file = LOCATE_parser;
26422 /* Register variable[0]: Local variable */
26423 variable[0] = self;
26424 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction209].i]) return;
26425 /* Register variable[1]: Method return value and escape marker */
26426 return_label451: while(false);
26427 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction209].i] = 1;
26428 tracehead = trace.prev;
26429 return;
26430 }
26431 void parser___ReduceAction210___action(val_t self, val_t param0) {
26432 struct trace_t trace = {NULL, NULL, 10681, LOCATE_parser___ReduceAction210___action};
26433 val_t variable[24];
26434 struct WBT_ **closurevariable = NULL;
26435 trace.prev = tracehead; tracehead = &trace;
26436 trace.file = LOCATE_parser;
26437 /* Register variable[0]: Local variable */
26438 variable[0] = self;
26439 /* Register variable[1]: Local variable */
26440 variable[1] = param0;
26441 /* Register variable[2]: Method return value and escape marker */
26442 /* Register variable[3]: Local variable */
26443 variable[3] = NIT_NULL /*null*/;
26444 /* Register variable[4]: Local variable */
26445 /* Register variable[5]: Result */
26446 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26447 variable[4] = variable[5];
26448 /* Register variable[5]: Local variable */
26449 /* Register variable[6]: Result */
26450 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26451 variable[5] = variable[6];
26452 /* Register variable[6]: Local variable */
26453 /* Register variable[7]: Result */
26454 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26455 variable[6] = variable[7];
26456 /* Register variable[7]: Local variable */
26457 /* Register variable[8]: Result */
26458 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26459 variable[7] = variable[8];
26460 /* Register variable[8]: Local variable */
26461 /* Register variable[9]: Result */
26462 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26463 variable[8] = variable[9];
26464 /* Register variable[9]: Local variable */
26465 /* Register variable[10]: Result */
26466 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26467 variable[9] = variable[10];
26468 /* Register variable[10]: Local variable */
26469 /* Register variable[11]: Result */
26470 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26471 variable[10] = variable[11];
26472 /* Register variable[11]: Local variable */
26473 /* Register variable[12]: Result */
26474 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26475 variable[11] = variable[12];
26476 /* Register variable[12]: Local variable */
26477 /* Register variable[13]: Result */
26478 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26479 variable[12] = variable[13];
26480 /* Register variable[13]: Local variable */
26481 variable[13] = variable[12] /*nodearraylist1*/;
26482 /* Register variable[14]: Result */
26483 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26484 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10694); nit_exit(1);}
26485 /* Register variable[14]: Local variable */
26486 variable[14] = variable[11] /*nodearraylist2*/;
26487 /* Register variable[15]: Result */
26488 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26489 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10696); nit_exit(1);}
26490 /* Register variable[15]: Local variable */
26491 /* Register variable[16]: Result */
26492 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
26493 variable[15] = variable[16];
26494 /* Register variable[16]: Local variable */
26495 variable[16] = variable[10] /*nodearraylist3*/;
26496 /* Register variable[17]: Result */
26497 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26498 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10702); nit_exit(1);}
26499 /* Register variable[17]: Local variable */
26500 /* Register variable[18]: Result */
26501 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[16] /*tkwwritablenode8*/) /*new AWriteAble*/;
26502 variable[17] = variable[18];
26503 /* Register variable[18]: Local variable */
26504 variable[18] = variable[9] /*nodearraylist4*/;
26505 /* Register variable[19]: Result */
26506 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26507 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10708); nit_exit(1);}
26508 /* Register variable[19]: Local variable */
26509 variable[19] = variable[8] /*nodearraylist5*/;
26510 /* Register variable[20]: Result */
26511 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26512 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10710); nit_exit(1);}
26513 /* Register variable[20]: Local variable */
26514 variable[20] = variable[7] /*nodearraylist6*/;
26515 /* Register variable[21]: Result */
26516 variable[21] = TAG_Bool(( variable[20] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26517 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10712); nit_exit(1);}
26518 /* Register variable[21]: Local variable */
26519 variable[21] = variable[4] /*nodearraylist9*/;
26520 /* Register variable[22]: Result */
26521 variable[22] = TAG_Bool(( variable[21] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[21] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26522 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction210___action, LOCATE_parser, 10714); nit_exit(1);}
26523 /* Register variable[22]: Local variable */
26524 /* Register variable[23]: Result */
26525 variable[23] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, variable[17] /*pablenode6*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode12*/, variable[20] /*tattridnode13*/, NIT_NULL /*null*/, variable[21] /*pexprnode15*/) /*new AAttrPropdef*/;
26526 variable[22] = variable[23];
26527 variable[3] = variable[22] /*ppropdefnode1*/ /*node_list=*/;
26528 /* Register variable[23]: Result */
26529 variable[23] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26530 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[23], variable[3] /*node_list*/) /*Parser::push*/;
26531 return_label452: while(false);
26532 tracehead = trace.prev;
26533 return;
26534 }
26535 void parser___ReduceAction210___init(val_t self, int* init_table) {
26536 struct trace_t trace = {NULL, NULL, 10730, LOCATE_parser___ReduceAction210___init};
26537 val_t variable[2];
26538 struct WBT_ **closurevariable = NULL;
26539 trace.prev = tracehead; tracehead = &trace;
26540 trace.file = LOCATE_parser;
26541 /* Register variable[0]: Local variable */
26542 variable[0] = self;
26543 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction210].i]) return;
26544 /* Register variable[1]: Method return value and escape marker */
26545 return_label453: while(false);
26546 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction210].i] = 1;
26547 tracehead = trace.prev;
26548 return;
26549 }
26550 void parser___ReduceAction211___action(val_t self, val_t param0) {
26551 struct trace_t trace = {NULL, NULL, 10734, LOCATE_parser___ReduceAction211___action};
26552 val_t variable[26];
26553 struct WBT_ **closurevariable = NULL;
26554 trace.prev = tracehead; tracehead = &trace;
26555 trace.file = LOCATE_parser;
26556 /* Register variable[0]: Local variable */
26557 variable[0] = self;
26558 /* Register variable[1]: Local variable */
26559 variable[1] = param0;
26560 /* Register variable[2]: Method return value and escape marker */
26561 /* Register variable[3]: Local variable */
26562 variable[3] = NIT_NULL /*null*/;
26563 /* Register variable[4]: Local variable */
26564 /* Register variable[5]: Result */
26565 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26566 variable[4] = variable[5];
26567 /* Register variable[5]: Local variable */
26568 /* Register variable[6]: Result */
26569 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26570 variable[5] = variable[6];
26571 /* Register variable[6]: Local variable */
26572 /* Register variable[7]: Result */
26573 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26574 variable[6] = variable[7];
26575 /* Register variable[7]: Local variable */
26576 /* Register variable[8]: Result */
26577 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26578 variable[7] = variable[8];
26579 /* Register variable[8]: Local variable */
26580 /* Register variable[9]: Result */
26581 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26582 variable[8] = variable[9];
26583 /* Register variable[9]: Local variable */
26584 /* Register variable[10]: Result */
26585 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26586 variable[9] = variable[10];
26587 /* Register variable[10]: Local variable */
26588 /* Register variable[11]: Result */
26589 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26590 variable[10] = variable[11];
26591 /* Register variable[11]: Local variable */
26592 /* Register variable[12]: Result */
26593 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26594 variable[11] = variable[12];
26595 /* Register variable[12]: Local variable */
26596 /* Register variable[13]: Result */
26597 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26598 variable[12] = variable[13];
26599 /* Register variable[13]: Local variable */
26600 /* Register variable[14]: Result */
26601 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26602 variable[13] = variable[14];
26603 /* Register variable[14]: Local variable */
26604 variable[14] = variable[13] /*nodearraylist1*/;
26605 /* Register variable[15]: Result */
26606 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26607 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10748); nit_exit(1);}
26608 /* Register variable[15]: Local variable */
26609 variable[15] = variable[12] /*nodearraylist2*/;
26610 /* Register variable[16]: Result */
26611 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26612 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10750); nit_exit(1);}
26613 /* Register variable[16]: Local variable */
26614 /* Register variable[17]: Result */
26615 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
26616 variable[16] = variable[17];
26617 /* Register variable[17]: Local variable */
26618 variable[17] = variable[11] /*nodearraylist3*/;
26619 /* Register variable[18]: Result */
26620 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26621 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10756); nit_exit(1);}
26622 /* Register variable[18]: Local variable */
26623 variable[18] = variable[10] /*nodearraylist4*/;
26624 /* Register variable[19]: Result */
26625 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26626 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10758); nit_exit(1);}
26627 /* Register variable[19]: Local variable */
26628 /* Register variable[20]: Result */
26629 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[17] /*tkwredefnode7*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
26630 variable[19] = variable[20];
26631 /* Register variable[20]: Local variable */
26632 variable[20] = variable[9] /*nodearraylist5*/;
26633 /* Register variable[21]: Result */
26634 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26635 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10764); nit_exit(1);}
26636 /* Register variable[21]: Local variable */
26637 variable[21] = variable[8] /*nodearraylist6*/;
26638 /* Register variable[22]: Result */
26639 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26640 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10766); nit_exit(1);}
26641 /* Register variable[22]: Local variable */
26642 variable[22] = variable[7] /*nodearraylist7*/;
26643 /* Register variable[23]: Result */
26644 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26645 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10768); nit_exit(1);}
26646 /* Register variable[23]: Local variable */
26647 variable[23] = variable[4] /*nodearraylist10*/;
26648 /* Register variable[24]: Result */
26649 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26650 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction211___action, LOCATE_parser, 10770); nit_exit(1);}
26651 /* Register variable[24]: Local variable */
26652 /* Register variable[25]: Result */
26653 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
26654 variable[24] = variable[25];
26655 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26656 /* Register variable[25]: Result */
26657 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26658 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26659 return_label454: while(false);
26660 tracehead = trace.prev;
26661 return;
26662 }
26663 void parser___ReduceAction211___init(val_t self, int* init_table) {
26664 struct trace_t trace = {NULL, NULL, 10786, LOCATE_parser___ReduceAction211___init};
26665 val_t variable[2];
26666 struct WBT_ **closurevariable = NULL;
26667 trace.prev = tracehead; tracehead = &trace;
26668 trace.file = LOCATE_parser;
26669 /* Register variable[0]: Local variable */
26670 variable[0] = self;
26671 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction211].i]) return;
26672 /* Register variable[1]: Method return value and escape marker */
26673 return_label455: while(false);
26674 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction211].i] = 1;
26675 tracehead = trace.prev;
26676 return;
26677 }
26678 void parser___ReduceAction212___action(val_t self, val_t param0) {
26679 struct trace_t trace = {NULL, NULL, 10790, LOCATE_parser___ReduceAction212___action};
26680 val_t variable[21];
26681 struct WBT_ **closurevariable = NULL;
26682 trace.prev = tracehead; tracehead = &trace;
26683 trace.file = LOCATE_parser;
26684 /* Register variable[0]: Local variable */
26685 variable[0] = self;
26686 /* Register variable[1]: Local variable */
26687 variable[1] = param0;
26688 /* Register variable[2]: Method return value and escape marker */
26689 /* Register variable[3]: Local variable */
26690 variable[3] = NIT_NULL /*null*/;
26691 /* Register variable[4]: Local variable */
26692 /* Register variable[5]: Result */
26693 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26694 variable[4] = variable[5];
26695 /* Register variable[5]: Local variable */
26696 /* Register variable[6]: Result */
26697 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26698 variable[5] = variable[6];
26699 /* Register variable[6]: Local variable */
26700 /* Register variable[7]: Result */
26701 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26702 variable[6] = variable[7];
26703 /* Register variable[7]: Local variable */
26704 /* Register variable[8]: Result */
26705 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26706 variable[7] = variable[8];
26707 /* Register variable[8]: Local variable */
26708 /* Register variable[9]: Result */
26709 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26710 variable[8] = variable[9];
26711 /* Register variable[9]: Local variable */
26712 /* Register variable[10]: Result */
26713 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26714 variable[9] = variable[10];
26715 /* Register variable[10]: Local variable */
26716 /* Register variable[11]: Result */
26717 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26718 variable[10] = variable[11];
26719 /* Register variable[11]: Local variable */
26720 /* Register variable[12]: Result */
26721 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26722 variable[11] = variable[12];
26723 /* Register variable[12]: Local variable */
26724 variable[12] = variable[11] /*nodearraylist1*/;
26725 /* Register variable[13]: Result */
26726 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26727 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10802); nit_exit(1);}
26728 /* Register variable[13]: Local variable */
26729 variable[13] = variable[10] /*nodearraylist2*/;
26730 /* Register variable[14]: Result */
26731 variable[14] = TAG_Bool(( variable[13] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26732 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10804); nit_exit(1);}
26733 /* Register variable[14]: Local variable */
26734 /* Register variable[15]: Result */
26735 variable[15] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[13] /*tkwreadablenode5*/) /*new AReadAble*/;
26736 variable[14] = variable[15];
26737 /* Register variable[15]: Local variable */
26738 variable[15] = variable[9] /*nodearraylist3*/;
26739 /* Register variable[16]: Result */
26740 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26741 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10810); nit_exit(1);}
26742 /* Register variable[16]: Local variable */
26743 variable[16] = variable[8] /*nodearraylist4*/;
26744 /* Register variable[17]: Result */
26745 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26746 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10812); nit_exit(1);}
26747 /* Register variable[17]: Local variable */
26748 variable[17] = variable[7] /*nodearraylist5*/;
26749 /* Register variable[18]: Result */
26750 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26751 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10814); nit_exit(1);}
26752 /* Register variable[18]: Local variable */
26753 variable[18] = variable[4] /*nodearraylist8*/;
26754 /* Register variable[19]: Result */
26755 variable[19] = TAG_Bool(( variable[18] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26756 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction212___action, LOCATE_parser, 10816); nit_exit(1);}
26757 /* Register variable[19]: Local variable */
26758 /* Register variable[20]: Result */
26759 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, variable[14] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, NIT_NULL /*null*/, variable[18] /*pexprnode13*/) /*new AAttrPropdef*/;
26760 variable[19] = variable[20];
26761 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
26762 /* Register variable[20]: Result */
26763 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26764 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
26765 return_label456: while(false);
26766 tracehead = trace.prev;
26767 return;
26768 }
26769 void parser___ReduceAction212___init(val_t self, int* init_table) {
26770 struct trace_t trace = {NULL, NULL, 10832, LOCATE_parser___ReduceAction212___init};
26771 val_t variable[2];
26772 struct WBT_ **closurevariable = NULL;
26773 trace.prev = tracehead; tracehead = &trace;
26774 trace.file = LOCATE_parser;
26775 /* Register variable[0]: Local variable */
26776 variable[0] = self;
26777 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction212].i]) return;
26778 /* Register variable[1]: Method return value and escape marker */
26779 return_label457: while(false);
26780 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction212].i] = 1;
26781 tracehead = trace.prev;
26782 return;
26783 }
26784 void parser___ReduceAction213___action(val_t self, val_t param0) {
26785 struct trace_t trace = {NULL, NULL, 10836, LOCATE_parser___ReduceAction213___action};
26786 val_t variable[26];
26787 struct WBT_ **closurevariable = NULL;
26788 trace.prev = tracehead; tracehead = &trace;
26789 trace.file = LOCATE_parser;
26790 /* Register variable[0]: Local variable */
26791 variable[0] = self;
26792 /* Register variable[1]: Local variable */
26793 variable[1] = param0;
26794 /* Register variable[2]: Method return value and escape marker */
26795 /* Register variable[3]: Local variable */
26796 variable[3] = NIT_NULL /*null*/;
26797 /* Register variable[4]: Local variable */
26798 /* Register variable[5]: Result */
26799 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26800 variable[4] = variable[5];
26801 /* Register variable[5]: Local variable */
26802 /* Register variable[6]: Result */
26803 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26804 variable[5] = variable[6];
26805 /* Register variable[6]: Local variable */
26806 /* Register variable[7]: Result */
26807 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26808 variable[6] = variable[7];
26809 /* Register variable[7]: Local variable */
26810 /* Register variable[8]: Result */
26811 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26812 variable[7] = variable[8];
26813 /* Register variable[8]: Local variable */
26814 /* Register variable[9]: Result */
26815 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26816 variable[8] = variable[9];
26817 /* Register variable[9]: Local variable */
26818 /* Register variable[10]: Result */
26819 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26820 variable[9] = variable[10];
26821 /* Register variable[10]: Local variable */
26822 /* Register variable[11]: Result */
26823 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26824 variable[10] = variable[11];
26825 /* Register variable[11]: Local variable */
26826 /* Register variable[12]: Result */
26827 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26828 variable[11] = variable[12];
26829 /* Register variable[12]: Local variable */
26830 /* Register variable[13]: Result */
26831 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26832 variable[12] = variable[13];
26833 /* Register variable[13]: Local variable */
26834 /* Register variable[14]: Result */
26835 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26836 variable[13] = variable[14];
26837 /* Register variable[14]: Local variable */
26838 variable[14] = variable[13] /*nodearraylist1*/;
26839 /* Register variable[15]: Result */
26840 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26841 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10850); nit_exit(1);}
26842 /* Register variable[15]: Local variable */
26843 variable[15] = variable[12] /*nodearraylist2*/;
26844 /* Register variable[16]: Result */
26845 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26846 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10852); nit_exit(1);}
26847 /* Register variable[16]: Local variable */
26848 variable[16] = variable[11] /*nodearraylist3*/;
26849 /* Register variable[17]: Result */
26850 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26851 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10854); nit_exit(1);}
26852 /* Register variable[17]: Local variable */
26853 /* Register variable[18]: Result */
26854 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
26855 variable[17] = variable[18];
26856 /* Register variable[18]: Local variable */
26857 variable[18] = variable[10] /*nodearraylist4*/;
26858 /* Register variable[19]: Result */
26859 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26860 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10860); nit_exit(1);}
26861 /* Register variable[19]: Local variable */
26862 /* Register variable[20]: Result */
26863 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
26864 variable[19] = variable[20];
26865 /* Register variable[20]: Local variable */
26866 variable[20] = variable[9] /*nodearraylist5*/;
26867 /* Register variable[21]: Result */
26868 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
26869 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10866); nit_exit(1);}
26870 /* Register variable[21]: Local variable */
26871 variable[21] = variable[8] /*nodearraylist6*/;
26872 /* Register variable[22]: Result */
26873 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
26874 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10868); nit_exit(1);}
26875 /* Register variable[22]: Local variable */
26876 variable[22] = variable[7] /*nodearraylist7*/;
26877 /* Register variable[23]: Result */
26878 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
26879 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10870); nit_exit(1);}
26880 /* Register variable[23]: Local variable */
26881 variable[23] = variable[4] /*nodearraylist10*/;
26882 /* Register variable[24]: Result */
26883 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
26884 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction213___action, LOCATE_parser, 10872); nit_exit(1);}
26885 /* Register variable[24]: Local variable */
26886 /* Register variable[25]: Result */
26887 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[19] /*pablenode6*/, NIT_NULL /*null*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
26888 variable[24] = variable[25];
26889 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
26890 /* Register variable[25]: Result */
26891 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
26892 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
26893 return_label458: while(false);
26894 tracehead = trace.prev;
26895 return;
26896 }
26897 void parser___ReduceAction213___init(val_t self, int* init_table) {
26898 struct trace_t trace = {NULL, NULL, 10888, LOCATE_parser___ReduceAction213___init};
26899 val_t variable[2];
26900 struct WBT_ **closurevariable = NULL;
26901 trace.prev = tracehead; tracehead = &trace;
26902 trace.file = LOCATE_parser;
26903 /* Register variable[0]: Local variable */
26904 variable[0] = self;
26905 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction213].i]) return;
26906 /* Register variable[1]: Method return value and escape marker */
26907 return_label459: while(false);
26908 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction213].i] = 1;
26909 tracehead = trace.prev;
26910 return;
26911 }
26912 void parser___ReduceAction214___action(val_t self, val_t param0) {
26913 struct trace_t trace = {NULL, NULL, 10892, LOCATE_parser___ReduceAction214___action};
26914 val_t variable[28];
26915 struct WBT_ **closurevariable = NULL;
26916 trace.prev = tracehead; tracehead = &trace;
26917 trace.file = LOCATE_parser;
26918 /* Register variable[0]: Local variable */
26919 variable[0] = self;
26920 /* Register variable[1]: Local variable */
26921 variable[1] = param0;
26922 /* Register variable[2]: Method return value and escape marker */
26923 /* Register variable[3]: Local variable */
26924 variable[3] = NIT_NULL /*null*/;
26925 /* Register variable[4]: Local variable */
26926 /* Register variable[5]: Result */
26927 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26928 variable[4] = variable[5];
26929 /* Register variable[5]: Local variable */
26930 /* Register variable[6]: Result */
26931 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26932 variable[5] = variable[6];
26933 /* Register variable[6]: Local variable */
26934 /* Register variable[7]: Result */
26935 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26936 variable[6] = variable[7];
26937 /* Register variable[7]: Local variable */
26938 /* Register variable[8]: Result */
26939 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26940 variable[7] = variable[8];
26941 /* Register variable[8]: Local variable */
26942 /* Register variable[9]: Result */
26943 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26944 variable[8] = variable[9];
26945 /* Register variable[9]: Local variable */
26946 /* Register variable[10]: Result */
26947 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26948 variable[9] = variable[10];
26949 /* Register variable[10]: Local variable */
26950 /* Register variable[11]: Result */
26951 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26952 variable[10] = variable[11];
26953 /* Register variable[11]: Local variable */
26954 /* Register variable[12]: Result */
26955 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26956 variable[11] = variable[12];
26957 /* Register variable[12]: Local variable */
26958 /* Register variable[13]: Result */
26959 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26960 variable[12] = variable[13];
26961 /* Register variable[13]: Local variable */
26962 /* Register variable[14]: Result */
26963 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26964 variable[13] = variable[14];
26965 /* Register variable[14]: Local variable */
26966 /* Register variable[15]: Result */
26967 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
26968 variable[14] = variable[15];
26969 /* Register variable[15]: Local variable */
26970 variable[15] = variable[14] /*nodearraylist1*/;
26971 /* Register variable[16]: Result */
26972 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
26973 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10907); nit_exit(1);}
26974 /* Register variable[16]: Local variable */
26975 variable[16] = variable[13] /*nodearraylist2*/;
26976 /* Register variable[17]: Result */
26977 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26978 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10909); nit_exit(1);}
26979 /* Register variable[17]: Local variable */
26980 variable[17] = variable[12] /*nodearraylist3*/;
26981 /* Register variable[18]: Result */
26982 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
26983 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10911); nit_exit(1);}
26984 /* Register variable[18]: Local variable */
26985 /* Register variable[19]: Result */
26986 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
26987 variable[18] = variable[19];
26988 /* Register variable[19]: Local variable */
26989 variable[19] = variable[11] /*nodearraylist4*/;
26990 /* Register variable[20]: Result */
26991 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
26992 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10917); nit_exit(1);}
26993 /* Register variable[20]: Local variable */
26994 variable[20] = variable[10] /*nodearraylist5*/;
26995 /* Register variable[21]: Result */
26996 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
26997 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10919); nit_exit(1);}
26998 /* Register variable[21]: Local variable */
26999 /* Register variable[22]: Result */
27000 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
27001 variable[21] = variable[22];
27002 /* Register variable[22]: Local variable */
27003 variable[22] = variable[9] /*nodearraylist6*/;
27004 /* Register variable[23]: Result */
27005 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27006 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10925); nit_exit(1);}
27007 /* Register variable[23]: Local variable */
27008 variable[23] = variable[8] /*nodearraylist7*/;
27009 /* Register variable[24]: Result */
27010 variable[24] = TAG_Bool(( variable[23] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27011 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10927); nit_exit(1);}
27012 /* Register variable[24]: Local variable */
27013 variable[24] = variable[7] /*nodearraylist8*/;
27014 /* Register variable[25]: Result */
27015 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27016 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10929); nit_exit(1);}
27017 /* Register variable[25]: Local variable */
27018 variable[25] = variable[4] /*nodearraylist11*/;
27019 /* Register variable[26]: Result */
27020 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27021 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction214___action, LOCATE_parser, 10931); nit_exit(1);}
27022 /* Register variable[26]: Local variable */
27023 /* Register variable[27]: Result */
27024 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[21] /*pablenode6*/, NIT_NULL /*null*/, variable[22] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[23] /*tkwvarnode12*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
27025 variable[26] = variable[27];
27026 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27027 /* Register variable[27]: Result */
27028 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27029 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27030 return_label460: while(false);
27031 tracehead = trace.prev;
27032 return;
27033 }
27034 void parser___ReduceAction214___init(val_t self, int* init_table) {
27035 struct trace_t trace = {NULL, NULL, 10947, LOCATE_parser___ReduceAction214___init};
27036 val_t variable[2];
27037 struct WBT_ **closurevariable = NULL;
27038 trace.prev = tracehead; tracehead = &trace;
27039 trace.file = LOCATE_parser;
27040 /* Register variable[0]: Local variable */
27041 variable[0] = self;
27042 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction214].i]) return;
27043 /* Register variable[1]: Method return value and escape marker */
27044 return_label461: while(false);
27045 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction214].i] = 1;
27046 tracehead = trace.prev;
27047 return;
27048 }
27049 void parser___ReduceAction215___action(val_t self, val_t param0) {
27050 struct trace_t trace = {NULL, NULL, 10951, LOCATE_parser___ReduceAction215___action};
27051 val_t variable[23];
27052 struct WBT_ **closurevariable = NULL;
27053 trace.prev = tracehead; tracehead = &trace;
27054 trace.file = LOCATE_parser;
27055 /* Register variable[0]: Local variable */
27056 variable[0] = self;
27057 /* Register variable[1]: Local variable */
27058 variable[1] = param0;
27059 /* Register variable[2]: Method return value and escape marker */
27060 /* Register variable[3]: Local variable */
27061 variable[3] = NIT_NULL /*null*/;
27062 /* Register variable[4]: Local variable */
27063 /* Register variable[5]: Result */
27064 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27065 variable[4] = variable[5];
27066 /* Register variable[5]: Local variable */
27067 /* Register variable[6]: Result */
27068 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27069 variable[5] = variable[6];
27070 /* Register variable[6]: Local variable */
27071 /* Register variable[7]: Result */
27072 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27073 variable[6] = variable[7];
27074 /* Register variable[7]: Local variable */
27075 /* Register variable[8]: Result */
27076 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27077 variable[7] = variable[8];
27078 /* Register variable[8]: Local variable */
27079 /* Register variable[9]: Result */
27080 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27081 variable[8] = variable[9];
27082 /* Register variable[9]: Local variable */
27083 /* Register variable[10]: Result */
27084 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27085 variable[9] = variable[10];
27086 /* Register variable[10]: Local variable */
27087 /* Register variable[11]: Result */
27088 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27089 variable[10] = variable[11];
27090 /* Register variable[11]: Local variable */
27091 /* Register variable[12]: Result */
27092 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27093 variable[11] = variable[12];
27094 /* Register variable[12]: Local variable */
27095 /* Register variable[13]: Result */
27096 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27097 variable[12] = variable[13];
27098 /* Register variable[13]: Local variable */
27099 variable[13] = variable[12] /*nodearraylist1*/;
27100 /* Register variable[14]: Result */
27101 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27102 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10964); nit_exit(1);}
27103 /* Register variable[14]: Local variable */
27104 variable[14] = variable[11] /*nodearraylist2*/;
27105 /* Register variable[15]: Result */
27106 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27107 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10966); nit_exit(1);}
27108 /* Register variable[15]: Local variable */
27109 variable[15] = variable[10] /*nodearraylist3*/;
27110 /* Register variable[16]: Result */
27111 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
27112 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10968); nit_exit(1);}
27113 /* Register variable[16]: Local variable */
27114 /* Register variable[17]: Result */
27115 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[14] /*tkwredefnode4*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
27116 variable[16] = variable[17];
27117 /* Register variable[17]: Local variable */
27118 variable[17] = variable[9] /*nodearraylist4*/;
27119 /* Register variable[18]: Result */
27120 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27121 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10974); nit_exit(1);}
27122 /* Register variable[18]: Local variable */
27123 variable[18] = variable[8] /*nodearraylist5*/;
27124 /* Register variable[19]: Result */
27125 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27126 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10976); nit_exit(1);}
27127 /* Register variable[19]: Local variable */
27128 variable[19] = variable[7] /*nodearraylist6*/;
27129 /* Register variable[20]: Result */
27130 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27131 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10978); nit_exit(1);}
27132 /* Register variable[20]: Local variable */
27133 variable[20] = variable[4] /*nodearraylist9*/;
27134 /* Register variable[21]: Result */
27135 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27136 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction215___action, LOCATE_parser, 10980); nit_exit(1);}
27137 /* Register variable[21]: Local variable */
27138 /* Register variable[22]: Result */
27139 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[16] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
27140 variable[21] = variable[22];
27141 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
27142 /* Register variable[22]: Result */
27143 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27144 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
27145 return_label462: while(false);
27146 tracehead = trace.prev;
27147 return;
27148 }
27149 void parser___ReduceAction215___init(val_t self, int* init_table) {
27150 struct trace_t trace = {NULL, NULL, 10996, LOCATE_parser___ReduceAction215___init};
27151 val_t variable[2];
27152 struct WBT_ **closurevariable = NULL;
27153 trace.prev = tracehead; tracehead = &trace;
27154 trace.file = LOCATE_parser;
27155 /* Register variable[0]: Local variable */
27156 variable[0] = self;
27157 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction215].i]) return;
27158 /* Register variable[1]: Method return value and escape marker */
27159 return_label463: while(false);
27160 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction215].i] = 1;
27161 tracehead = trace.prev;
27162 return;
27163 }
27164 void parser___ReduceAction216___action(val_t self, val_t param0) {
27165 struct trace_t trace = {NULL, NULL, 11000, LOCATE_parser___ReduceAction216___action};
27166 val_t variable[21];
27167 struct WBT_ **closurevariable = NULL;
27168 trace.prev = tracehead; tracehead = &trace;
27169 trace.file = LOCATE_parser;
27170 /* Register variable[0]: Local variable */
27171 variable[0] = self;
27172 /* Register variable[1]: Local variable */
27173 variable[1] = param0;
27174 /* Register variable[2]: Method return value and escape marker */
27175 /* Register variable[3]: Local variable */
27176 variable[3] = NIT_NULL /*null*/;
27177 /* Register variable[4]: Local variable */
27178 /* Register variable[5]: Result */
27179 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27180 variable[4] = variable[5];
27181 /* Register variable[5]: Local variable */
27182 /* Register variable[6]: Result */
27183 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27184 variable[5] = variable[6];
27185 /* Register variable[6]: Local variable */
27186 /* Register variable[7]: Result */
27187 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27188 variable[6] = variable[7];
27189 /* Register variable[7]: Local variable */
27190 /* Register variable[8]: Result */
27191 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27192 variable[7] = variable[8];
27193 /* Register variable[8]: Local variable */
27194 /* Register variable[9]: Result */
27195 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27196 variable[8] = variable[9];
27197 /* Register variable[9]: Local variable */
27198 /* Register variable[10]: Result */
27199 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27200 variable[9] = variable[10];
27201 /* Register variable[10]: Local variable */
27202 /* Register variable[11]: Result */
27203 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27204 variable[10] = variable[11];
27205 /* Register variable[11]: Local variable */
27206 /* Register variable[12]: Result */
27207 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27208 variable[11] = variable[12];
27209 /* Register variable[12]: Local variable */
27210 variable[12] = variable[11] /*nodearraylist1*/;
27211 /* Register variable[13]: Result */
27212 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27213 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11012); nit_exit(1);}
27214 /* Register variable[13]: Local variable */
27215 variable[13] = variable[10] /*nodearraylist2*/;
27216 /* Register variable[14]: Result */
27217 variable[14] = TAG_Bool(( variable[13] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
27218 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11014); nit_exit(1);}
27219 /* Register variable[14]: Local variable */
27220 /* Register variable[15]: Result */
27221 variable[15] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[13] /*tkwwritablenode6*/) /*new AWriteAble*/;
27222 variable[14] = variable[15];
27223 /* Register variable[15]: Local variable */
27224 variable[15] = variable[9] /*nodearraylist3*/;
27225 /* Register variable[16]: Result */
27226 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27227 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11020); nit_exit(1);}
27228 /* Register variable[16]: Local variable */
27229 variable[16] = variable[8] /*nodearraylist4*/;
27230 /* Register variable[17]: Result */
27231 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27232 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11022); nit_exit(1);}
27233 /* Register variable[17]: Local variable */
27234 variable[17] = variable[7] /*nodearraylist5*/;
27235 /* Register variable[18]: Result */
27236 variable[18] = TAG_Bool(( variable[17] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27237 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11024); nit_exit(1);}
27238 /* Register variable[18]: Local variable */
27239 variable[18] = variable[4] /*nodearraylist8*/;
27240 /* Register variable[19]: Result */
27241 variable[19] = TAG_Bool(( variable[18] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27242 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction216___action, LOCATE_parser, 11026); nit_exit(1);}
27243 /* Register variable[19]: Local variable */
27244 /* Register variable[20]: Result */
27245 variable[20] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, variable[14] /*pablenode4*/, NIT_NULL /*null*/, variable[15] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode10*/, variable[17] /*tattridnode11*/, NIT_NULL /*null*/, variable[18] /*pexprnode13*/) /*new AAttrPropdef*/;
27246 variable[19] = variable[20];
27247 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
27248 /* Register variable[20]: Result */
27249 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27250 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
27251 return_label464: while(false);
27252 tracehead = trace.prev;
27253 return;
27254 }
27255 void parser___ReduceAction216___init(val_t self, int* init_table) {
27256 struct trace_t trace = {NULL, NULL, 11042, LOCATE_parser___ReduceAction216___init};
27257 val_t variable[2];
27258 struct WBT_ **closurevariable = NULL;
27259 trace.prev = tracehead; tracehead = &trace;
27260 trace.file = LOCATE_parser;
27261 /* Register variable[0]: Local variable */
27262 variable[0] = self;
27263 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction216].i]) return;
27264 /* Register variable[1]: Method return value and escape marker */
27265 return_label465: while(false);
27266 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction216].i] = 1;
27267 tracehead = trace.prev;
27268 return;
27269 }
27270 void parser___ReduceAction217___action(val_t self, val_t param0) {
27271 struct trace_t trace = {NULL, NULL, 11046, LOCATE_parser___ReduceAction217___action};
27272 val_t variable[23];
27273 struct WBT_ **closurevariable = NULL;
27274 trace.prev = tracehead; tracehead = &trace;
27275 trace.file = LOCATE_parser;
27276 /* Register variable[0]: Local variable */
27277 variable[0] = self;
27278 /* Register variable[1]: Local variable */
27279 variable[1] = param0;
27280 /* Register variable[2]: Method return value and escape marker */
27281 /* Register variable[3]: Local variable */
27282 variable[3] = NIT_NULL /*null*/;
27283 /* Register variable[4]: Local variable */
27284 /* Register variable[5]: Result */
27285 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27286 variable[4] = variable[5];
27287 /* Register variable[5]: Local variable */
27288 /* Register variable[6]: Result */
27289 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27290 variable[5] = variable[6];
27291 /* Register variable[6]: Local variable */
27292 /* Register variable[7]: Result */
27293 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27294 variable[6] = variable[7];
27295 /* Register variable[7]: Local variable */
27296 /* Register variable[8]: Result */
27297 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27298 variable[7] = variable[8];
27299 /* Register variable[8]: Local variable */
27300 /* Register variable[9]: Result */
27301 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27302 variable[8] = variable[9];
27303 /* Register variable[9]: Local variable */
27304 /* Register variable[10]: Result */
27305 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27306 variable[9] = variable[10];
27307 /* Register variable[10]: Local variable */
27308 /* Register variable[11]: Result */
27309 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27310 variable[10] = variable[11];
27311 /* Register variable[11]: Local variable */
27312 /* Register variable[12]: Result */
27313 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27314 variable[11] = variable[12];
27315 /* Register variable[12]: Local variable */
27316 /* Register variable[13]: Result */
27317 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27318 variable[12] = variable[13];
27319 /* Register variable[13]: Local variable */
27320 variable[13] = variable[12] /*nodearraylist1*/;
27321 /* Register variable[14]: Result */
27322 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27323 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11059); nit_exit(1);}
27324 /* Register variable[14]: Local variable */
27325 variable[14] = variable[11] /*nodearraylist2*/;
27326 /* Register variable[15]: Result */
27327 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27328 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11061); nit_exit(1);}
27329 /* Register variable[15]: Local variable */
27330 variable[15] = variable[10] /*nodearraylist3*/;
27331 /* Register variable[16]: Result */
27332 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
27333 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11063); nit_exit(1);}
27334 /* Register variable[16]: Local variable */
27335 /* Register variable[17]: Result */
27336 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[14] /*tkwredefnode5*/, variable[15] /*tkwwritablenode6*/) /*new AWriteAble*/;
27337 variable[16] = variable[17];
27338 /* Register variable[17]: Local variable */
27339 variable[17] = variable[9] /*nodearraylist4*/;
27340 /* Register variable[18]: Result */
27341 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27342 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11069); nit_exit(1);}
27343 /* Register variable[18]: Local variable */
27344 variable[18] = variable[8] /*nodearraylist5*/;
27345 /* Register variable[19]: Result */
27346 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27347 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11071); nit_exit(1);}
27348 /* Register variable[19]: Local variable */
27349 variable[19] = variable[7] /*nodearraylist6*/;
27350 /* Register variable[20]: Result */
27351 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27352 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11073); nit_exit(1);}
27353 /* Register variable[20]: Local variable */
27354 variable[20] = variable[4] /*nodearraylist9*/;
27355 /* Register variable[21]: Result */
27356 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27357 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction217___action, LOCATE_parser, 11075); nit_exit(1);}
27358 /* Register variable[21]: Local variable */
27359 /* Register variable[22]: Result */
27360 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pablenode4*/, NIT_NULL /*null*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
27361 variable[21] = variable[22];
27362 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
27363 /* Register variable[22]: Result */
27364 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27365 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
27366 return_label466: while(false);
27367 tracehead = trace.prev;
27368 return;
27369 }
27370 void parser___ReduceAction217___init(val_t self, int* init_table) {
27371 struct trace_t trace = {NULL, NULL, 11091, LOCATE_parser___ReduceAction217___init};
27372 val_t variable[2];
27373 struct WBT_ **closurevariable = NULL;
27374 trace.prev = tracehead; tracehead = &trace;
27375 trace.file = LOCATE_parser;
27376 /* Register variable[0]: Local variable */
27377 variable[0] = self;
27378 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction217].i]) return;
27379 /* Register variable[1]: Method return value and escape marker */
27380 return_label467: while(false);
27381 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction217].i] = 1;
27382 tracehead = trace.prev;
27383 return;
27384 }
27385 void parser___ReduceAction218___action(val_t self, val_t param0) {
27386 struct trace_t trace = {NULL, NULL, 11095, LOCATE_parser___ReduceAction218___action};
27387 val_t variable[18];
27388 struct WBT_ **closurevariable = NULL;
27389 trace.prev = tracehead; tracehead = &trace;
27390 trace.file = LOCATE_parser;
27391 /* Register variable[0]: Local variable */
27392 variable[0] = self;
27393 /* Register variable[1]: Local variable */
27394 variable[1] = param0;
27395 /* Register variable[2]: Method return value and escape marker */
27396 /* Register variable[3]: Local variable */
27397 variable[3] = NIT_NULL /*null*/;
27398 /* Register variable[4]: Local variable */
27399 /* Register variable[5]: Result */
27400 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27401 variable[4] = variable[5];
27402 /* Register variable[5]: Local variable */
27403 /* Register variable[6]: Result */
27404 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27405 variable[5] = variable[6];
27406 /* Register variable[6]: Local variable */
27407 /* Register variable[7]: Result */
27408 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27409 variable[6] = variable[7];
27410 /* Register variable[7]: Local variable */
27411 /* Register variable[8]: Result */
27412 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27413 variable[7] = variable[8];
27414 /* Register variable[8]: Local variable */
27415 /* Register variable[9]: Result */
27416 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27417 variable[8] = variable[9];
27418 /* Register variable[9]: Local variable */
27419 /* Register variable[10]: Result */
27420 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27421 variable[9] = variable[10];
27422 /* Register variable[10]: Local variable */
27423 /* Register variable[11]: Result */
27424 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27425 variable[10] = variable[11];
27426 /* Register variable[11]: Local variable */
27427 variable[11] = variable[10] /*nodearraylist1*/;
27428 /* Register variable[12]: Result */
27429 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27430 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11106); nit_exit(1);}
27431 /* Register variable[12]: Local variable */
27432 variable[12] = variable[9] /*nodearraylist2*/;
27433 /* Register variable[13]: Result */
27434 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27435 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11108); nit_exit(1);}
27436 /* Register variable[13]: Local variable */
27437 variable[13] = variable[8] /*nodearraylist3*/;
27438 /* Register variable[14]: Result */
27439 variable[14] = TAG_Bool(( variable[13] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27440 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11110); nit_exit(1);}
27441 /* Register variable[14]: Local variable */
27442 variable[14] = variable[7] /*nodearraylist4*/;
27443 /* Register variable[15]: Result */
27444 variable[15] = TAG_Bool(( variable[14] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[14] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27445 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11112); nit_exit(1);}
27446 /* Register variable[15]: Local variable */
27447 variable[15] = variable[4] /*nodearraylist7*/;
27448 /* Register variable[16]: Result */
27449 variable[16] = TAG_Bool(( variable[15] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27450 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction218___action, LOCATE_parser, 11114); nit_exit(1);}
27451 /* Register variable[16]: Local variable */
27452 /* Register variable[17]: Result */
27453 variable[17] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[11] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[12] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[13] /*tkwvarnode8*/, variable[14] /*tattridnode9*/, NIT_NULL /*null*/, variable[15] /*pexprnode11*/) /*new AAttrPropdef*/;
27454 variable[16] = variable[17];
27455 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
27456 /* Register variable[17]: Result */
27457 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27458 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
27459 return_label468: while(false);
27460 tracehead = trace.prev;
27461 return;
27462 }
27463 void parser___ReduceAction218___init(val_t self, int* init_table) {
27464 struct trace_t trace = {NULL, NULL, 11130, LOCATE_parser___ReduceAction218___init};
27465 val_t variable[2];
27466 struct WBT_ **closurevariable = NULL;
27467 trace.prev = tracehead; tracehead = &trace;
27468 trace.file = LOCATE_parser;
27469 /* Register variable[0]: Local variable */
27470 variable[0] = self;
27471 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction218].i]) return;
27472 /* Register variable[1]: Method return value and escape marker */
27473 return_label469: while(false);
27474 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction218].i] = 1;
27475 tracehead = trace.prev;
27476 return;
27477 }
27478 void parser___ReduceAction219___action(val_t self, val_t param0) {
27479 struct trace_t trace = {NULL, NULL, 11134, LOCATE_parser___ReduceAction219___action};
27480 val_t variable[26];
27481 struct WBT_ **closurevariable = NULL;
27482 trace.prev = tracehead; tracehead = &trace;
27483 trace.file = LOCATE_parser;
27484 /* Register variable[0]: Local variable */
27485 variable[0] = self;
27486 /* Register variable[1]: Local variable */
27487 variable[1] = param0;
27488 /* Register variable[2]: Method return value and escape marker */
27489 /* Register variable[3]: Local variable */
27490 variable[3] = NIT_NULL /*null*/;
27491 /* Register variable[4]: Local variable */
27492 /* Register variable[5]: Result */
27493 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27494 variable[4] = variable[5];
27495 /* Register variable[5]: Local variable */
27496 /* Register variable[6]: Result */
27497 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27498 variable[5] = variable[6];
27499 /* Register variable[6]: Local variable */
27500 /* Register variable[7]: Result */
27501 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27502 variable[6] = variable[7];
27503 /* Register variable[7]: Local variable */
27504 /* Register variable[8]: Result */
27505 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27506 variable[7] = variable[8];
27507 /* Register variable[8]: Local variable */
27508 /* Register variable[9]: Result */
27509 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27510 variable[8] = variable[9];
27511 /* Register variable[9]: Local variable */
27512 /* Register variable[10]: Result */
27513 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27514 variable[9] = variable[10];
27515 /* Register variable[10]: Local variable */
27516 /* Register variable[11]: Result */
27517 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27518 variable[10] = variable[11];
27519 /* Register variable[11]: Local variable */
27520 /* Register variable[12]: Result */
27521 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27522 variable[11] = variable[12];
27523 /* Register variable[12]: Local variable */
27524 /* Register variable[13]: Result */
27525 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27526 variable[12] = variable[13];
27527 /* Register variable[13]: Local variable */
27528 /* Register variable[14]: Result */
27529 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27530 variable[13] = variable[14];
27531 /* Register variable[14]: Local variable */
27532 variable[14] = variable[13] /*nodearraylist1*/;
27533 /* Register variable[15]: Result */
27534 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27535 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11148); nit_exit(1);}
27536 /* Register variable[15]: Local variable */
27537 variable[15] = variable[12] /*nodearraylist2*/;
27538 /* Register variable[16]: Result */
27539 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
27540 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11150); nit_exit(1);}
27541 /* Register variable[16]: Local variable */
27542 /* Register variable[17]: Result */
27543 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
27544 variable[16] = variable[17];
27545 /* Register variable[17]: Local variable */
27546 variable[17] = variable[11] /*nodearraylist3*/;
27547 /* Register variable[18]: Result */
27548 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
27549 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11156); nit_exit(1);}
27550 /* Register variable[18]: Local variable */
27551 /* Register variable[19]: Result */
27552 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
27553 variable[18] = variable[19];
27554 /* Register variable[19]: Local variable */
27555 variable[19] = variable[10] /*nodearraylist4*/;
27556 /* Register variable[20]: Result */
27557 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27558 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11162); nit_exit(1);}
27559 /* Register variable[20]: Local variable */
27560 variable[20] = variable[9] /*nodearraylist5*/;
27561 /* Register variable[21]: Result */
27562 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27563 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11164); nit_exit(1);}
27564 /* Register variable[21]: Local variable */
27565 variable[21] = variable[8] /*nodearraylist6*/;
27566 /* Register variable[22]: Result */
27567 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27568 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11166); nit_exit(1);}
27569 /* Register variable[22]: Local variable */
27570 variable[22] = variable[7] /*nodearraylist7*/;
27571 /* Register variable[23]: Result */
27572 variable[23] = TAG_Bool(( variable[22] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27573 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11168); nit_exit(1);}
27574 /* Register variable[23]: Local variable */
27575 variable[23] = variable[4] /*nodearraylist10*/;
27576 /* Register variable[24]: Result */
27577 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27578 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction219___action, LOCATE_parser, 11170); nit_exit(1);}
27579 /* Register variable[24]: Local variable */
27580 /* Register variable[25]: Result */
27581 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, variable[19] /*tkwredefnode9*/, variable[20] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode12*/, variable[22] /*tattridnode13*/, NIT_NULL /*null*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
27582 variable[24] = variable[25];
27583 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
27584 /* Register variable[25]: Result */
27585 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27586 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
27587 return_label470: while(false);
27588 tracehead = trace.prev;
27589 return;
27590 }
27591 void parser___ReduceAction219___init(val_t self, int* init_table) {
27592 struct trace_t trace = {NULL, NULL, 11186, LOCATE_parser___ReduceAction219___init};
27593 val_t variable[2];
27594 struct WBT_ **closurevariable = NULL;
27595 trace.prev = tracehead; tracehead = &trace;
27596 trace.file = LOCATE_parser;
27597 /* Register variable[0]: Local variable */
27598 variable[0] = self;
27599 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction219].i]) return;
27600 /* Register variable[1]: Method return value and escape marker */
27601 return_label471: while(false);
27602 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction219].i] = 1;
27603 tracehead = trace.prev;
27604 return;
27605 }
27606 void parser___ReduceAction220___action(val_t self, val_t param0) {
27607 struct trace_t trace = {NULL, NULL, 11190, LOCATE_parser___ReduceAction220___action};
27608 val_t variable[28];
27609 struct WBT_ **closurevariable = NULL;
27610 trace.prev = tracehead; tracehead = &trace;
27611 trace.file = LOCATE_parser;
27612 /* Register variable[0]: Local variable */
27613 variable[0] = self;
27614 /* Register variable[1]: Local variable */
27615 variable[1] = param0;
27616 /* Register variable[2]: Method return value and escape marker */
27617 /* Register variable[3]: Local variable */
27618 variable[3] = NIT_NULL /*null*/;
27619 /* Register variable[4]: Local variable */
27620 /* Register variable[5]: Result */
27621 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27622 variable[4] = variable[5];
27623 /* Register variable[5]: Local variable */
27624 /* Register variable[6]: Result */
27625 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27626 variable[5] = variable[6];
27627 /* Register variable[6]: Local variable */
27628 /* Register variable[7]: Result */
27629 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27630 variable[6] = variable[7];
27631 /* Register variable[7]: Local variable */
27632 /* Register variable[8]: Result */
27633 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27634 variable[7] = variable[8];
27635 /* Register variable[8]: Local variable */
27636 /* Register variable[9]: Result */
27637 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27638 variable[8] = variable[9];
27639 /* Register variable[9]: Local variable */
27640 /* Register variable[10]: Result */
27641 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27642 variable[9] = variable[10];
27643 /* Register variable[10]: Local variable */
27644 /* Register variable[11]: Result */
27645 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27646 variable[10] = variable[11];
27647 /* Register variable[11]: Local variable */
27648 /* Register variable[12]: Result */
27649 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27650 variable[11] = variable[12];
27651 /* Register variable[12]: Local variable */
27652 /* Register variable[13]: Result */
27653 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27654 variable[12] = variable[13];
27655 /* Register variable[13]: Local variable */
27656 /* Register variable[14]: Result */
27657 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27658 variable[13] = variable[14];
27659 /* Register variable[14]: Local variable */
27660 /* Register variable[15]: Result */
27661 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27662 variable[14] = variable[15];
27663 /* Register variable[15]: Local variable */
27664 variable[15] = variable[14] /*nodearraylist1*/;
27665 /* Register variable[16]: Result */
27666 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27667 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11205); nit_exit(1);}
27668 /* Register variable[16]: Local variable */
27669 variable[16] = variable[13] /*nodearraylist2*/;
27670 /* Register variable[17]: Result */
27671 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
27672 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11207); nit_exit(1);}
27673 /* Register variable[17]: Local variable */
27674 /* Register variable[18]: Result */
27675 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
27676 variable[17] = variable[18];
27677 /* Register variable[18]: Local variable */
27678 variable[18] = variable[12] /*nodearraylist3*/;
27679 /* Register variable[19]: Result */
27680 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27681 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11213); nit_exit(1);}
27682 /* Register variable[19]: Local variable */
27683 variable[19] = variable[11] /*nodearraylist4*/;
27684 /* Register variable[20]: Result */
27685 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
27686 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11215); nit_exit(1);}
27687 /* Register variable[20]: Local variable */
27688 /* Register variable[21]: Result */
27689 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
27690 variable[20] = variable[21];
27691 /* Register variable[21]: Local variable */
27692 variable[21] = variable[10] /*nodearraylist5*/;
27693 /* Register variable[22]: Result */
27694 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27695 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11221); nit_exit(1);}
27696 /* Register variable[22]: Local variable */
27697 variable[22] = variable[9] /*nodearraylist6*/;
27698 /* Register variable[23]: Result */
27699 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27700 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11223); nit_exit(1);}
27701 /* Register variable[23]: Local variable */
27702 variable[23] = variable[8] /*nodearraylist7*/;
27703 /* Register variable[24]: Result */
27704 variable[24] = TAG_Bool(( variable[23] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27705 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11225); nit_exit(1);}
27706 /* Register variable[24]: Local variable */
27707 variable[24] = variable[7] /*nodearraylist8*/;
27708 /* Register variable[25]: Result */
27709 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27710 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11227); nit_exit(1);}
27711 /* Register variable[25]: Local variable */
27712 variable[25] = variable[4] /*nodearraylist11*/;
27713 /* Register variable[26]: Result */
27714 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27715 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction220___action, LOCATE_parser, 11229); nit_exit(1);}
27716 /* Register variable[26]: Local variable */
27717 /* Register variable[27]: Result */
27718 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[23] /*tkwvarnode12*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
27719 variable[26] = variable[27];
27720 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27721 /* Register variable[27]: Result */
27722 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27723 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27724 return_label472: while(false);
27725 tracehead = trace.prev;
27726 return;
27727 }
27728 void parser___ReduceAction220___init(val_t self, int* init_table) {
27729 struct trace_t trace = {NULL, NULL, 11245, LOCATE_parser___ReduceAction220___init};
27730 val_t variable[2];
27731 struct WBT_ **closurevariable = NULL;
27732 trace.prev = tracehead; tracehead = &trace;
27733 trace.file = LOCATE_parser;
27734 /* Register variable[0]: Local variable */
27735 variable[0] = self;
27736 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction220].i]) return;
27737 /* Register variable[1]: Method return value and escape marker */
27738 return_label473: while(false);
27739 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction220].i] = 1;
27740 tracehead = trace.prev;
27741 return;
27742 }
27743 void parser___ReduceAction221___action(val_t self, val_t param0) {
27744 struct trace_t trace = {NULL, NULL, 11249, LOCATE_parser___ReduceAction221___action};
27745 val_t variable[23];
27746 struct WBT_ **closurevariable = NULL;
27747 trace.prev = tracehead; tracehead = &trace;
27748 trace.file = LOCATE_parser;
27749 /* Register variable[0]: Local variable */
27750 variable[0] = self;
27751 /* Register variable[1]: Local variable */
27752 variable[1] = param0;
27753 /* Register variable[2]: Method return value and escape marker */
27754 /* Register variable[3]: Local variable */
27755 variable[3] = NIT_NULL /*null*/;
27756 /* Register variable[4]: Local variable */
27757 /* Register variable[5]: Result */
27758 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27759 variable[4] = variable[5];
27760 /* Register variable[5]: Local variable */
27761 /* Register variable[6]: Result */
27762 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27763 variable[5] = variable[6];
27764 /* Register variable[6]: Local variable */
27765 /* Register variable[7]: Result */
27766 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27767 variable[6] = variable[7];
27768 /* Register variable[7]: Local variable */
27769 /* Register variable[8]: Result */
27770 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27771 variable[7] = variable[8];
27772 /* Register variable[8]: Local variable */
27773 /* Register variable[9]: Result */
27774 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27775 variable[8] = variable[9];
27776 /* Register variable[9]: Local variable */
27777 /* Register variable[10]: Result */
27778 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27779 variable[9] = variable[10];
27780 /* Register variable[10]: Local variable */
27781 /* Register variable[11]: Result */
27782 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27783 variable[10] = variable[11];
27784 /* Register variable[11]: Local variable */
27785 /* Register variable[12]: Result */
27786 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27787 variable[11] = variable[12];
27788 /* Register variable[12]: Local variable */
27789 /* Register variable[13]: Result */
27790 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27791 variable[12] = variable[13];
27792 /* Register variable[13]: Local variable */
27793 variable[13] = variable[12] /*nodearraylist1*/;
27794 /* Register variable[14]: Result */
27795 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27796 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11262); nit_exit(1);}
27797 /* Register variable[14]: Local variable */
27798 variable[14] = variable[11] /*nodearraylist2*/;
27799 /* Register variable[15]: Result */
27800 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
27801 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11264); nit_exit(1);}
27802 /* Register variable[15]: Local variable */
27803 /* Register variable[16]: Result */
27804 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
27805 variable[15] = variable[16];
27806 /* Register variable[16]: Local variable */
27807 variable[16] = variable[10] /*nodearraylist3*/;
27808 /* Register variable[17]: Result */
27809 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27810 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11270); nit_exit(1);}
27811 /* Register variable[17]: Local variable */
27812 variable[17] = variable[9] /*nodearraylist4*/;
27813 /* Register variable[18]: Result */
27814 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27815 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11272); nit_exit(1);}
27816 /* Register variable[18]: Local variable */
27817 variable[18] = variable[8] /*nodearraylist5*/;
27818 /* Register variable[19]: Result */
27819 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27820 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11274); nit_exit(1);}
27821 /* Register variable[19]: Local variable */
27822 variable[19] = variable[7] /*nodearraylist6*/;
27823 /* Register variable[20]: Result */
27824 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27825 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11276); nit_exit(1);}
27826 /* Register variable[20]: Local variable */
27827 variable[20] = variable[4] /*nodearraylist9*/;
27828 /* Register variable[21]: Result */
27829 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27830 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction221___action, LOCATE_parser, 11278); nit_exit(1);}
27831 /* Register variable[21]: Local variable */
27832 /* Register variable[22]: Result */
27833 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
27834 variable[21] = variable[22];
27835 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
27836 /* Register variable[22]: Result */
27837 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27838 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
27839 return_label474: while(false);
27840 tracehead = trace.prev;
27841 return;
27842 }
27843 void parser___ReduceAction221___init(val_t self, int* init_table) {
27844 struct trace_t trace = {NULL, NULL, 11294, LOCATE_parser___ReduceAction221___init};
27845 val_t variable[2];
27846 struct WBT_ **closurevariable = NULL;
27847 trace.prev = tracehead; tracehead = &trace;
27848 trace.file = LOCATE_parser;
27849 /* Register variable[0]: Local variable */
27850 variable[0] = self;
27851 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction221].i]) return;
27852 /* Register variable[1]: Method return value and escape marker */
27853 return_label475: while(false);
27854 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction221].i] = 1;
27855 tracehead = trace.prev;
27856 return;
27857 }
27858 void parser___ReduceAction222___action(val_t self, val_t param0) {
27859 struct trace_t trace = {NULL, NULL, 11298, LOCATE_parser___ReduceAction222___action};
27860 val_t variable[28];
27861 struct WBT_ **closurevariable = NULL;
27862 trace.prev = tracehead; tracehead = &trace;
27863 trace.file = LOCATE_parser;
27864 /* Register variable[0]: Local variable */
27865 variable[0] = self;
27866 /* Register variable[1]: Local variable */
27867 variable[1] = param0;
27868 /* Register variable[2]: Method return value and escape marker */
27869 /* Register variable[3]: Local variable */
27870 variable[3] = NIT_NULL /*null*/;
27871 /* Register variable[4]: Local variable */
27872 /* Register variable[5]: Result */
27873 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27874 variable[4] = variable[5];
27875 /* Register variable[5]: Local variable */
27876 /* Register variable[6]: Result */
27877 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27878 variable[5] = variable[6];
27879 /* Register variable[6]: Local variable */
27880 /* Register variable[7]: Result */
27881 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27882 variable[6] = variable[7];
27883 /* Register variable[7]: Local variable */
27884 /* Register variable[8]: Result */
27885 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27886 variable[7] = variable[8];
27887 /* Register variable[8]: Local variable */
27888 /* Register variable[9]: Result */
27889 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27890 variable[8] = variable[9];
27891 /* Register variable[9]: Local variable */
27892 /* Register variable[10]: Result */
27893 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27894 variable[9] = variable[10];
27895 /* Register variable[10]: Local variable */
27896 /* Register variable[11]: Result */
27897 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27898 variable[10] = variable[11];
27899 /* Register variable[11]: Local variable */
27900 /* Register variable[12]: Result */
27901 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27902 variable[11] = variable[12];
27903 /* Register variable[12]: Local variable */
27904 /* Register variable[13]: Result */
27905 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27906 variable[12] = variable[13];
27907 /* Register variable[13]: Local variable */
27908 /* Register variable[14]: Result */
27909 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27910 variable[13] = variable[14];
27911 /* Register variable[14]: Local variable */
27912 /* Register variable[15]: Result */
27913 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
27914 variable[14] = variable[15];
27915 /* Register variable[15]: Local variable */
27916 variable[15] = variable[14] /*nodearraylist1*/;
27917 /* Register variable[16]: Result */
27918 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
27919 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11313); nit_exit(1);}
27920 /* Register variable[16]: Local variable */
27921 variable[16] = variable[13] /*nodearraylist2*/;
27922 /* Register variable[17]: Result */
27923 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27924 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11315); nit_exit(1);}
27925 /* Register variable[17]: Local variable */
27926 variable[17] = variable[12] /*nodearraylist3*/;
27927 /* Register variable[18]: Result */
27928 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
27929 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11317); nit_exit(1);}
27930 /* Register variable[18]: Local variable */
27931 /* Register variable[19]: Result */
27932 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
27933 variable[18] = variable[19];
27934 /* Register variable[19]: Local variable */
27935 variable[19] = variable[11] /*nodearraylist4*/;
27936 /* Register variable[20]: Result */
27937 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
27938 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11323); nit_exit(1);}
27939 /* Register variable[20]: Local variable */
27940 /* Register variable[21]: Result */
27941 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
27942 variable[20] = variable[21];
27943 /* Register variable[21]: Local variable */
27944 variable[21] = variable[10] /*nodearraylist5*/;
27945 /* Register variable[22]: Result */
27946 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
27947 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11329); nit_exit(1);}
27948 /* Register variable[22]: Local variable */
27949 variable[22] = variable[9] /*nodearraylist6*/;
27950 /* Register variable[23]: Result */
27951 variable[23] = TAG_Bool(( variable[22] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[22] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
27952 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11331); nit_exit(1);}
27953 /* Register variable[23]: Local variable */
27954 variable[23] = variable[8] /*nodearraylist7*/;
27955 /* Register variable[24]: Result */
27956 variable[24] = TAG_Bool(( variable[23] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
27957 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11333); nit_exit(1);}
27958 /* Register variable[24]: Local variable */
27959 variable[24] = variable[7] /*nodearraylist8*/;
27960 /* Register variable[25]: Result */
27961 variable[25] = TAG_Bool(( variable[24] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
27962 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11335); nit_exit(1);}
27963 /* Register variable[25]: Local variable */
27964 variable[25] = variable[4] /*nodearraylist11*/;
27965 /* Register variable[26]: Result */
27966 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
27967 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction222___action, LOCATE_parser, 11337); nit_exit(1);}
27968 /* Register variable[26]: Local variable */
27969 /* Register variable[27]: Result */
27970 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[20] /*pablenode6*/, variable[21] /*tkwredefnode9*/, variable[22] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[23] /*tkwvarnode12*/, variable[24] /*tattridnode13*/, NIT_NULL /*null*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
27971 variable[26] = variable[27];
27972 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
27973 /* Register variable[27]: Result */
27974 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
27975 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
27976 return_label476: while(false);
27977 tracehead = trace.prev;
27978 return;
27979 }
27980 void parser___ReduceAction222___init(val_t self, int* init_table) {
27981 struct trace_t trace = {NULL, NULL, 11353, LOCATE_parser___ReduceAction222___init};
27982 val_t variable[2];
27983 struct WBT_ **closurevariable = NULL;
27984 trace.prev = tracehead; tracehead = &trace;
27985 trace.file = LOCATE_parser;
27986 /* Register variable[0]: Local variable */
27987 variable[0] = self;
27988 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction222].i]) return;
27989 /* Register variable[1]: Method return value and escape marker */
27990 return_label477: while(false);
27991 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction222].i] = 1;
27992 tracehead = trace.prev;
27993 return;
27994 }
27995 void parser___ReduceAction223___action(val_t self, val_t param0) {
27996 struct trace_t trace = {NULL, NULL, 11357, LOCATE_parser___ReduceAction223___action};
27997 val_t variable[30];
27998 struct WBT_ **closurevariable = NULL;
27999 trace.prev = tracehead; tracehead = &trace;
28000 trace.file = LOCATE_parser;
28001 /* Register variable[0]: Local variable */
28002 variable[0] = self;
28003 /* Register variable[1]: Local variable */
28004 variable[1] = param0;
28005 /* Register variable[2]: Method return value and escape marker */
28006 /* Register variable[3]: Local variable */
28007 variable[3] = NIT_NULL /*null*/;
28008 /* Register variable[4]: Local variable */
28009 /* Register variable[5]: Result */
28010 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28011 variable[4] = variable[5];
28012 /* Register variable[5]: Local variable */
28013 /* Register variable[6]: Result */
28014 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28015 variable[5] = variable[6];
28016 /* Register variable[6]: Local variable */
28017 /* Register variable[7]: Result */
28018 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28019 variable[6] = variable[7];
28020 /* Register variable[7]: Local variable */
28021 /* Register variable[8]: Result */
28022 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28023 variable[7] = variable[8];
28024 /* Register variable[8]: Local variable */
28025 /* Register variable[9]: Result */
28026 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28027 variable[8] = variable[9];
28028 /* Register variable[9]: Local variable */
28029 /* Register variable[10]: Result */
28030 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28031 variable[9] = variable[10];
28032 /* Register variable[10]: Local variable */
28033 /* Register variable[11]: Result */
28034 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28035 variable[10] = variable[11];
28036 /* Register variable[11]: Local variable */
28037 /* Register variable[12]: Result */
28038 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28039 variable[11] = variable[12];
28040 /* Register variable[12]: Local variable */
28041 /* Register variable[13]: Result */
28042 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28043 variable[12] = variable[13];
28044 /* Register variable[13]: Local variable */
28045 /* Register variable[14]: Result */
28046 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28047 variable[13] = variable[14];
28048 /* Register variable[14]: Local variable */
28049 /* Register variable[15]: Result */
28050 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28051 variable[14] = variable[15];
28052 /* Register variable[15]: Local variable */
28053 /* Register variable[16]: Result */
28054 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28055 variable[15] = variable[16];
28056 /* Register variable[16]: Local variable */
28057 variable[16] = variable[15] /*nodearraylist1*/;
28058 /* Register variable[17]: Result */
28059 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28060 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11373); nit_exit(1);}
28061 /* Register variable[17]: Local variable */
28062 variable[17] = variable[14] /*nodearraylist2*/;
28063 /* Register variable[18]: Result */
28064 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28065 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11375); nit_exit(1);}
28066 /* Register variable[18]: Local variable */
28067 variable[18] = variable[13] /*nodearraylist3*/;
28068 /* Register variable[19]: Result */
28069 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
28070 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11377); nit_exit(1);}
28071 /* Register variable[19]: Local variable */
28072 /* Register variable[20]: Result */
28073 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
28074 variable[19] = variable[20];
28075 /* Register variable[20]: Local variable */
28076 variable[20] = variable[12] /*nodearraylist4*/;
28077 /* Register variable[21]: Result */
28078 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28079 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11383); nit_exit(1);}
28080 /* Register variable[21]: Local variable */
28081 variable[21] = variable[11] /*nodearraylist5*/;
28082 /* Register variable[22]: Result */
28083 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
28084 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11385); nit_exit(1);}
28085 /* Register variable[22]: Local variable */
28086 /* Register variable[23]: Result */
28087 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/) /*new AWriteAble*/;
28088 variable[22] = variable[23];
28089 /* Register variable[23]: Local variable */
28090 variable[23] = variable[10] /*nodearraylist6*/;
28091 /* Register variable[24]: Result */
28092 variable[24] = TAG_Bool(( variable[23] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[23] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28093 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11391); nit_exit(1);}
28094 /* Register variable[24]: Local variable */
28095 variable[24] = variable[9] /*nodearraylist7*/;
28096 /* Register variable[25]: Result */
28097 variable[25] = TAG_Bool(( variable[24] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[24] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28098 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11393); nit_exit(1);}
28099 /* Register variable[25]: Local variable */
28100 variable[25] = variable[8] /*nodearraylist8*/;
28101 /* Register variable[26]: Result */
28102 variable[26] = TAG_Bool(( variable[25] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[25] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28103 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11395); nit_exit(1);}
28104 /* Register variable[26]: Local variable */
28105 variable[26] = variable[7] /*nodearraylist9*/;
28106 /* Register variable[27]: Result */
28107 variable[27] = TAG_Bool(( variable[26] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[26] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28108 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11397); nit_exit(1);}
28109 /* Register variable[27]: Local variable */
28110 variable[27] = variable[4] /*nodearraylist12*/;
28111 /* Register variable[28]: Result */
28112 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28113 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction223___action, LOCATE_parser, 11399); nit_exit(1);}
28114 /* Register variable[28]: Local variable */
28115 /* Register variable[29]: Result */
28116 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[22] /*pablenode6*/, variable[23] /*tkwredefnode9*/, variable[24] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[25] /*tkwvarnode12*/, variable[26] /*tattridnode13*/, NIT_NULL /*null*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
28117 variable[28] = variable[29];
28118 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
28119 /* Register variable[29]: Result */
28120 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28121 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
28122 return_label478: while(false);
28123 tracehead = trace.prev;
28124 return;
28125 }
28126 void parser___ReduceAction223___init(val_t self, int* init_table) {
28127 struct trace_t trace = {NULL, NULL, 11415, LOCATE_parser___ReduceAction223___init};
28128 val_t variable[2];
28129 struct WBT_ **closurevariable = NULL;
28130 trace.prev = tracehead; tracehead = &trace;
28131 trace.file = LOCATE_parser;
28132 /* Register variable[0]: Local variable */
28133 variable[0] = self;
28134 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction223].i]) return;
28135 /* Register variable[1]: Method return value and escape marker */
28136 return_label479: while(false);
28137 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction223].i] = 1;
28138 tracehead = trace.prev;
28139 return;
28140 }
28141 void parser___ReduceAction224___action(val_t self, val_t param0) {
28142 struct trace_t trace = {NULL, NULL, 11419, LOCATE_parser___ReduceAction224___action};
28143 val_t variable[25];
28144 struct WBT_ **closurevariable = NULL;
28145 trace.prev = tracehead; tracehead = &trace;
28146 trace.file = LOCATE_parser;
28147 /* Register variable[0]: Local variable */
28148 variable[0] = self;
28149 /* Register variable[1]: Local variable */
28150 variable[1] = param0;
28151 /* Register variable[2]: Method return value and escape marker */
28152 /* Register variable[3]: Local variable */
28153 variable[3] = NIT_NULL /*null*/;
28154 /* Register variable[4]: Local variable */
28155 /* Register variable[5]: Result */
28156 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28157 variable[4] = variable[5];
28158 /* Register variable[5]: Local variable */
28159 /* Register variable[6]: Result */
28160 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28161 variable[5] = variable[6];
28162 /* Register variable[6]: Local variable */
28163 /* Register variable[7]: Result */
28164 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28165 variable[6] = variable[7];
28166 /* Register variable[7]: Local variable */
28167 /* Register variable[8]: Result */
28168 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28169 variable[7] = variable[8];
28170 /* Register variable[8]: Local variable */
28171 /* Register variable[9]: Result */
28172 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28173 variable[8] = variable[9];
28174 /* Register variable[9]: Local variable */
28175 /* Register variable[10]: Result */
28176 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28177 variable[9] = variable[10];
28178 /* Register variable[10]: Local variable */
28179 /* Register variable[11]: Result */
28180 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28181 variable[10] = variable[11];
28182 /* Register variable[11]: Local variable */
28183 /* Register variable[12]: Result */
28184 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28185 variable[11] = variable[12];
28186 /* Register variable[12]: Local variable */
28187 /* Register variable[13]: Result */
28188 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28189 variable[12] = variable[13];
28190 /* Register variable[13]: Local variable */
28191 /* Register variable[14]: Result */
28192 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28193 variable[13] = variable[14];
28194 /* Register variable[14]: Local variable */
28195 variable[14] = variable[13] /*nodearraylist1*/;
28196 /* Register variable[15]: Result */
28197 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28198 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11433); nit_exit(1);}
28199 /* Register variable[15]: Local variable */
28200 variable[15] = variable[12] /*nodearraylist2*/;
28201 /* Register variable[16]: Result */
28202 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28203 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11435); nit_exit(1);}
28204 /* Register variable[16]: Local variable */
28205 variable[16] = variable[11] /*nodearraylist3*/;
28206 /* Register variable[17]: Result */
28207 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
28208 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11437); nit_exit(1);}
28209 /* Register variable[17]: Local variable */
28210 /* Register variable[18]: Result */
28211 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
28212 variable[17] = variable[18];
28213 /* Register variable[18]: Local variable */
28214 variable[18] = variable[10] /*nodearraylist4*/;
28215 /* Register variable[19]: Result */
28216 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28217 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11443); nit_exit(1);}
28218 /* Register variable[19]: Local variable */
28219 variable[19] = variable[9] /*nodearraylist5*/;
28220 /* Register variable[20]: Result */
28221 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28222 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11445); nit_exit(1);}
28223 /* Register variable[20]: Local variable */
28224 variable[20] = variable[8] /*nodearraylist6*/;
28225 /* Register variable[21]: Result */
28226 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28227 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11447); nit_exit(1);}
28228 /* Register variable[21]: Local variable */
28229 variable[21] = variable[7] /*nodearraylist7*/;
28230 /* Register variable[22]: Result */
28231 variable[22] = TAG_Bool(( variable[21] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28232 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11449); nit_exit(1);}
28233 /* Register variable[22]: Local variable */
28234 variable[22] = variable[4] /*nodearraylist10*/;
28235 /* Register variable[23]: Result */
28236 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28237 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction224___action, LOCATE_parser, 11451); nit_exit(1);}
28238 /* Register variable[23]: Local variable */
28239 /* Register variable[24]: Result */
28240 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, NIT_NULL /*null*/, variable[18] /*tkwredefnode7*/, variable[19] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode10*/, variable[21] /*tattridnode11*/, NIT_NULL /*null*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
28241 variable[23] = variable[24];
28242 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28243 /* Register variable[24]: Result */
28244 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28245 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28246 return_label480: while(false);
28247 tracehead = trace.prev;
28248 return;
28249 }
28250 void parser___ReduceAction224___init(val_t self, int* init_table) {
28251 struct trace_t trace = {NULL, NULL, 11467, LOCATE_parser___ReduceAction224___init};
28252 val_t variable[2];
28253 struct WBT_ **closurevariable = NULL;
28254 trace.prev = tracehead; tracehead = &trace;
28255 trace.file = LOCATE_parser;
28256 /* Register variable[0]: Local variable */
28257 variable[0] = self;
28258 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction224].i]) return;
28259 /* Register variable[1]: Method return value and escape marker */
28260 return_label481: while(false);
28261 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction224].i] = 1;
28262 tracehead = trace.prev;
28263 return;
28264 }
28265 void parser___ReduceAction225___action(val_t self, val_t param0) {
28266 struct trace_t trace = {NULL, NULL, 11471, LOCATE_parser___ReduceAction225___action};
28267 val_t variable[23];
28268 struct WBT_ **closurevariable = NULL;
28269 trace.prev = tracehead; tracehead = &trace;
28270 trace.file = LOCATE_parser;
28271 /* Register variable[0]: Local variable */
28272 variable[0] = self;
28273 /* Register variable[1]: Local variable */
28274 variable[1] = param0;
28275 /* Register variable[2]: Method return value and escape marker */
28276 /* Register variable[3]: Local variable */
28277 variable[3] = NIT_NULL /*null*/;
28278 /* Register variable[4]: Local variable */
28279 /* Register variable[5]: Result */
28280 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28281 variable[4] = variable[5];
28282 /* Register variable[5]: Local variable */
28283 /* Register variable[6]: Result */
28284 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28285 variable[5] = variable[6];
28286 /* Register variable[6]: Local variable */
28287 /* Register variable[7]: Result */
28288 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28289 variable[6] = variable[7];
28290 /* Register variable[7]: Local variable */
28291 /* Register variable[8]: Result */
28292 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28293 variable[7] = variable[8];
28294 /* Register variable[8]: Local variable */
28295 /* Register variable[9]: Result */
28296 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28297 variable[8] = variable[9];
28298 /* Register variable[9]: Local variable */
28299 /* Register variable[10]: Result */
28300 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28301 variable[9] = variable[10];
28302 /* Register variable[10]: Local variable */
28303 /* Register variable[11]: Result */
28304 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28305 variable[10] = variable[11];
28306 /* Register variable[11]: Local variable */
28307 /* Register variable[12]: Result */
28308 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28309 variable[11] = variable[12];
28310 /* Register variable[12]: Local variable */
28311 /* Register variable[13]: Result */
28312 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28313 variable[12] = variable[13];
28314 /* Register variable[13]: Local variable */
28315 variable[13] = variable[12] /*nodearraylist1*/;
28316 /* Register variable[14]: Result */
28317 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28318 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11484); nit_exit(1);}
28319 /* Register variable[14]: Local variable */
28320 variable[14] = variable[11] /*nodearraylist2*/;
28321 /* Register variable[15]: Result */
28322 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
28323 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11486); nit_exit(1);}
28324 /* Register variable[15]: Local variable */
28325 /* Register variable[16]: Result */
28326 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
28327 variable[15] = variable[16];
28328 /* Register variable[16]: Local variable */
28329 variable[16] = variable[10] /*nodearraylist3*/;
28330 /* Register variable[17]: Result */
28331 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28332 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11492); nit_exit(1);}
28333 /* Register variable[17]: Local variable */
28334 variable[17] = variable[9] /*nodearraylist4*/;
28335 /* Register variable[18]: Result */
28336 variable[18] = TAG_Bool(( variable[17] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28337 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11494); nit_exit(1);}
28338 /* Register variable[18]: Local variable */
28339 variable[18] = variable[8] /*nodearraylist5*/;
28340 /* Register variable[19]: Result */
28341 variable[19] = TAG_Bool(( variable[18] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28342 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11496); nit_exit(1);}
28343 /* Register variable[19]: Local variable */
28344 variable[19] = variable[7] /*nodearraylist6*/;
28345 /* Register variable[20]: Result */
28346 variable[20] = TAG_Bool(( variable[19] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28347 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11498); nit_exit(1);}
28348 /* Register variable[20]: Local variable */
28349 variable[20] = variable[4] /*nodearraylist9*/;
28350 /* Register variable[21]: Result */
28351 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28352 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction225___action, LOCATE_parser, 11500); nit_exit(1);}
28353 /* Register variable[21]: Local variable */
28354 /* Register variable[22]: Result */
28355 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, variable[16] /*tkwredefnode7*/, variable[17] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[18] /*tkwvarnode10*/, variable[19] /*tattridnode11*/, NIT_NULL /*null*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
28356 variable[21] = variable[22];
28357 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28358 /* Register variable[22]: Result */
28359 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28360 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28361 return_label482: while(false);
28362 tracehead = trace.prev;
28363 return;
28364 }
28365 void parser___ReduceAction225___init(val_t self, int* init_table) {
28366 struct trace_t trace = {NULL, NULL, 11516, LOCATE_parser___ReduceAction225___init};
28367 val_t variable[2];
28368 struct WBT_ **closurevariable = NULL;
28369 trace.prev = tracehead; tracehead = &trace;
28370 trace.file = LOCATE_parser;
28371 /* Register variable[0]: Local variable */
28372 variable[0] = self;
28373 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction225].i]) return;
28374 /* Register variable[1]: Method return value and escape marker */
28375 return_label483: while(false);
28376 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction225].i] = 1;
28377 tracehead = trace.prev;
28378 return;
28379 }
28380 void parser___ReduceAction226___action(val_t self, val_t param0) {
28381 struct trace_t trace = {NULL, NULL, 11520, LOCATE_parser___ReduceAction226___action};
28382 val_t variable[25];
28383 struct WBT_ **closurevariable = NULL;
28384 trace.prev = tracehead; tracehead = &trace;
28385 trace.file = LOCATE_parser;
28386 /* Register variable[0]: Local variable */
28387 variable[0] = self;
28388 /* Register variable[1]: Local variable */
28389 variable[1] = param0;
28390 /* Register variable[2]: Method return value and escape marker */
28391 /* Register variable[3]: Local variable */
28392 variable[3] = NIT_NULL /*null*/;
28393 /* Register variable[4]: Local variable */
28394 /* Register variable[5]: Result */
28395 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28396 variable[4] = variable[5];
28397 /* Register variable[5]: Local variable */
28398 /* Register variable[6]: Result */
28399 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28400 variable[5] = variable[6];
28401 /* Register variable[6]: Local variable */
28402 /* Register variable[7]: Result */
28403 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28404 variable[6] = variable[7];
28405 /* Register variable[7]: Local variable */
28406 /* Register variable[8]: Result */
28407 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28408 variable[7] = variable[8];
28409 /* Register variable[8]: Local variable */
28410 /* Register variable[9]: Result */
28411 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28412 variable[8] = variable[9];
28413 /* Register variable[9]: Local variable */
28414 /* Register variable[10]: Result */
28415 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28416 variable[9] = variable[10];
28417 /* Register variable[10]: Local variable */
28418 /* Register variable[11]: Result */
28419 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28420 variable[10] = variable[11];
28421 /* Register variable[11]: Local variable */
28422 /* Register variable[12]: Result */
28423 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28424 variable[11] = variable[12];
28425 /* Register variable[12]: Local variable */
28426 /* Register variable[13]: Result */
28427 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28428 variable[12] = variable[13];
28429 /* Register variable[13]: Local variable */
28430 /* Register variable[14]: Result */
28431 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28432 variable[13] = variable[14];
28433 /* Register variable[14]: Local variable */
28434 variable[14] = variable[13] /*nodearraylist1*/;
28435 /* Register variable[15]: Result */
28436 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28437 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11534); nit_exit(1);}
28438 /* Register variable[15]: Local variable */
28439 variable[15] = variable[12] /*nodearraylist2*/;
28440 /* Register variable[16]: Result */
28441 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28442 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11536); nit_exit(1);}
28443 /* Register variable[16]: Local variable */
28444 variable[16] = variable[11] /*nodearraylist3*/;
28445 /* Register variable[17]: Result */
28446 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
28447 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11538); nit_exit(1);}
28448 /* Register variable[17]: Local variable */
28449 /* Register variable[18]: Result */
28450 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/) /*new AWriteAble*/;
28451 variable[17] = variable[18];
28452 /* Register variable[18]: Local variable */
28453 variable[18] = variable[10] /*nodearraylist4*/;
28454 /* Register variable[19]: Result */
28455 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28456 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11544); nit_exit(1);}
28457 /* Register variable[19]: Local variable */
28458 variable[19] = variable[9] /*nodearraylist5*/;
28459 /* Register variable[20]: Result */
28460 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28461 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11546); nit_exit(1);}
28462 /* Register variable[20]: Local variable */
28463 variable[20] = variable[8] /*nodearraylist6*/;
28464 /* Register variable[21]: Result */
28465 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28466 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11548); nit_exit(1);}
28467 /* Register variable[21]: Local variable */
28468 variable[21] = variable[7] /*nodearraylist7*/;
28469 /* Register variable[22]: Result */
28470 variable[22] = TAG_Bool(( variable[21] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28471 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11550); nit_exit(1);}
28472 /* Register variable[22]: Local variable */
28473 variable[22] = variable[4] /*nodearraylist10*/;
28474 /* Register variable[23]: Result */
28475 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28476 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction226___action, LOCATE_parser, 11552); nit_exit(1);}
28477 /* Register variable[23]: Local variable */
28478 /* Register variable[24]: Result */
28479 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pablenode4*/, variable[18] /*tkwredefnode7*/, variable[19] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode10*/, variable[21] /*tattridnode11*/, NIT_NULL /*null*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
28480 variable[23] = variable[24];
28481 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
28482 /* Register variable[24]: Result */
28483 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28484 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
28485 return_label484: while(false);
28486 tracehead = trace.prev;
28487 return;
28488 }
28489 void parser___ReduceAction226___init(val_t self, int* init_table) {
28490 struct trace_t trace = {NULL, NULL, 11568, LOCATE_parser___ReduceAction226___init};
28491 val_t variable[2];
28492 struct WBT_ **closurevariable = NULL;
28493 trace.prev = tracehead; tracehead = &trace;
28494 trace.file = LOCATE_parser;
28495 /* Register variable[0]: Local variable */
28496 variable[0] = self;
28497 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction226].i]) return;
28498 /* Register variable[1]: Method return value and escape marker */
28499 return_label485: while(false);
28500 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction226].i] = 1;
28501 tracehead = trace.prev;
28502 return;
28503 }
28504 void parser___ReduceAction227___action(val_t self, val_t param0) {
28505 struct trace_t trace = {NULL, NULL, 11572, LOCATE_parser___ReduceAction227___action};
28506 val_t variable[20];
28507 struct WBT_ **closurevariable = NULL;
28508 trace.prev = tracehead; tracehead = &trace;
28509 trace.file = LOCATE_parser;
28510 /* Register variable[0]: Local variable */
28511 variable[0] = self;
28512 /* Register variable[1]: Local variable */
28513 variable[1] = param0;
28514 /* Register variable[2]: Method return value and escape marker */
28515 /* Register variable[3]: Local variable */
28516 variable[3] = NIT_NULL /*null*/;
28517 /* Register variable[4]: Local variable */
28518 /* Register variable[5]: Result */
28519 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28520 variable[4] = variable[5];
28521 /* Register variable[5]: Local variable */
28522 /* Register variable[6]: Result */
28523 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28524 variable[5] = variable[6];
28525 /* Register variable[6]: Local variable */
28526 /* Register variable[7]: Result */
28527 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28528 variable[6] = variable[7];
28529 /* Register variable[7]: Local variable */
28530 /* Register variable[8]: Result */
28531 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28532 variable[7] = variable[8];
28533 /* Register variable[8]: Local variable */
28534 /* Register variable[9]: Result */
28535 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28536 variable[8] = variable[9];
28537 /* Register variable[9]: Local variable */
28538 /* Register variable[10]: Result */
28539 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28540 variable[9] = variable[10];
28541 /* Register variable[10]: Local variable */
28542 /* Register variable[11]: Result */
28543 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28544 variable[10] = variable[11];
28545 /* Register variable[11]: Local variable */
28546 /* Register variable[12]: Result */
28547 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28548 variable[11] = variable[12];
28549 /* Register variable[12]: Local variable */
28550 variable[12] = variable[11] /*nodearraylist1*/;
28551 /* Register variable[13]: Result */
28552 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28553 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11584); nit_exit(1);}
28554 /* Register variable[13]: Local variable */
28555 variable[13] = variable[10] /*nodearraylist2*/;
28556 /* Register variable[14]: Result */
28557 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28558 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11586); nit_exit(1);}
28559 /* Register variable[14]: Local variable */
28560 variable[14] = variable[9] /*nodearraylist3*/;
28561 /* Register variable[15]: Result */
28562 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28563 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11588); nit_exit(1);}
28564 /* Register variable[15]: Local variable */
28565 variable[15] = variable[8] /*nodearraylist4*/;
28566 /* Register variable[16]: Result */
28567 variable[16] = TAG_Bool(( variable[15] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28568 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11590); nit_exit(1);}
28569 /* Register variable[16]: Local variable */
28570 variable[16] = variable[7] /*nodearraylist5*/;
28571 /* Register variable[17]: Result */
28572 variable[17] = TAG_Bool(( variable[16] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[16] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28573 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11592); nit_exit(1);}
28574 /* Register variable[17]: Local variable */
28575 variable[17] = variable[4] /*nodearraylist8*/;
28576 /* Register variable[18]: Result */
28577 variable[18] = TAG_Bool(( variable[17] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28578 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction227___action, LOCATE_parser, 11594); nit_exit(1);}
28579 /* Register variable[18]: Local variable */
28580 /* Register variable[19]: Result */
28581 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*tkwredefnode5*/, variable[14] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[15] /*tkwvarnode8*/, variable[16] /*tattridnode9*/, NIT_NULL /*null*/, variable[17] /*pexprnode11*/) /*new AAttrPropdef*/;
28582 variable[18] = variable[19];
28583 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
28584 /* Register variable[19]: Result */
28585 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28586 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
28587 return_label486: while(false);
28588 tracehead = trace.prev;
28589 return;
28590 }
28591 void parser___ReduceAction227___init(val_t self, int* init_table) {
28592 struct trace_t trace = {NULL, NULL, 11610, LOCATE_parser___ReduceAction227___init};
28593 val_t variable[2];
28594 struct WBT_ **closurevariable = NULL;
28595 trace.prev = tracehead; tracehead = &trace;
28596 trace.file = LOCATE_parser;
28597 /* Register variable[0]: Local variable */
28598 variable[0] = self;
28599 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction227].i]) return;
28600 /* Register variable[1]: Method return value and escape marker */
28601 return_label487: while(false);
28602 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction227].i] = 1;
28603 tracehead = trace.prev;
28604 return;
28605 }
28606 void parser___ReduceAction228___action(val_t self, val_t param0) {
28607 struct trace_t trace = {NULL, NULL, 11614, LOCATE_parser___ReduceAction228___action};
28608 val_t variable[26];
28609 struct WBT_ **closurevariable = NULL;
28610 trace.prev = tracehead; tracehead = &trace;
28611 trace.file = LOCATE_parser;
28612 /* Register variable[0]: Local variable */
28613 variable[0] = self;
28614 /* Register variable[1]: Local variable */
28615 variable[1] = param0;
28616 /* Register variable[2]: Method return value and escape marker */
28617 /* Register variable[3]: Local variable */
28618 variable[3] = NIT_NULL /*null*/;
28619 /* Register variable[4]: Local variable */
28620 /* Register variable[5]: Result */
28621 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28622 variable[4] = variable[5];
28623 /* Register variable[5]: Local variable */
28624 /* Register variable[6]: Result */
28625 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28626 variable[5] = variable[6];
28627 /* Register variable[6]: Local variable */
28628 /* Register variable[7]: Result */
28629 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28630 variable[6] = variable[7];
28631 /* Register variable[7]: Local variable */
28632 /* Register variable[8]: Result */
28633 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28634 variable[7] = variable[8];
28635 /* Register variable[8]: Local variable */
28636 /* Register variable[9]: Result */
28637 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28638 variable[8] = variable[9];
28639 /* Register variable[9]: Local variable */
28640 /* Register variable[10]: Result */
28641 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28642 variable[9] = variable[10];
28643 /* Register variable[10]: Local variable */
28644 /* Register variable[11]: Result */
28645 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28646 variable[10] = variable[11];
28647 /* Register variable[11]: Local variable */
28648 /* Register variable[12]: Result */
28649 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28650 variable[11] = variable[12];
28651 /* Register variable[12]: Local variable */
28652 /* Register variable[13]: Result */
28653 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28654 variable[12] = variable[13];
28655 /* Register variable[13]: Local variable */
28656 /* Register variable[14]: Result */
28657 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28658 variable[13] = variable[14];
28659 /* Register variable[14]: Local variable */
28660 variable[14] = variable[13] /*nodearraylist1*/;
28661 /* Register variable[15]: Result */
28662 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28663 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11628); nit_exit(1);}
28664 /* Register variable[15]: Local variable */
28665 variable[15] = variable[12] /*nodearraylist2*/;
28666 /* Register variable[16]: Result */
28667 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
28668 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11630); nit_exit(1);}
28669 /* Register variable[16]: Local variable */
28670 /* Register variable[17]: Result */
28671 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
28672 variable[16] = variable[17];
28673 /* Register variable[17]: Local variable */
28674 variable[17] = variable[11] /*nodearraylist3*/;
28675 /* Register variable[18]: Result */
28676 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
28677 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11636); nit_exit(1);}
28678 /* Register variable[18]: Local variable */
28679 /* Register variable[19]: Result */
28680 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[17] /*tkwwritablenode8*/) /*new AWriteAble*/;
28681 variable[18] = variable[19];
28682 /* Register variable[19]: Local variable */
28683 variable[19] = variable[10] /*nodearraylist4*/;
28684 /* Register variable[20]: Result */
28685 variable[20] = TAG_Bool(( variable[19] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[19] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28686 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11642); nit_exit(1);}
28687 /* Register variable[20]: Local variable */
28688 variable[20] = variable[9] /*nodearraylist5*/;
28689 /* Register variable[21]: Result */
28690 variable[21] = TAG_Bool(( variable[20] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28691 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11644); nit_exit(1);}
28692 /* Register variable[21]: Local variable */
28693 variable[21] = variable[8] /*nodearraylist6*/;
28694 /* Register variable[22]: Result */
28695 variable[22] = TAG_Bool(( variable[21] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[21] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28696 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11646); nit_exit(1);}
28697 /* Register variable[22]: Local variable */
28698 variable[22] = variable[7] /*nodearraylist7*/;
28699 /* Register variable[23]: Result */
28700 variable[23] = TAG_Bool(( variable[22] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[22] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
28701 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11648); nit_exit(1);}
28702 /* Register variable[23]: Local variable */
28703 variable[23] = variable[4] /*nodearraylist10*/;
28704 /* Register variable[24]: Result */
28705 variable[24] = TAG_Bool(( variable[23] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[23] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28706 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction228___action, LOCATE_parser, 11650); nit_exit(1);}
28707 /* Register variable[24]: Local variable */
28708 /* Register variable[25]: Result */
28709 variable[25] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, variable[18] /*pablenode6*/, NIT_NULL /*null*/, variable[19] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[20] /*tkwvarnode12*/, variable[21] /*tattridnode13*/, variable[22] /*ptypenode14*/, variable[23] /*pexprnode15*/) /*new AAttrPropdef*/;
28710 variable[24] = variable[25];
28711 variable[3] = variable[24] /*ppropdefnode1*/ /*node_list=*/;
28712 /* Register variable[25]: Result */
28713 variable[25] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28714 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[25], variable[3] /*node_list*/) /*Parser::push*/;
28715 return_label488: while(false);
28716 tracehead = trace.prev;
28717 return;
28718 }
28719 void parser___ReduceAction228___init(val_t self, int* init_table) {
28720 struct trace_t trace = {NULL, NULL, 11666, LOCATE_parser___ReduceAction228___init};
28721 val_t variable[2];
28722 struct WBT_ **closurevariable = NULL;
28723 trace.prev = tracehead; tracehead = &trace;
28724 trace.file = LOCATE_parser;
28725 /* Register variable[0]: Local variable */
28726 variable[0] = self;
28727 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction228].i]) return;
28728 /* Register variable[1]: Method return value and escape marker */
28729 return_label489: while(false);
28730 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction228].i] = 1;
28731 tracehead = trace.prev;
28732 return;
28733 }
28734 void parser___ReduceAction229___action(val_t self, val_t param0) {
28735 struct trace_t trace = {NULL, NULL, 11670, LOCATE_parser___ReduceAction229___action};
28736 val_t variable[28];
28737 struct WBT_ **closurevariable = NULL;
28738 trace.prev = tracehead; tracehead = &trace;
28739 trace.file = LOCATE_parser;
28740 /* Register variable[0]: Local variable */
28741 variable[0] = self;
28742 /* Register variable[1]: Local variable */
28743 variable[1] = param0;
28744 /* Register variable[2]: Method return value and escape marker */
28745 /* Register variable[3]: Local variable */
28746 variable[3] = NIT_NULL /*null*/;
28747 /* Register variable[4]: Local variable */
28748 /* Register variable[5]: Result */
28749 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28750 variable[4] = variable[5];
28751 /* Register variable[5]: Local variable */
28752 /* Register variable[6]: Result */
28753 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28754 variable[5] = variable[6];
28755 /* Register variable[6]: Local variable */
28756 /* Register variable[7]: Result */
28757 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28758 variable[6] = variable[7];
28759 /* Register variable[7]: Local variable */
28760 /* Register variable[8]: Result */
28761 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28762 variable[7] = variable[8];
28763 /* Register variable[8]: Local variable */
28764 /* Register variable[9]: Result */
28765 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28766 variable[8] = variable[9];
28767 /* Register variable[9]: Local variable */
28768 /* Register variable[10]: Result */
28769 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28770 variable[9] = variable[10];
28771 /* Register variable[10]: Local variable */
28772 /* Register variable[11]: Result */
28773 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28774 variable[10] = variable[11];
28775 /* Register variable[11]: Local variable */
28776 /* Register variable[12]: Result */
28777 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28778 variable[11] = variable[12];
28779 /* Register variable[12]: Local variable */
28780 /* Register variable[13]: Result */
28781 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28782 variable[12] = variable[13];
28783 /* Register variable[13]: Local variable */
28784 /* Register variable[14]: Result */
28785 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28786 variable[13] = variable[14];
28787 /* Register variable[14]: Local variable */
28788 /* Register variable[15]: Result */
28789 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28790 variable[14] = variable[15];
28791 /* Register variable[15]: Local variable */
28792 variable[15] = variable[14] /*nodearraylist1*/;
28793 /* Register variable[16]: Result */
28794 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28795 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11685); nit_exit(1);}
28796 /* Register variable[16]: Local variable */
28797 variable[16] = variable[13] /*nodearraylist2*/;
28798 /* Register variable[17]: Result */
28799 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
28800 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11687); nit_exit(1);}
28801 /* Register variable[17]: Local variable */
28802 /* Register variable[18]: Result */
28803 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
28804 variable[17] = variable[18];
28805 /* Register variable[18]: Local variable */
28806 variable[18] = variable[12] /*nodearraylist3*/;
28807 /* Register variable[19]: Result */
28808 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
28809 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11693); nit_exit(1);}
28810 /* Register variable[19]: Local variable */
28811 variable[19] = variable[11] /*nodearraylist4*/;
28812 /* Register variable[20]: Result */
28813 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
28814 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11695); nit_exit(1);}
28815 /* Register variable[20]: Local variable */
28816 /* Register variable[21]: Result */
28817 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[18] /*tkwredefnode7*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
28818 variable[20] = variable[21];
28819 /* Register variable[21]: Local variable */
28820 variable[21] = variable[10] /*nodearraylist5*/;
28821 /* Register variable[22]: Result */
28822 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28823 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11701); nit_exit(1);}
28824 /* Register variable[22]: Local variable */
28825 variable[22] = variable[9] /*nodearraylist6*/;
28826 /* Register variable[23]: Result */
28827 variable[23] = TAG_Bool(( variable[22] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28828 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11703); nit_exit(1);}
28829 /* Register variable[23]: Local variable */
28830 variable[23] = variable[8] /*nodearraylist7*/;
28831 /* Register variable[24]: Result */
28832 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28833 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11705); nit_exit(1);}
28834 /* Register variable[24]: Local variable */
28835 variable[24] = variable[7] /*nodearraylist8*/;
28836 /* Register variable[25]: Result */
28837 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
28838 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11707); nit_exit(1);}
28839 /* Register variable[25]: Local variable */
28840 variable[25] = variable[4] /*nodearraylist11*/;
28841 /* Register variable[26]: Result */
28842 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28843 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction229___action, LOCATE_parser, 11709); nit_exit(1);}
28844 /* Register variable[26]: Local variable */
28845 /* Register variable[27]: Result */
28846 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[20] /*pablenode6*/, NIT_NULL /*null*/, variable[21] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[22] /*tkwvarnode12*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
28847 variable[26] = variable[27];
28848 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
28849 /* Register variable[27]: Result */
28850 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28851 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
28852 return_label490: while(false);
28853 tracehead = trace.prev;
28854 return;
28855 }
28856 void parser___ReduceAction229___init(val_t self, int* init_table) {
28857 struct trace_t trace = {NULL, NULL, 11725, LOCATE_parser___ReduceAction229___init};
28858 val_t variable[2];
28859 struct WBT_ **closurevariable = NULL;
28860 trace.prev = tracehead; tracehead = &trace;
28861 trace.file = LOCATE_parser;
28862 /* Register variable[0]: Local variable */
28863 variable[0] = self;
28864 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction229].i]) return;
28865 /* Register variable[1]: Method return value and escape marker */
28866 return_label491: while(false);
28867 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction229].i] = 1;
28868 tracehead = trace.prev;
28869 return;
28870 }
28871 void parser___ReduceAction230___action(val_t self, val_t param0) {
28872 struct trace_t trace = {NULL, NULL, 11729, LOCATE_parser___ReduceAction230___action};
28873 val_t variable[23];
28874 struct WBT_ **closurevariable = NULL;
28875 trace.prev = tracehead; tracehead = &trace;
28876 trace.file = LOCATE_parser;
28877 /* Register variable[0]: Local variable */
28878 variable[0] = self;
28879 /* Register variable[1]: Local variable */
28880 variable[1] = param0;
28881 /* Register variable[2]: Method return value and escape marker */
28882 /* Register variable[3]: Local variable */
28883 variable[3] = NIT_NULL /*null*/;
28884 /* Register variable[4]: Local variable */
28885 /* Register variable[5]: Result */
28886 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28887 variable[4] = variable[5];
28888 /* Register variable[5]: Local variable */
28889 /* Register variable[6]: Result */
28890 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28891 variable[5] = variable[6];
28892 /* Register variable[6]: Local variable */
28893 /* Register variable[7]: Result */
28894 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28895 variable[6] = variable[7];
28896 /* Register variable[7]: Local variable */
28897 /* Register variable[8]: Result */
28898 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28899 variable[7] = variable[8];
28900 /* Register variable[8]: Local variable */
28901 /* Register variable[9]: Result */
28902 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28903 variable[8] = variable[9];
28904 /* Register variable[9]: Local variable */
28905 /* Register variable[10]: Result */
28906 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28907 variable[9] = variable[10];
28908 /* Register variable[10]: Local variable */
28909 /* Register variable[11]: Result */
28910 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28911 variable[10] = variable[11];
28912 /* Register variable[11]: Local variable */
28913 /* Register variable[12]: Result */
28914 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28915 variable[11] = variable[12];
28916 /* Register variable[12]: Local variable */
28917 /* Register variable[13]: Result */
28918 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
28919 variable[12] = variable[13];
28920 /* Register variable[13]: Local variable */
28921 variable[13] = variable[12] /*nodearraylist1*/;
28922 /* Register variable[14]: Result */
28923 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
28924 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11742); nit_exit(1);}
28925 /* Register variable[14]: Local variable */
28926 variable[14] = variable[11] /*nodearraylist2*/;
28927 /* Register variable[15]: Result */
28928 variable[15] = TAG_Bool(( variable[14] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
28929 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11744); nit_exit(1);}
28930 /* Register variable[15]: Local variable */
28931 /* Register variable[16]: Result */
28932 variable[16] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[14] /*tkwreadablenode5*/) /*new AReadAble*/;
28933 variable[15] = variable[16];
28934 /* Register variable[16]: Local variable */
28935 variable[16] = variable[10] /*nodearraylist3*/;
28936 /* Register variable[17]: Result */
28937 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
28938 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11750); nit_exit(1);}
28939 /* Register variable[17]: Local variable */
28940 variable[17] = variable[9] /*nodearraylist4*/;
28941 /* Register variable[18]: Result */
28942 variable[18] = TAG_Bool(( variable[17] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
28943 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11752); nit_exit(1);}
28944 /* Register variable[18]: Local variable */
28945 variable[18] = variable[8] /*nodearraylist5*/;
28946 /* Register variable[19]: Result */
28947 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
28948 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11754); nit_exit(1);}
28949 /* Register variable[19]: Local variable */
28950 variable[19] = variable[7] /*nodearraylist6*/;
28951 /* Register variable[20]: Result */
28952 variable[20] = TAG_Bool(( variable[19] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
28953 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11756); nit_exit(1);}
28954 /* Register variable[20]: Local variable */
28955 variable[20] = variable[4] /*nodearraylist9*/;
28956 /* Register variable[21]: Result */
28957 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
28958 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction230___action, LOCATE_parser, 11758); nit_exit(1);}
28959 /* Register variable[21]: Local variable */
28960 /* Register variable[22]: Result */
28961 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, variable[15] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[17] /*tkwvarnode10*/, variable[18] /*tattridnode11*/, variable[19] /*ptypenode12*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
28962 variable[21] = variable[22];
28963 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
28964 /* Register variable[22]: Result */
28965 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
28966 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
28967 return_label492: while(false);
28968 tracehead = trace.prev;
28969 return;
28970 }
28971 void parser___ReduceAction230___init(val_t self, int* init_table) {
28972 struct trace_t trace = {NULL, NULL, 11774, LOCATE_parser___ReduceAction230___init};
28973 val_t variable[2];
28974 struct WBT_ **closurevariable = NULL;
28975 trace.prev = tracehead; tracehead = &trace;
28976 trace.file = LOCATE_parser;
28977 /* Register variable[0]: Local variable */
28978 variable[0] = self;
28979 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction230].i]) return;
28980 /* Register variable[1]: Method return value and escape marker */
28981 return_label493: while(false);
28982 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction230].i] = 1;
28983 tracehead = trace.prev;
28984 return;
28985 }
28986 void parser___ReduceAction231___action(val_t self, val_t param0) {
28987 struct trace_t trace = {NULL, NULL, 11778, LOCATE_parser___ReduceAction231___action};
28988 val_t variable[28];
28989 struct WBT_ **closurevariable = NULL;
28990 trace.prev = tracehead; tracehead = &trace;
28991 trace.file = LOCATE_parser;
28992 /* Register variable[0]: Local variable */
28993 variable[0] = self;
28994 /* Register variable[1]: Local variable */
28995 variable[1] = param0;
28996 /* Register variable[2]: Method return value and escape marker */
28997 /* Register variable[3]: Local variable */
28998 variable[3] = NIT_NULL /*null*/;
28999 /* Register variable[4]: Local variable */
29000 /* Register variable[5]: Result */
29001 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29002 variable[4] = variable[5];
29003 /* Register variable[5]: Local variable */
29004 /* Register variable[6]: Result */
29005 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29006 variable[5] = variable[6];
29007 /* Register variable[6]: Local variable */
29008 /* Register variable[7]: Result */
29009 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29010 variable[6] = variable[7];
29011 /* Register variable[7]: Local variable */
29012 /* Register variable[8]: Result */
29013 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29014 variable[7] = variable[8];
29015 /* Register variable[8]: Local variable */
29016 /* Register variable[9]: Result */
29017 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29018 variable[8] = variable[9];
29019 /* Register variable[9]: Local variable */
29020 /* Register variable[10]: Result */
29021 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29022 variable[9] = variable[10];
29023 /* Register variable[10]: Local variable */
29024 /* Register variable[11]: Result */
29025 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29026 variable[10] = variable[11];
29027 /* Register variable[11]: Local variable */
29028 /* Register variable[12]: Result */
29029 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29030 variable[11] = variable[12];
29031 /* Register variable[12]: Local variable */
29032 /* Register variable[13]: Result */
29033 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29034 variable[12] = variable[13];
29035 /* Register variable[13]: Local variable */
29036 /* Register variable[14]: Result */
29037 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29038 variable[13] = variable[14];
29039 /* Register variable[14]: Local variable */
29040 /* Register variable[15]: Result */
29041 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29042 variable[14] = variable[15];
29043 /* Register variable[15]: Local variable */
29044 variable[15] = variable[14] /*nodearraylist1*/;
29045 /* Register variable[16]: Result */
29046 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29047 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11793); nit_exit(1);}
29048 /* Register variable[16]: Local variable */
29049 variable[16] = variable[13] /*nodearraylist2*/;
29050 /* Register variable[17]: Result */
29051 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29052 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11795); nit_exit(1);}
29053 /* Register variable[17]: Local variable */
29054 variable[17] = variable[12] /*nodearraylist3*/;
29055 /* Register variable[18]: Result */
29056 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
29057 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11797); nit_exit(1);}
29058 /* Register variable[18]: Local variable */
29059 /* Register variable[19]: Result */
29060 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
29061 variable[18] = variable[19];
29062 /* Register variable[19]: Local variable */
29063 variable[19] = variable[11] /*nodearraylist4*/;
29064 /* Register variable[20]: Result */
29065 variable[20] = TAG_Bool(( variable[19] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29066 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11803); nit_exit(1);}
29067 /* Register variable[20]: Local variable */
29068 /* Register variable[21]: Result */
29069 variable[21] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[19] /*tkwwritablenode8*/) /*new AWriteAble*/;
29070 variable[20] = variable[21];
29071 /* Register variable[21]: Local variable */
29072 variable[21] = variable[10] /*nodearraylist5*/;
29073 /* Register variable[22]: Result */
29074 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29075 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11809); nit_exit(1);}
29076 /* Register variable[22]: Local variable */
29077 variable[22] = variable[9] /*nodearraylist6*/;
29078 /* Register variable[23]: Result */
29079 variable[23] = TAG_Bool(( variable[22] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29080 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11811); nit_exit(1);}
29081 /* Register variable[23]: Local variable */
29082 variable[23] = variable[8] /*nodearraylist7*/;
29083 /* Register variable[24]: Result */
29084 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29085 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11813); nit_exit(1);}
29086 /* Register variable[24]: Local variable */
29087 variable[24] = variable[7] /*nodearraylist8*/;
29088 /* Register variable[25]: Result */
29089 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
29090 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11815); nit_exit(1);}
29091 /* Register variable[25]: Local variable */
29092 variable[25] = variable[4] /*nodearraylist11*/;
29093 /* Register variable[26]: Result */
29094 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29095 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction231___action, LOCATE_parser, 11817); nit_exit(1);}
29096 /* Register variable[26]: Local variable */
29097 /* Register variable[27]: Result */
29098 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[20] /*pablenode6*/, NIT_NULL /*null*/, variable[21] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[22] /*tkwvarnode12*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
29099 variable[26] = variable[27];
29100 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
29101 /* Register variable[27]: Result */
29102 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29103 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
29104 return_label494: while(false);
29105 tracehead = trace.prev;
29106 return;
29107 }
29108 void parser___ReduceAction231___init(val_t self, int* init_table) {
29109 struct trace_t trace = {NULL, NULL, 11833, LOCATE_parser___ReduceAction231___init};
29110 val_t variable[2];
29111 struct WBT_ **closurevariable = NULL;
29112 trace.prev = tracehead; tracehead = &trace;
29113 trace.file = LOCATE_parser;
29114 /* Register variable[0]: Local variable */
29115 variable[0] = self;
29116 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction231].i]) return;
29117 /* Register variable[1]: Method return value and escape marker */
29118 return_label495: while(false);
29119 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction231].i] = 1;
29120 tracehead = trace.prev;
29121 return;
29122 }
29123 void parser___ReduceAction232___action(val_t self, val_t param0) {
29124 struct trace_t trace = {NULL, NULL, 11837, LOCATE_parser___ReduceAction232___action};
29125 val_t variable[30];
29126 struct WBT_ **closurevariable = NULL;
29127 trace.prev = tracehead; tracehead = &trace;
29128 trace.file = LOCATE_parser;
29129 /* Register variable[0]: Local variable */
29130 variable[0] = self;
29131 /* Register variable[1]: Local variable */
29132 variable[1] = param0;
29133 /* Register variable[2]: Method return value and escape marker */
29134 /* Register variable[3]: Local variable */
29135 variable[3] = NIT_NULL /*null*/;
29136 /* Register variable[4]: Local variable */
29137 /* Register variable[5]: Result */
29138 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29139 variable[4] = variable[5];
29140 /* Register variable[5]: Local variable */
29141 /* Register variable[6]: Result */
29142 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29143 variable[5] = variable[6];
29144 /* Register variable[6]: Local variable */
29145 /* Register variable[7]: Result */
29146 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29147 variable[6] = variable[7];
29148 /* Register variable[7]: Local variable */
29149 /* Register variable[8]: Result */
29150 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29151 variable[7] = variable[8];
29152 /* Register variable[8]: Local variable */
29153 /* Register variable[9]: Result */
29154 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29155 variable[8] = variable[9];
29156 /* Register variable[9]: Local variable */
29157 /* Register variable[10]: Result */
29158 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29159 variable[9] = variable[10];
29160 /* Register variable[10]: Local variable */
29161 /* Register variable[11]: Result */
29162 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29163 variable[10] = variable[11];
29164 /* Register variable[11]: Local variable */
29165 /* Register variable[12]: Result */
29166 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29167 variable[11] = variable[12];
29168 /* Register variable[12]: Local variable */
29169 /* Register variable[13]: Result */
29170 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29171 variable[12] = variable[13];
29172 /* Register variable[13]: Local variable */
29173 /* Register variable[14]: Result */
29174 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29175 variable[13] = variable[14];
29176 /* Register variable[14]: Local variable */
29177 /* Register variable[15]: Result */
29178 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29179 variable[14] = variable[15];
29180 /* Register variable[15]: Local variable */
29181 /* Register variable[16]: Result */
29182 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29183 variable[15] = variable[16];
29184 /* Register variable[16]: Local variable */
29185 variable[16] = variable[15] /*nodearraylist1*/;
29186 /* Register variable[17]: Result */
29187 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29188 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11853); nit_exit(1);}
29189 /* Register variable[17]: Local variable */
29190 variable[17] = variable[14] /*nodearraylist2*/;
29191 /* Register variable[18]: Result */
29192 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29193 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11855); nit_exit(1);}
29194 /* Register variable[18]: Local variable */
29195 variable[18] = variable[13] /*nodearraylist3*/;
29196 /* Register variable[19]: Result */
29197 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
29198 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11857); nit_exit(1);}
29199 /* Register variable[19]: Local variable */
29200 /* Register variable[20]: Result */
29201 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
29202 variable[19] = variable[20];
29203 /* Register variable[20]: Local variable */
29204 variable[20] = variable[12] /*nodearraylist4*/;
29205 /* Register variable[21]: Result */
29206 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29207 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11863); nit_exit(1);}
29208 /* Register variable[21]: Local variable */
29209 variable[21] = variable[11] /*nodearraylist5*/;
29210 /* Register variable[22]: Result */
29211 variable[22] = TAG_Bool(( variable[21] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29212 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11865); nit_exit(1);}
29213 /* Register variable[22]: Local variable */
29214 /* Register variable[23]: Result */
29215 variable[23] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[20] /*tkwredefnode7*/, variable[21] /*tkwwritablenode8*/) /*new AWriteAble*/;
29216 variable[22] = variable[23];
29217 /* Register variable[23]: Local variable */
29218 variable[23] = variable[10] /*nodearraylist6*/;
29219 /* Register variable[24]: Result */
29220 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29221 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11871); nit_exit(1);}
29222 /* Register variable[24]: Local variable */
29223 variable[24] = variable[9] /*nodearraylist7*/;
29224 /* Register variable[25]: Result */
29225 variable[25] = TAG_Bool(( variable[24] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29226 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11873); nit_exit(1);}
29227 /* Register variable[25]: Local variable */
29228 variable[25] = variable[8] /*nodearraylist8*/;
29229 /* Register variable[26]: Result */
29230 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29231 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11875); nit_exit(1);}
29232 /* Register variable[26]: Local variable */
29233 variable[26] = variable[7] /*nodearraylist9*/;
29234 /* Register variable[27]: Result */
29235 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
29236 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11877); nit_exit(1);}
29237 /* Register variable[27]: Local variable */
29238 variable[27] = variable[4] /*nodearraylist12*/;
29239 /* Register variable[28]: Result */
29240 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29241 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction232___action, LOCATE_parser, 11879); nit_exit(1);}
29242 /* Register variable[28]: Local variable */
29243 /* Register variable[29]: Result */
29244 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[22] /*pablenode6*/, NIT_NULL /*null*/, variable[23] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[24] /*tkwvarnode12*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
29245 variable[28] = variable[29];
29246 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
29247 /* Register variable[29]: Result */
29248 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29249 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
29250 return_label496: while(false);
29251 tracehead = trace.prev;
29252 return;
29253 }
29254 void parser___ReduceAction232___init(val_t self, int* init_table) {
29255 struct trace_t trace = {NULL, NULL, 11895, LOCATE_parser___ReduceAction232___init};
29256 val_t variable[2];
29257 struct WBT_ **closurevariable = NULL;
29258 trace.prev = tracehead; tracehead = &trace;
29259 trace.file = LOCATE_parser;
29260 /* Register variable[0]: Local variable */
29261 variable[0] = self;
29262 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction232].i]) return;
29263 /* Register variable[1]: Method return value and escape marker */
29264 return_label497: while(false);
29265 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction232].i] = 1;
29266 tracehead = trace.prev;
29267 return;
29268 }
29269 void parser___ReduceAction233___action(val_t self, val_t param0) {
29270 struct trace_t trace = {NULL, NULL, 11899, LOCATE_parser___ReduceAction233___action};
29271 val_t variable[25];
29272 struct WBT_ **closurevariable = NULL;
29273 trace.prev = tracehead; tracehead = &trace;
29274 trace.file = LOCATE_parser;
29275 /* Register variable[0]: Local variable */
29276 variable[0] = self;
29277 /* Register variable[1]: Local variable */
29278 variable[1] = param0;
29279 /* Register variable[2]: Method return value and escape marker */
29280 /* Register variable[3]: Local variable */
29281 variable[3] = NIT_NULL /*null*/;
29282 /* Register variable[4]: Local variable */
29283 /* Register variable[5]: Result */
29284 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29285 variable[4] = variable[5];
29286 /* Register variable[5]: Local variable */
29287 /* Register variable[6]: Result */
29288 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29289 variable[5] = variable[6];
29290 /* Register variable[6]: Local variable */
29291 /* Register variable[7]: Result */
29292 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29293 variable[6] = variable[7];
29294 /* Register variable[7]: Local variable */
29295 /* Register variable[8]: Result */
29296 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29297 variable[7] = variable[8];
29298 /* Register variable[8]: Local variable */
29299 /* Register variable[9]: Result */
29300 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29301 variable[8] = variable[9];
29302 /* Register variable[9]: Local variable */
29303 /* Register variable[10]: Result */
29304 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29305 variable[9] = variable[10];
29306 /* Register variable[10]: Local variable */
29307 /* Register variable[11]: Result */
29308 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29309 variable[10] = variable[11];
29310 /* Register variable[11]: Local variable */
29311 /* Register variable[12]: Result */
29312 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29313 variable[11] = variable[12];
29314 /* Register variable[12]: Local variable */
29315 /* Register variable[13]: Result */
29316 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29317 variable[12] = variable[13];
29318 /* Register variable[13]: Local variable */
29319 /* Register variable[14]: Result */
29320 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29321 variable[13] = variable[14];
29322 /* Register variable[14]: Local variable */
29323 variable[14] = variable[13] /*nodearraylist1*/;
29324 /* Register variable[15]: Result */
29325 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29326 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11913); nit_exit(1);}
29327 /* Register variable[15]: Local variable */
29328 variable[15] = variable[12] /*nodearraylist2*/;
29329 /* Register variable[16]: Result */
29330 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29331 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11915); nit_exit(1);}
29332 /* Register variable[16]: Local variable */
29333 variable[16] = variable[11] /*nodearraylist3*/;
29334 /* Register variable[17]: Result */
29335 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
29336 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11917); nit_exit(1);}
29337 /* Register variable[17]: Local variable */
29338 /* Register variable[18]: Result */
29339 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[15] /*tkwredefnode4*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
29340 variable[17] = variable[18];
29341 /* Register variable[18]: Local variable */
29342 variable[18] = variable[10] /*nodearraylist4*/;
29343 /* Register variable[19]: Result */
29344 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29345 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11923); nit_exit(1);}
29346 /* Register variable[19]: Local variable */
29347 variable[19] = variable[9] /*nodearraylist5*/;
29348 /* Register variable[20]: Result */
29349 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29350 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11925); nit_exit(1);}
29351 /* Register variable[20]: Local variable */
29352 variable[20] = variable[8] /*nodearraylist6*/;
29353 /* Register variable[21]: Result */
29354 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29355 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11927); nit_exit(1);}
29356 /* Register variable[21]: Local variable */
29357 variable[21] = variable[7] /*nodearraylist7*/;
29358 /* Register variable[22]: Result */
29359 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
29360 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11929); nit_exit(1);}
29361 /* Register variable[22]: Local variable */
29362 variable[22] = variable[4] /*nodearraylist10*/;
29363 /* Register variable[23]: Result */
29364 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29365 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction233___action, LOCATE_parser, 11931); nit_exit(1);}
29366 /* Register variable[23]: Local variable */
29367 /* Register variable[24]: Result */
29368 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[17] /*pablenode3*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode10*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
29369 variable[23] = variable[24];
29370 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29371 /* Register variable[24]: Result */
29372 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29373 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29374 return_label498: while(false);
29375 tracehead = trace.prev;
29376 return;
29377 }
29378 void parser___ReduceAction233___init(val_t self, int* init_table) {
29379 struct trace_t trace = {NULL, NULL, 11947, LOCATE_parser___ReduceAction233___init};
29380 val_t variable[2];
29381 struct WBT_ **closurevariable = NULL;
29382 trace.prev = tracehead; tracehead = &trace;
29383 trace.file = LOCATE_parser;
29384 /* Register variable[0]: Local variable */
29385 variable[0] = self;
29386 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction233].i]) return;
29387 /* Register variable[1]: Method return value and escape marker */
29388 return_label499: while(false);
29389 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction233].i] = 1;
29390 tracehead = trace.prev;
29391 return;
29392 }
29393 void parser___ReduceAction234___action(val_t self, val_t param0) {
29394 struct trace_t trace = {NULL, NULL, 11951, LOCATE_parser___ReduceAction234___action};
29395 val_t variable[23];
29396 struct WBT_ **closurevariable = NULL;
29397 trace.prev = tracehead; tracehead = &trace;
29398 trace.file = LOCATE_parser;
29399 /* Register variable[0]: Local variable */
29400 variable[0] = self;
29401 /* Register variable[1]: Local variable */
29402 variable[1] = param0;
29403 /* Register variable[2]: Method return value and escape marker */
29404 /* Register variable[3]: Local variable */
29405 variable[3] = NIT_NULL /*null*/;
29406 /* Register variable[4]: Local variable */
29407 /* Register variable[5]: Result */
29408 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29409 variable[4] = variable[5];
29410 /* Register variable[5]: Local variable */
29411 /* Register variable[6]: Result */
29412 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29413 variable[5] = variable[6];
29414 /* Register variable[6]: Local variable */
29415 /* Register variable[7]: Result */
29416 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29417 variable[6] = variable[7];
29418 /* Register variable[7]: Local variable */
29419 /* Register variable[8]: Result */
29420 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29421 variable[7] = variable[8];
29422 /* Register variable[8]: Local variable */
29423 /* Register variable[9]: Result */
29424 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29425 variable[8] = variable[9];
29426 /* Register variable[9]: Local variable */
29427 /* Register variable[10]: Result */
29428 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29429 variable[9] = variable[10];
29430 /* Register variable[10]: Local variable */
29431 /* Register variable[11]: Result */
29432 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29433 variable[10] = variable[11];
29434 /* Register variable[11]: Local variable */
29435 /* Register variable[12]: Result */
29436 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29437 variable[11] = variable[12];
29438 /* Register variable[12]: Local variable */
29439 /* Register variable[13]: Result */
29440 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29441 variable[12] = variable[13];
29442 /* Register variable[13]: Local variable */
29443 variable[13] = variable[12] /*nodearraylist1*/;
29444 /* Register variable[14]: Result */
29445 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29446 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11964); nit_exit(1);}
29447 /* Register variable[14]: Local variable */
29448 variable[14] = variable[11] /*nodearraylist2*/;
29449 /* Register variable[15]: Result */
29450 variable[15] = TAG_Bool(( variable[14] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29451 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11966); nit_exit(1);}
29452 /* Register variable[15]: Local variable */
29453 /* Register variable[16]: Result */
29454 variable[16] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[14] /*tkwwritablenode6*/) /*new AWriteAble*/;
29455 variable[15] = variable[16];
29456 /* Register variable[16]: Local variable */
29457 variable[16] = variable[10] /*nodearraylist3*/;
29458 /* Register variable[17]: Result */
29459 variable[17] = TAG_Bool(( variable[16] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29460 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11972); nit_exit(1);}
29461 /* Register variable[17]: Local variable */
29462 variable[17] = variable[9] /*nodearraylist4*/;
29463 /* Register variable[18]: Result */
29464 variable[18] = TAG_Bool(( variable[17] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29465 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11974); nit_exit(1);}
29466 /* Register variable[18]: Local variable */
29467 variable[18] = variable[8] /*nodearraylist5*/;
29468 /* Register variable[19]: Result */
29469 variable[19] = TAG_Bool(( variable[18] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[18] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29470 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11976); nit_exit(1);}
29471 /* Register variable[19]: Local variable */
29472 variable[19] = variable[7] /*nodearraylist6*/;
29473 /* Register variable[20]: Result */
29474 variable[20] = TAG_Bool(( variable[19] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[19] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
29475 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11978); nit_exit(1);}
29476 /* Register variable[20]: Local variable */
29477 variable[20] = variable[4] /*nodearraylist9*/;
29478 /* Register variable[21]: Result */
29479 variable[21] = TAG_Bool(( variable[20] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29480 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction234___action, LOCATE_parser, 11980); nit_exit(1);}
29481 /* Register variable[21]: Local variable */
29482 /* Register variable[22]: Result */
29483 variable[22] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, variable[15] /*pablenode4*/, NIT_NULL /*null*/, variable[16] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[17] /*tkwvarnode10*/, variable[18] /*tattridnode11*/, variable[19] /*ptypenode12*/, variable[20] /*pexprnode13*/) /*new AAttrPropdef*/;
29484 variable[21] = variable[22];
29485 variable[3] = variable[21] /*ppropdefnode1*/ /*node_list=*/;
29486 /* Register variable[22]: Result */
29487 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29488 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
29489 return_label500: while(false);
29490 tracehead = trace.prev;
29491 return;
29492 }
29493 void parser___ReduceAction234___init(val_t self, int* init_table) {
29494 struct trace_t trace = {NULL, NULL, 11996, LOCATE_parser___ReduceAction234___init};
29495 val_t variable[2];
29496 struct WBT_ **closurevariable = NULL;
29497 trace.prev = tracehead; tracehead = &trace;
29498 trace.file = LOCATE_parser;
29499 /* Register variable[0]: Local variable */
29500 variable[0] = self;
29501 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction234].i]) return;
29502 /* Register variable[1]: Method return value and escape marker */
29503 return_label501: while(false);
29504 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction234].i] = 1;
29505 tracehead = trace.prev;
29506 return;
29507 }
29508 void parser___ReduceAction235___action(val_t self, val_t param0) {
29509 struct trace_t trace = {NULL, NULL, 12000, LOCATE_parser___ReduceAction235___action};
29510 val_t variable[25];
29511 struct WBT_ **closurevariable = NULL;
29512 trace.prev = tracehead; tracehead = &trace;
29513 trace.file = LOCATE_parser;
29514 /* Register variable[0]: Local variable */
29515 variable[0] = self;
29516 /* Register variable[1]: Local variable */
29517 variable[1] = param0;
29518 /* Register variable[2]: Method return value and escape marker */
29519 /* Register variable[3]: Local variable */
29520 variable[3] = NIT_NULL /*null*/;
29521 /* Register variable[4]: Local variable */
29522 /* Register variable[5]: Result */
29523 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29524 variable[4] = variable[5];
29525 /* Register variable[5]: Local variable */
29526 /* Register variable[6]: Result */
29527 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29528 variable[5] = variable[6];
29529 /* Register variable[6]: Local variable */
29530 /* Register variable[7]: Result */
29531 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29532 variable[6] = variable[7];
29533 /* Register variable[7]: Local variable */
29534 /* Register variable[8]: Result */
29535 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29536 variable[7] = variable[8];
29537 /* Register variable[8]: Local variable */
29538 /* Register variable[9]: Result */
29539 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29540 variable[8] = variable[9];
29541 /* Register variable[9]: Local variable */
29542 /* Register variable[10]: Result */
29543 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29544 variable[9] = variable[10];
29545 /* Register variable[10]: Local variable */
29546 /* Register variable[11]: Result */
29547 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29548 variable[10] = variable[11];
29549 /* Register variable[11]: Local variable */
29550 /* Register variable[12]: Result */
29551 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29552 variable[11] = variable[12];
29553 /* Register variable[12]: Local variable */
29554 /* Register variable[13]: Result */
29555 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29556 variable[12] = variable[13];
29557 /* Register variable[13]: Local variable */
29558 /* Register variable[14]: Result */
29559 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29560 variable[13] = variable[14];
29561 /* Register variable[14]: Local variable */
29562 variable[14] = variable[13] /*nodearraylist1*/;
29563 /* Register variable[15]: Result */
29564 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29565 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12014); nit_exit(1);}
29566 /* Register variable[15]: Local variable */
29567 variable[15] = variable[12] /*nodearraylist2*/;
29568 /* Register variable[16]: Result */
29569 variable[16] = TAG_Bool(( variable[15] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29570 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12016); nit_exit(1);}
29571 /* Register variable[16]: Local variable */
29572 variable[16] = variable[11] /*nodearraylist3*/;
29573 /* Register variable[17]: Result */
29574 variable[17] = TAG_Bool(( variable[16] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29575 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12018); nit_exit(1);}
29576 /* Register variable[17]: Local variable */
29577 /* Register variable[18]: Result */
29578 variable[18] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[15] /*tkwredefnode5*/, variable[16] /*tkwwritablenode6*/) /*new AWriteAble*/;
29579 variable[17] = variable[18];
29580 /* Register variable[18]: Local variable */
29581 variable[18] = variable[10] /*nodearraylist4*/;
29582 /* Register variable[19]: Result */
29583 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29584 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12024); nit_exit(1);}
29585 /* Register variable[19]: Local variable */
29586 variable[19] = variable[9] /*nodearraylist5*/;
29587 /* Register variable[20]: Result */
29588 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29589 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12026); nit_exit(1);}
29590 /* Register variable[20]: Local variable */
29591 variable[20] = variable[8] /*nodearraylist6*/;
29592 /* Register variable[21]: Result */
29593 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29594 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12028); nit_exit(1);}
29595 /* Register variable[21]: Local variable */
29596 variable[21] = variable[7] /*nodearraylist7*/;
29597 /* Register variable[22]: Result */
29598 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
29599 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12030); nit_exit(1);}
29600 /* Register variable[22]: Local variable */
29601 variable[22] = variable[4] /*nodearraylist10*/;
29602 /* Register variable[23]: Result */
29603 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29604 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction235___action, LOCATE_parser, 12032); nit_exit(1);}
29605 /* Register variable[23]: Local variable */
29606 /* Register variable[24]: Result */
29607 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[17] /*pablenode4*/, NIT_NULL /*null*/, variable[18] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode10*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
29608 variable[23] = variable[24];
29609 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
29610 /* Register variable[24]: Result */
29611 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29612 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
29613 return_label502: while(false);
29614 tracehead = trace.prev;
29615 return;
29616 }
29617 void parser___ReduceAction235___init(val_t self, int* init_table) {
29618 struct trace_t trace = {NULL, NULL, 12048, LOCATE_parser___ReduceAction235___init};
29619 val_t variable[2];
29620 struct WBT_ **closurevariable = NULL;
29621 trace.prev = tracehead; tracehead = &trace;
29622 trace.file = LOCATE_parser;
29623 /* Register variable[0]: Local variable */
29624 variable[0] = self;
29625 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction235].i]) return;
29626 /* Register variable[1]: Method return value and escape marker */
29627 return_label503: while(false);
29628 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction235].i] = 1;
29629 tracehead = trace.prev;
29630 return;
29631 }
29632 void parser___ReduceAction236___action(val_t self, val_t param0) {
29633 struct trace_t trace = {NULL, NULL, 12052, LOCATE_parser___ReduceAction236___action};
29634 val_t variable[20];
29635 struct WBT_ **closurevariable = NULL;
29636 trace.prev = tracehead; tracehead = &trace;
29637 trace.file = LOCATE_parser;
29638 /* Register variable[0]: Local variable */
29639 variable[0] = self;
29640 /* Register variable[1]: Local variable */
29641 variable[1] = param0;
29642 /* Register variable[2]: Method return value and escape marker */
29643 /* Register variable[3]: Local variable */
29644 variable[3] = NIT_NULL /*null*/;
29645 /* Register variable[4]: Local variable */
29646 /* Register variable[5]: Result */
29647 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29648 variable[4] = variable[5];
29649 /* Register variable[5]: Local variable */
29650 /* Register variable[6]: Result */
29651 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29652 variable[5] = variable[6];
29653 /* Register variable[6]: Local variable */
29654 /* Register variable[7]: Result */
29655 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29656 variable[6] = variable[7];
29657 /* Register variable[7]: Local variable */
29658 /* Register variable[8]: Result */
29659 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29660 variable[7] = variable[8];
29661 /* Register variable[8]: Local variable */
29662 /* Register variable[9]: Result */
29663 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29664 variable[8] = variable[9];
29665 /* Register variable[9]: Local variable */
29666 /* Register variable[10]: Result */
29667 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29668 variable[9] = variable[10];
29669 /* Register variable[10]: Local variable */
29670 /* Register variable[11]: Result */
29671 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29672 variable[10] = variable[11];
29673 /* Register variable[11]: Local variable */
29674 /* Register variable[12]: Result */
29675 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29676 variable[11] = variable[12];
29677 /* Register variable[12]: Local variable */
29678 variable[12] = variable[11] /*nodearraylist1*/;
29679 /* Register variable[13]: Result */
29680 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29681 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12064); nit_exit(1);}
29682 /* Register variable[13]: Local variable */
29683 variable[13] = variable[10] /*nodearraylist2*/;
29684 /* Register variable[14]: Result */
29685 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29686 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12066); nit_exit(1);}
29687 /* Register variable[14]: Local variable */
29688 variable[14] = variable[9] /*nodearraylist3*/;
29689 /* Register variable[15]: Result */
29690 variable[15] = TAG_Bool(( variable[14] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29691 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12068); nit_exit(1);}
29692 /* Register variable[15]: Local variable */
29693 variable[15] = variable[8] /*nodearraylist4*/;
29694 /* Register variable[16]: Result */
29695 variable[16] = TAG_Bool(( variable[15] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[15] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29696 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12070); nit_exit(1);}
29697 /* Register variable[16]: Local variable */
29698 variable[16] = variable[7] /*nodearraylist5*/;
29699 /* Register variable[17]: Result */
29700 variable[17] = TAG_Bool(( variable[16] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
29701 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12072); nit_exit(1);}
29702 /* Register variable[17]: Local variable */
29703 variable[17] = variable[4] /*nodearraylist8*/;
29704 /* Register variable[18]: Result */
29705 variable[18] = TAG_Bool(( variable[17] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29706 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction236___action, LOCATE_parser, 12074); nit_exit(1);}
29707 /* Register variable[18]: Local variable */
29708 /* Register variable[19]: Result */
29709 variable[19] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[12] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[13] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[14] /*tkwvarnode8*/, variable[15] /*tattridnode9*/, variable[16] /*ptypenode10*/, variable[17] /*pexprnode11*/) /*new AAttrPropdef*/;
29710 variable[18] = variable[19];
29711 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
29712 /* Register variable[19]: Result */
29713 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29714 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
29715 return_label504: while(false);
29716 tracehead = trace.prev;
29717 return;
29718 }
29719 void parser___ReduceAction236___init(val_t self, int* init_table) {
29720 struct trace_t trace = {NULL, NULL, 12090, LOCATE_parser___ReduceAction236___init};
29721 val_t variable[2];
29722 struct WBT_ **closurevariable = NULL;
29723 trace.prev = tracehead; tracehead = &trace;
29724 trace.file = LOCATE_parser;
29725 /* Register variable[0]: Local variable */
29726 variable[0] = self;
29727 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction236].i]) return;
29728 /* Register variable[1]: Method return value and escape marker */
29729 return_label505: while(false);
29730 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction236].i] = 1;
29731 tracehead = trace.prev;
29732 return;
29733 }
29734 void parser___ReduceAction237___action(val_t self, val_t param0) {
29735 struct trace_t trace = {NULL, NULL, 12094, LOCATE_parser___ReduceAction237___action};
29736 val_t variable[28];
29737 struct WBT_ **closurevariable = NULL;
29738 trace.prev = tracehead; tracehead = &trace;
29739 trace.file = LOCATE_parser;
29740 /* Register variable[0]: Local variable */
29741 variable[0] = self;
29742 /* Register variable[1]: Local variable */
29743 variable[1] = param0;
29744 /* Register variable[2]: Method return value and escape marker */
29745 /* Register variable[3]: Local variable */
29746 variable[3] = NIT_NULL /*null*/;
29747 /* Register variable[4]: Local variable */
29748 /* Register variable[5]: Result */
29749 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29750 variable[4] = variable[5];
29751 /* Register variable[5]: Local variable */
29752 /* Register variable[6]: Result */
29753 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29754 variable[5] = variable[6];
29755 /* Register variable[6]: Local variable */
29756 /* Register variable[7]: Result */
29757 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29758 variable[6] = variable[7];
29759 /* Register variable[7]: Local variable */
29760 /* Register variable[8]: Result */
29761 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29762 variable[7] = variable[8];
29763 /* Register variable[8]: Local variable */
29764 /* Register variable[9]: Result */
29765 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29766 variable[8] = variable[9];
29767 /* Register variable[9]: Local variable */
29768 /* Register variable[10]: Result */
29769 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29770 variable[9] = variable[10];
29771 /* Register variable[10]: Local variable */
29772 /* Register variable[11]: Result */
29773 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29774 variable[10] = variable[11];
29775 /* Register variable[11]: Local variable */
29776 /* Register variable[12]: Result */
29777 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29778 variable[11] = variable[12];
29779 /* Register variable[12]: Local variable */
29780 /* Register variable[13]: Result */
29781 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29782 variable[12] = variable[13];
29783 /* Register variable[13]: Local variable */
29784 /* Register variable[14]: Result */
29785 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29786 variable[13] = variable[14];
29787 /* Register variable[14]: Local variable */
29788 /* Register variable[15]: Result */
29789 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29790 variable[14] = variable[15];
29791 /* Register variable[15]: Local variable */
29792 variable[15] = variable[14] /*nodearraylist1*/;
29793 /* Register variable[16]: Result */
29794 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29795 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12109); nit_exit(1);}
29796 /* Register variable[16]: Local variable */
29797 variable[16] = variable[13] /*nodearraylist2*/;
29798 /* Register variable[17]: Result */
29799 variable[17] = TAG_Bool(( variable[16] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
29800 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12111); nit_exit(1);}
29801 /* Register variable[17]: Local variable */
29802 /* Register variable[18]: Result */
29803 variable[18] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[16] /*tkwreadablenode5*/) /*new AReadAble*/;
29804 variable[17] = variable[18];
29805 /* Register variable[18]: Local variable */
29806 variable[18] = variable[12] /*nodearraylist3*/;
29807 /* Register variable[19]: Result */
29808 variable[19] = TAG_Bool(( variable[18] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29809 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12117); nit_exit(1);}
29810 /* Register variable[19]: Local variable */
29811 /* Register variable[20]: Result */
29812 variable[20] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[18] /*tkwwritablenode8*/) /*new AWriteAble*/;
29813 variable[19] = variable[20];
29814 /* Register variable[20]: Local variable */
29815 variable[20] = variable[11] /*nodearraylist4*/;
29816 /* Register variable[21]: Result */
29817 variable[21] = TAG_Bool(( variable[20] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29818 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12123); nit_exit(1);}
29819 /* Register variable[21]: Local variable */
29820 variable[21] = variable[10] /*nodearraylist5*/;
29821 /* Register variable[22]: Result */
29822 variable[22] = TAG_Bool(( variable[21] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[21] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29823 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12125); nit_exit(1);}
29824 /* Register variable[22]: Local variable */
29825 variable[22] = variable[9] /*nodearraylist6*/;
29826 /* Register variable[23]: Result */
29827 variable[23] = TAG_Bool(( variable[22] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29828 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12127); nit_exit(1);}
29829 /* Register variable[23]: Local variable */
29830 variable[23] = variable[8] /*nodearraylist7*/;
29831 /* Register variable[24]: Result */
29832 variable[24] = TAG_Bool(( variable[23] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[23] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29833 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12129); nit_exit(1);}
29834 /* Register variable[24]: Local variable */
29835 variable[24] = variable[7] /*nodearraylist8*/;
29836 /* Register variable[25]: Result */
29837 variable[25] = TAG_Bool(( variable[24] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[24] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
29838 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12131); nit_exit(1);}
29839 /* Register variable[25]: Local variable */
29840 variable[25] = variable[4] /*nodearraylist11*/;
29841 /* Register variable[26]: Result */
29842 variable[26] = TAG_Bool(( variable[25] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[25] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29843 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction237___action, LOCATE_parser, 12133); nit_exit(1);}
29844 /* Register variable[26]: Local variable */
29845 /* Register variable[27]: Result */
29846 variable[27] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[17] /*pablenode3*/, variable[19] /*pablenode6*/, variable[20] /*tkwredefnode9*/, variable[21] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[22] /*tkwvarnode12*/, variable[23] /*tattridnode13*/, variable[24] /*ptypenode14*/, variable[25] /*pexprnode15*/) /*new AAttrPropdef*/;
29847 variable[26] = variable[27];
29848 variable[3] = variable[26] /*ppropdefnode1*/ /*node_list=*/;
29849 /* Register variable[27]: Result */
29850 variable[27] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29851 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[27], variable[3] /*node_list*/) /*Parser::push*/;
29852 return_label506: while(false);
29853 tracehead = trace.prev;
29854 return;
29855 }
29856 void parser___ReduceAction237___init(val_t self, int* init_table) {
29857 struct trace_t trace = {NULL, NULL, 12149, LOCATE_parser___ReduceAction237___init};
29858 val_t variable[2];
29859 struct WBT_ **closurevariable = NULL;
29860 trace.prev = tracehead; tracehead = &trace;
29861 trace.file = LOCATE_parser;
29862 /* Register variable[0]: Local variable */
29863 variable[0] = self;
29864 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction237].i]) return;
29865 /* Register variable[1]: Method return value and escape marker */
29866 return_label507: while(false);
29867 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction237].i] = 1;
29868 tracehead = trace.prev;
29869 return;
29870 }
29871 void parser___ReduceAction238___action(val_t self, val_t param0) {
29872 struct trace_t trace = {NULL, NULL, 12153, LOCATE_parser___ReduceAction238___action};
29873 val_t variable[30];
29874 struct WBT_ **closurevariable = NULL;
29875 trace.prev = tracehead; tracehead = &trace;
29876 trace.file = LOCATE_parser;
29877 /* Register variable[0]: Local variable */
29878 variable[0] = self;
29879 /* Register variable[1]: Local variable */
29880 variable[1] = param0;
29881 /* Register variable[2]: Method return value and escape marker */
29882 /* Register variable[3]: Local variable */
29883 variable[3] = NIT_NULL /*null*/;
29884 /* Register variable[4]: Local variable */
29885 /* Register variable[5]: Result */
29886 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29887 variable[4] = variable[5];
29888 /* Register variable[5]: Local variable */
29889 /* Register variable[6]: Result */
29890 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29891 variable[5] = variable[6];
29892 /* Register variable[6]: Local variable */
29893 /* Register variable[7]: Result */
29894 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29895 variable[6] = variable[7];
29896 /* Register variable[7]: Local variable */
29897 /* Register variable[8]: Result */
29898 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29899 variable[7] = variable[8];
29900 /* Register variable[8]: Local variable */
29901 /* Register variable[9]: Result */
29902 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29903 variable[8] = variable[9];
29904 /* Register variable[9]: Local variable */
29905 /* Register variable[10]: Result */
29906 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29907 variable[9] = variable[10];
29908 /* Register variable[10]: Local variable */
29909 /* Register variable[11]: Result */
29910 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29911 variable[10] = variable[11];
29912 /* Register variable[11]: Local variable */
29913 /* Register variable[12]: Result */
29914 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29915 variable[11] = variable[12];
29916 /* Register variable[12]: Local variable */
29917 /* Register variable[13]: Result */
29918 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29919 variable[12] = variable[13];
29920 /* Register variable[13]: Local variable */
29921 /* Register variable[14]: Result */
29922 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29923 variable[13] = variable[14];
29924 /* Register variable[14]: Local variable */
29925 /* Register variable[15]: Result */
29926 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29927 variable[14] = variable[15];
29928 /* Register variable[15]: Local variable */
29929 /* Register variable[16]: Result */
29930 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
29931 variable[15] = variable[16];
29932 /* Register variable[16]: Local variable */
29933 variable[16] = variable[15] /*nodearraylist1*/;
29934 /* Register variable[17]: Result */
29935 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
29936 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12169); nit_exit(1);}
29937 /* Register variable[17]: Local variable */
29938 variable[17] = variable[14] /*nodearraylist2*/;
29939 /* Register variable[18]: Result */
29940 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
29941 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12171); nit_exit(1);}
29942 /* Register variable[18]: Local variable */
29943 /* Register variable[19]: Result */
29944 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
29945 variable[18] = variable[19];
29946 /* Register variable[19]: Local variable */
29947 variable[19] = variable[13] /*nodearraylist3*/;
29948 /* Register variable[20]: Result */
29949 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29950 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12177); nit_exit(1);}
29951 /* Register variable[20]: Local variable */
29952 variable[20] = variable[12] /*nodearraylist4*/;
29953 /* Register variable[21]: Result */
29954 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
29955 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12179); nit_exit(1);}
29956 /* Register variable[21]: Local variable */
29957 /* Register variable[22]: Result */
29958 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[19] /*tkwredefnode7*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
29959 variable[21] = variable[22];
29960 /* Register variable[22]: Local variable */
29961 variable[22] = variable[11] /*nodearraylist5*/;
29962 /* Register variable[23]: Result */
29963 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
29964 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12185); nit_exit(1);}
29965 /* Register variable[23]: Local variable */
29966 variable[23] = variable[10] /*nodearraylist6*/;
29967 /* Register variable[24]: Result */
29968 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
29969 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12187); nit_exit(1);}
29970 /* Register variable[24]: Local variable */
29971 variable[24] = variable[9] /*nodearraylist7*/;
29972 /* Register variable[25]: Result */
29973 variable[25] = TAG_Bool(( variable[24] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
29974 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12189); nit_exit(1);}
29975 /* Register variable[25]: Local variable */
29976 variable[25] = variable[8] /*nodearraylist8*/;
29977 /* Register variable[26]: Result */
29978 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
29979 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12191); nit_exit(1);}
29980 /* Register variable[26]: Local variable */
29981 variable[26] = variable[7] /*nodearraylist9*/;
29982 /* Register variable[27]: Result */
29983 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
29984 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12193); nit_exit(1);}
29985 /* Register variable[27]: Local variable */
29986 variable[27] = variable[4] /*nodearraylist12*/;
29987 /* Register variable[28]: Result */
29988 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
29989 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction238___action, LOCATE_parser, 12195); nit_exit(1);}
29990 /* Register variable[28]: Local variable */
29991 /* Register variable[29]: Result */
29992 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[18] /*pablenode3*/, variable[21] /*pablenode6*/, variable[22] /*tkwredefnode9*/, variable[23] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[24] /*tkwvarnode12*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
29993 variable[28] = variable[29];
29994 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
29995 /* Register variable[29]: Result */
29996 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
29997 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
29998 return_label508: while(false);
29999 tracehead = trace.prev;
30000 return;
30001 }
30002 void parser___ReduceAction238___init(val_t self, int* init_table) {
30003 struct trace_t trace = {NULL, NULL, 12211, LOCATE_parser___ReduceAction238___init};
30004 val_t variable[2];
30005 struct WBT_ **closurevariable = NULL;
30006 trace.prev = tracehead; tracehead = &trace;
30007 trace.file = LOCATE_parser;
30008 /* Register variable[0]: Local variable */
30009 variable[0] = self;
30010 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction238].i]) return;
30011 /* Register variable[1]: Method return value and escape marker */
30012 return_label509: while(false);
30013 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction238].i] = 1;
30014 tracehead = trace.prev;
30015 return;
30016 }
30017 void parser___ReduceAction239___action(val_t self, val_t param0) {
30018 struct trace_t trace = {NULL, NULL, 12215, LOCATE_parser___ReduceAction239___action};
30019 val_t variable[25];
30020 struct WBT_ **closurevariable = NULL;
30021 trace.prev = tracehead; tracehead = &trace;
30022 trace.file = LOCATE_parser;
30023 /* Register variable[0]: Local variable */
30024 variable[0] = self;
30025 /* Register variable[1]: Local variable */
30026 variable[1] = param0;
30027 /* Register variable[2]: Method return value and escape marker */
30028 /* Register variable[3]: Local variable */
30029 variable[3] = NIT_NULL /*null*/;
30030 /* Register variable[4]: Local variable */
30031 /* Register variable[5]: Result */
30032 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30033 variable[4] = variable[5];
30034 /* Register variable[5]: Local variable */
30035 /* Register variable[6]: Result */
30036 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30037 variable[5] = variable[6];
30038 /* Register variable[6]: Local variable */
30039 /* Register variable[7]: Result */
30040 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30041 variable[6] = variable[7];
30042 /* Register variable[7]: Local variable */
30043 /* Register variable[8]: Result */
30044 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30045 variable[7] = variable[8];
30046 /* Register variable[8]: Local variable */
30047 /* Register variable[9]: Result */
30048 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30049 variable[8] = variable[9];
30050 /* Register variable[9]: Local variable */
30051 /* Register variable[10]: Result */
30052 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30053 variable[9] = variable[10];
30054 /* Register variable[10]: Local variable */
30055 /* Register variable[11]: Result */
30056 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30057 variable[10] = variable[11];
30058 /* Register variable[11]: Local variable */
30059 /* Register variable[12]: Result */
30060 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30061 variable[11] = variable[12];
30062 /* Register variable[12]: Local variable */
30063 /* Register variable[13]: Result */
30064 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30065 variable[12] = variable[13];
30066 /* Register variable[13]: Local variable */
30067 /* Register variable[14]: Result */
30068 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30069 variable[13] = variable[14];
30070 /* Register variable[14]: Local variable */
30071 variable[14] = variable[13] /*nodearraylist1*/;
30072 /* Register variable[15]: Result */
30073 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30074 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12229); nit_exit(1);}
30075 /* Register variable[15]: Local variable */
30076 variable[15] = variable[12] /*nodearraylist2*/;
30077 /* Register variable[16]: Result */
30078 variable[16] = TAG_Bool(( variable[15] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
30079 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12231); nit_exit(1);}
30080 /* Register variable[16]: Local variable */
30081 /* Register variable[17]: Result */
30082 variable[17] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( NIT_NULL /*null*/, variable[15] /*tkwreadablenode5*/) /*new AReadAble*/;
30083 variable[16] = variable[17];
30084 /* Register variable[17]: Local variable */
30085 variable[17] = variable[11] /*nodearraylist3*/;
30086 /* Register variable[18]: Result */
30087 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30088 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12237); nit_exit(1);}
30089 /* Register variable[18]: Local variable */
30090 variable[18] = variable[10] /*nodearraylist4*/;
30091 /* Register variable[19]: Result */
30092 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30093 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12239); nit_exit(1);}
30094 /* Register variable[19]: Local variable */
30095 variable[19] = variable[9] /*nodearraylist5*/;
30096 /* Register variable[20]: Result */
30097 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30098 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12241); nit_exit(1);}
30099 /* Register variable[20]: Local variable */
30100 variable[20] = variable[8] /*nodearraylist6*/;
30101 /* Register variable[21]: Result */
30102 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30103 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12243); nit_exit(1);}
30104 /* Register variable[21]: Local variable */
30105 variable[21] = variable[7] /*nodearraylist7*/;
30106 /* Register variable[22]: Result */
30107 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
30108 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12245); nit_exit(1);}
30109 /* Register variable[22]: Local variable */
30110 variable[22] = variable[4] /*nodearraylist10*/;
30111 /* Register variable[23]: Result */
30112 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30113 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction239___action, LOCATE_parser, 12247); nit_exit(1);}
30114 /* Register variable[23]: Local variable */
30115 /* Register variable[24]: Result */
30116 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, variable[16] /*pablenode3*/, NIT_NULL /*null*/, variable[17] /*tkwredefnode7*/, variable[18] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode10*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
30117 variable[23] = variable[24];
30118 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
30119 /* Register variable[24]: Result */
30120 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30121 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
30122 return_label510: while(false);
30123 tracehead = trace.prev;
30124 return;
30125 }
30126 void parser___ReduceAction239___init(val_t self, int* init_table) {
30127 struct trace_t trace = {NULL, NULL, 12263, LOCATE_parser___ReduceAction239___init};
30128 val_t variable[2];
30129 struct WBT_ **closurevariable = NULL;
30130 trace.prev = tracehead; tracehead = &trace;
30131 trace.file = LOCATE_parser;
30132 /* Register variable[0]: Local variable */
30133 variable[0] = self;
30134 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction239].i]) return;
30135 /* Register variable[1]: Method return value and escape marker */
30136 return_label511: while(false);
30137 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction239].i] = 1;
30138 tracehead = trace.prev;
30139 return;
30140 }
30141 void parser___ReduceAction240___action(val_t self, val_t param0) {
30142 struct trace_t trace = {NULL, NULL, 12267, LOCATE_parser___ReduceAction240___action};
30143 val_t variable[30];
30144 struct WBT_ **closurevariable = NULL;
30145 trace.prev = tracehead; tracehead = &trace;
30146 trace.file = LOCATE_parser;
30147 /* Register variable[0]: Local variable */
30148 variable[0] = self;
30149 /* Register variable[1]: Local variable */
30150 variable[1] = param0;
30151 /* Register variable[2]: Method return value and escape marker */
30152 /* Register variable[3]: Local variable */
30153 variable[3] = NIT_NULL /*null*/;
30154 /* Register variable[4]: Local variable */
30155 /* Register variable[5]: Result */
30156 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30157 variable[4] = variable[5];
30158 /* Register variable[5]: Local variable */
30159 /* Register variable[6]: Result */
30160 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30161 variable[5] = variable[6];
30162 /* Register variable[6]: Local variable */
30163 /* Register variable[7]: Result */
30164 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30165 variable[6] = variable[7];
30166 /* Register variable[7]: Local variable */
30167 /* Register variable[8]: Result */
30168 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30169 variable[7] = variable[8];
30170 /* Register variable[8]: Local variable */
30171 /* Register variable[9]: Result */
30172 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30173 variable[8] = variable[9];
30174 /* Register variable[9]: Local variable */
30175 /* Register variable[10]: Result */
30176 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30177 variable[9] = variable[10];
30178 /* Register variable[10]: Local variable */
30179 /* Register variable[11]: Result */
30180 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30181 variable[10] = variable[11];
30182 /* Register variable[11]: Local variable */
30183 /* Register variable[12]: Result */
30184 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30185 variable[11] = variable[12];
30186 /* Register variable[12]: Local variable */
30187 /* Register variable[13]: Result */
30188 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30189 variable[12] = variable[13];
30190 /* Register variable[13]: Local variable */
30191 /* Register variable[14]: Result */
30192 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30193 variable[13] = variable[14];
30194 /* Register variable[14]: Local variable */
30195 /* Register variable[15]: Result */
30196 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30197 variable[14] = variable[15];
30198 /* Register variable[15]: Local variable */
30199 /* Register variable[16]: Result */
30200 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30201 variable[15] = variable[16];
30202 /* Register variable[16]: Local variable */
30203 variable[16] = variable[15] /*nodearraylist1*/;
30204 /* Register variable[17]: Result */
30205 variable[17] = TAG_Bool(( variable[16] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30206 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12283); nit_exit(1);}
30207 /* Register variable[17]: Local variable */
30208 variable[17] = variable[14] /*nodearraylist2*/;
30209 /* Register variable[18]: Result */
30210 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30211 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12285); nit_exit(1);}
30212 /* Register variable[18]: Local variable */
30213 variable[18] = variable[13] /*nodearraylist3*/;
30214 /* Register variable[19]: Result */
30215 variable[19] = TAG_Bool(( variable[18] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
30216 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12287); nit_exit(1);}
30217 /* Register variable[19]: Local variable */
30218 /* Register variable[20]: Result */
30219 variable[20] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[17] /*tkwredefnode4*/, variable[18] /*tkwreadablenode5*/) /*new AReadAble*/;
30220 variable[19] = variable[20];
30221 /* Register variable[20]: Local variable */
30222 variable[20] = variable[12] /*nodearraylist4*/;
30223 /* Register variable[21]: Result */
30224 variable[21] = TAG_Bool(( variable[20] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[20] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
30225 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12293); nit_exit(1);}
30226 /* Register variable[21]: Local variable */
30227 /* Register variable[22]: Result */
30228 variable[22] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[20] /*tkwwritablenode8*/) /*new AWriteAble*/;
30229 variable[21] = variable[22];
30230 /* Register variable[22]: Local variable */
30231 variable[22] = variable[11] /*nodearraylist5*/;
30232 /* Register variable[23]: Result */
30233 variable[23] = TAG_Bool(( variable[22] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30234 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12299); nit_exit(1);}
30235 /* Register variable[23]: Local variable */
30236 variable[23] = variable[10] /*nodearraylist6*/;
30237 /* Register variable[24]: Result */
30238 variable[24] = TAG_Bool(( variable[23] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[23] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30239 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12301); nit_exit(1);}
30240 /* Register variable[24]: Local variable */
30241 variable[24] = variable[9] /*nodearraylist7*/;
30242 /* Register variable[25]: Result */
30243 variable[25] = TAG_Bool(( variable[24] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30244 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12303); nit_exit(1);}
30245 /* Register variable[25]: Local variable */
30246 variable[25] = variable[8] /*nodearraylist8*/;
30247 /* Register variable[26]: Result */
30248 variable[26] = TAG_Bool(( variable[25] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[25] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30249 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12305); nit_exit(1);}
30250 /* Register variable[26]: Local variable */
30251 variable[26] = variable[7] /*nodearraylist9*/;
30252 /* Register variable[27]: Result */
30253 variable[27] = TAG_Bool(( variable[26] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[26] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
30254 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12307); nit_exit(1);}
30255 /* Register variable[27]: Local variable */
30256 variable[27] = variable[4] /*nodearraylist12*/;
30257 /* Register variable[28]: Result */
30258 variable[28] = TAG_Bool(( variable[27] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[27] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30259 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction240___action, LOCATE_parser, 12309); nit_exit(1);}
30260 /* Register variable[28]: Local variable */
30261 /* Register variable[29]: Result */
30262 variable[29] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[16] /*pdocnode2*/, variable[19] /*pablenode3*/, variable[21] /*pablenode6*/, variable[22] /*tkwredefnode9*/, variable[23] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[24] /*tkwvarnode12*/, variable[25] /*tattridnode13*/, variable[26] /*ptypenode14*/, variable[27] /*pexprnode15*/) /*new AAttrPropdef*/;
30263 variable[28] = variable[29];
30264 variable[3] = variable[28] /*ppropdefnode1*/ /*node_list=*/;
30265 /* Register variable[29]: Result */
30266 variable[29] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30267 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[29], variable[3] /*node_list*/) /*Parser::push*/;
30268 return_label512: while(false);
30269 tracehead = trace.prev;
30270 return;
30271 }
30272 void parser___ReduceAction240___init(val_t self, int* init_table) {
30273 struct trace_t trace = {NULL, NULL, 12325, LOCATE_parser___ReduceAction240___init};
30274 val_t variable[2];
30275 struct WBT_ **closurevariable = NULL;
30276 trace.prev = tracehead; tracehead = &trace;
30277 trace.file = LOCATE_parser;
30278 /* Register variable[0]: Local variable */
30279 variable[0] = self;
30280 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction240].i]) return;
30281 /* Register variable[1]: Method return value and escape marker */
30282 return_label513: while(false);
30283 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction240].i] = 1;
30284 tracehead = trace.prev;
30285 return;
30286 }
30287 void parser___ReduceAction241___action(val_t self, val_t param0) {
30288 struct trace_t trace = {NULL, NULL, 12329, LOCATE_parser___ReduceAction241___action};
30289 val_t variable[32];
30290 struct WBT_ **closurevariable = NULL;
30291 trace.prev = tracehead; tracehead = &trace;
30292 trace.file = LOCATE_parser;
30293 /* Register variable[0]: Local variable */
30294 variable[0] = self;
30295 /* Register variable[1]: Local variable */
30296 variable[1] = param0;
30297 /* Register variable[2]: Method return value and escape marker */
30298 /* Register variable[3]: Local variable */
30299 variable[3] = NIT_NULL /*null*/;
30300 /* Register variable[4]: Local variable */
30301 /* Register variable[5]: Result */
30302 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30303 variable[4] = variable[5];
30304 /* Register variable[5]: Local variable */
30305 /* Register variable[6]: Result */
30306 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30307 variable[5] = variable[6];
30308 /* Register variable[6]: Local variable */
30309 /* Register variable[7]: Result */
30310 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30311 variable[6] = variable[7];
30312 /* Register variable[7]: Local variable */
30313 /* Register variable[8]: Result */
30314 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30315 variable[7] = variable[8];
30316 /* Register variable[8]: Local variable */
30317 /* Register variable[9]: Result */
30318 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30319 variable[8] = variable[9];
30320 /* Register variable[9]: Local variable */
30321 /* Register variable[10]: Result */
30322 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30323 variable[9] = variable[10];
30324 /* Register variable[10]: Local variable */
30325 /* Register variable[11]: Result */
30326 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30327 variable[10] = variable[11];
30328 /* Register variable[11]: Local variable */
30329 /* Register variable[12]: Result */
30330 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30331 variable[11] = variable[12];
30332 /* Register variable[12]: Local variable */
30333 /* Register variable[13]: Result */
30334 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30335 variable[12] = variable[13];
30336 /* Register variable[13]: Local variable */
30337 /* Register variable[14]: Result */
30338 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30339 variable[13] = variable[14];
30340 /* Register variable[14]: Local variable */
30341 /* Register variable[15]: Result */
30342 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30343 variable[14] = variable[15];
30344 /* Register variable[15]: Local variable */
30345 /* Register variable[16]: Result */
30346 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30347 variable[15] = variable[16];
30348 /* Register variable[16]: Local variable */
30349 /* Register variable[17]: Result */
30350 variable[17] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30351 variable[16] = variable[17];
30352 /* Register variable[17]: Local variable */
30353 variable[17] = variable[16] /*nodearraylist1*/;
30354 /* Register variable[18]: Result */
30355 variable[18] = TAG_Bool(( variable[17] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[17] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30356 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12346); nit_exit(1);}
30357 /* Register variable[18]: Local variable */
30358 variable[18] = variable[15] /*nodearraylist2*/;
30359 /* Register variable[19]: Result */
30360 variable[19] = TAG_Bool(( variable[18] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30361 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12348); nit_exit(1);}
30362 /* Register variable[19]: Local variable */
30363 variable[19] = variable[14] /*nodearraylist3*/;
30364 /* Register variable[20]: Result */
30365 variable[20] = TAG_Bool(( variable[19] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
30366 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12350); nit_exit(1);}
30367 /* Register variable[20]: Local variable */
30368 /* Register variable[21]: Result */
30369 variable[21] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[18] /*tkwredefnode4*/, variable[19] /*tkwreadablenode5*/) /*new AReadAble*/;
30370 variable[20] = variable[21];
30371 /* Register variable[21]: Local variable */
30372 variable[21] = variable[13] /*nodearraylist4*/;
30373 /* Register variable[22]: Result */
30374 variable[22] = TAG_Bool(( variable[21] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30375 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12356); nit_exit(1);}
30376 /* Register variable[22]: Local variable */
30377 variable[22] = variable[12] /*nodearraylist5*/;
30378 /* Register variable[23]: Result */
30379 variable[23] = TAG_Bool(( variable[22] /*tkwwritablenode8*/==NIT_NULL) || VAL_ISA( variable[22] /*tkwwritablenode8*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
30380 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12358); nit_exit(1);}
30381 /* Register variable[23]: Local variable */
30382 /* Register variable[24]: Result */
30383 variable[24] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[21] /*tkwredefnode7*/, variable[22] /*tkwwritablenode8*/) /*new AWriteAble*/;
30384 variable[23] = variable[24];
30385 /* Register variable[24]: Local variable */
30386 variable[24] = variable[11] /*nodearraylist6*/;
30387 /* Register variable[25]: Result */
30388 variable[25] = TAG_Bool(( variable[24] /*tkwredefnode9*/==NIT_NULL) || VAL_ISA( variable[24] /*tkwredefnode9*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30389 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12364); nit_exit(1);}
30390 /* Register variable[25]: Local variable */
30391 variable[25] = variable[10] /*nodearraylist7*/;
30392 /* Register variable[26]: Result */
30393 variable[26] = TAG_Bool(( variable[25] /*pvisibilitynode10*/==NIT_NULL) || VAL_ISA( variable[25] /*pvisibilitynode10*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30394 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12366); nit_exit(1);}
30395 /* Register variable[26]: Local variable */
30396 variable[26] = variable[9] /*nodearraylist8*/;
30397 /* Register variable[27]: Result */
30398 variable[27] = TAG_Bool(( variable[26] /*tkwvarnode12*/==NIT_NULL) || VAL_ISA( variable[26] /*tkwvarnode12*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30399 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12368); nit_exit(1);}
30400 /* Register variable[27]: Local variable */
30401 variable[27] = variable[8] /*nodearraylist9*/;
30402 /* Register variable[28]: Result */
30403 variable[28] = TAG_Bool(( variable[27] /*tattridnode13*/==NIT_NULL) || VAL_ISA( variable[27] /*tattridnode13*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30404 if (!UNTAG_Bool(variable[28])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12370); nit_exit(1);}
30405 /* Register variable[28]: Local variable */
30406 variable[28] = variable[7] /*nodearraylist10*/;
30407 /* Register variable[29]: Result */
30408 variable[29] = TAG_Bool(( variable[28] /*ptypenode14*/==NIT_NULL) || VAL_ISA( variable[28] /*ptypenode14*/, COLOR_PType, ID_PType)) /*cast PType*/;
30409 if (!UNTAG_Bool(variable[29])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12372); nit_exit(1);}
30410 /* Register variable[29]: Local variable */
30411 variable[29] = variable[4] /*nodearraylist13*/;
30412 /* Register variable[30]: Result */
30413 variable[30] = TAG_Bool(( variable[29] /*pexprnode15*/==NIT_NULL) || VAL_ISA( variable[29] /*pexprnode15*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30414 if (!UNTAG_Bool(variable[30])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction241___action, LOCATE_parser, 12374); nit_exit(1);}
30415 /* Register variable[30]: Local variable */
30416 /* Register variable[31]: Result */
30417 variable[31] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[17] /*pdocnode2*/, variable[20] /*pablenode3*/, variable[23] /*pablenode6*/, variable[24] /*tkwredefnode9*/, variable[25] /*pvisibilitynode10*/, NIT_NULL /*null*/, variable[26] /*tkwvarnode12*/, variable[27] /*tattridnode13*/, variable[28] /*ptypenode14*/, variable[29] /*pexprnode15*/) /*new AAttrPropdef*/;
30418 variable[30] = variable[31];
30419 variable[3] = variable[30] /*ppropdefnode1*/ /*node_list=*/;
30420 /* Register variable[31]: Result */
30421 variable[31] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30422 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[31], variable[3] /*node_list*/) /*Parser::push*/;
30423 return_label514: while(false);
30424 tracehead = trace.prev;
30425 return;
30426 }
30427 void parser___ReduceAction241___init(val_t self, int* init_table) {
30428 struct trace_t trace = {NULL, NULL, 12390, LOCATE_parser___ReduceAction241___init};
30429 val_t variable[2];
30430 struct WBT_ **closurevariable = NULL;
30431 trace.prev = tracehead; tracehead = &trace;
30432 trace.file = LOCATE_parser;
30433 /* Register variable[0]: Local variable */
30434 variable[0] = self;
30435 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction241].i]) return;
30436 /* Register variable[1]: Method return value and escape marker */
30437 return_label515: while(false);
30438 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction241].i] = 1;
30439 tracehead = trace.prev;
30440 return;
30441 }
30442 void parser___ReduceAction242___action(val_t self, val_t param0) {
30443 struct trace_t trace = {NULL, NULL, 12394, LOCATE_parser___ReduceAction242___action};
30444 val_t variable[27];
30445 struct WBT_ **closurevariable = NULL;
30446 trace.prev = tracehead; tracehead = &trace;
30447 trace.file = LOCATE_parser;
30448 /* Register variable[0]: Local variable */
30449 variable[0] = self;
30450 /* Register variable[1]: Local variable */
30451 variable[1] = param0;
30452 /* Register variable[2]: Method return value and escape marker */
30453 /* Register variable[3]: Local variable */
30454 variable[3] = NIT_NULL /*null*/;
30455 /* Register variable[4]: Local variable */
30456 /* Register variable[5]: Result */
30457 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30458 variable[4] = variable[5];
30459 /* Register variable[5]: Local variable */
30460 /* Register variable[6]: Result */
30461 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30462 variable[5] = variable[6];
30463 /* Register variable[6]: Local variable */
30464 /* Register variable[7]: Result */
30465 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30466 variable[6] = variable[7];
30467 /* Register variable[7]: Local variable */
30468 /* Register variable[8]: Result */
30469 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30470 variable[7] = variable[8];
30471 /* Register variable[8]: Local variable */
30472 /* Register variable[9]: Result */
30473 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30474 variable[8] = variable[9];
30475 /* Register variable[9]: Local variable */
30476 /* Register variable[10]: Result */
30477 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30478 variable[9] = variable[10];
30479 /* Register variable[10]: Local variable */
30480 /* Register variable[11]: Result */
30481 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30482 variable[10] = variable[11];
30483 /* Register variable[11]: Local variable */
30484 /* Register variable[12]: Result */
30485 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30486 variable[11] = variable[12];
30487 /* Register variable[12]: Local variable */
30488 /* Register variable[13]: Result */
30489 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30490 variable[12] = variable[13];
30491 /* Register variable[13]: Local variable */
30492 /* Register variable[14]: Result */
30493 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30494 variable[13] = variable[14];
30495 /* Register variable[14]: Local variable */
30496 /* Register variable[15]: Result */
30497 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30498 variable[14] = variable[15];
30499 /* Register variable[15]: Local variable */
30500 variable[15] = variable[14] /*nodearraylist1*/;
30501 /* Register variable[16]: Result */
30502 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30503 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12409); nit_exit(1);}
30504 /* Register variable[16]: Local variable */
30505 variable[16] = variable[13] /*nodearraylist2*/;
30506 /* Register variable[17]: Result */
30507 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode4*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30508 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12411); nit_exit(1);}
30509 /* Register variable[17]: Local variable */
30510 variable[17] = variable[12] /*nodearraylist3*/;
30511 /* Register variable[18]: Result */
30512 variable[18] = TAG_Bool(( variable[17] /*tkwreadablenode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwreadablenode5*/, COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
30513 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12413); nit_exit(1);}
30514 /* Register variable[18]: Local variable */
30515 /* Register variable[19]: Result */
30516 variable[19] = NEW_AReadAble_parser_prod___AReadAble___init_areadable( variable[16] /*tkwredefnode4*/, variable[17] /*tkwreadablenode5*/) /*new AReadAble*/;
30517 variable[18] = variable[19];
30518 /* Register variable[19]: Local variable */
30519 variable[19] = variable[11] /*nodearraylist4*/;
30520 /* Register variable[20]: Result */
30521 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30522 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12419); nit_exit(1);}
30523 /* Register variable[20]: Local variable */
30524 variable[20] = variable[10] /*nodearraylist5*/;
30525 /* Register variable[21]: Result */
30526 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30527 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12421); nit_exit(1);}
30528 /* Register variable[21]: Local variable */
30529 variable[21] = variable[9] /*nodearraylist6*/;
30530 /* Register variable[22]: Result */
30531 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30532 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12423); nit_exit(1);}
30533 /* Register variable[22]: Local variable */
30534 variable[22] = variable[8] /*nodearraylist7*/;
30535 /* Register variable[23]: Result */
30536 variable[23] = TAG_Bool(( variable[22] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30537 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12425); nit_exit(1);}
30538 /* Register variable[23]: Local variable */
30539 variable[23] = variable[7] /*nodearraylist8*/;
30540 /* Register variable[24]: Result */
30541 variable[24] = TAG_Bool(( variable[23] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
30542 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12427); nit_exit(1);}
30543 /* Register variable[24]: Local variable */
30544 variable[24] = variable[4] /*nodearraylist11*/;
30545 /* Register variable[25]: Result */
30546 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30547 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction242___action, LOCATE_parser, 12429); nit_exit(1);}
30548 /* Register variable[25]: Local variable */
30549 /* Register variable[26]: Result */
30550 variable[26] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, variable[18] /*pablenode3*/, NIT_NULL /*null*/, variable[19] /*tkwredefnode7*/, variable[20] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode10*/, variable[22] /*tattridnode11*/, variable[23] /*ptypenode12*/, variable[24] /*pexprnode13*/) /*new AAttrPropdef*/;
30551 variable[25] = variable[26];
30552 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
30553 /* Register variable[26]: Result */
30554 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30555 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
30556 return_label516: while(false);
30557 tracehead = trace.prev;
30558 return;
30559 }
30560 void parser___ReduceAction242___init(val_t self, int* init_table) {
30561 struct trace_t trace = {NULL, NULL, 12445, LOCATE_parser___ReduceAction242___init};
30562 val_t variable[2];
30563 struct WBT_ **closurevariable = NULL;
30564 trace.prev = tracehead; tracehead = &trace;
30565 trace.file = LOCATE_parser;
30566 /* Register variable[0]: Local variable */
30567 variable[0] = self;
30568 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction242].i]) return;
30569 /* Register variable[1]: Method return value and escape marker */
30570 return_label517: while(false);
30571 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction242].i] = 1;
30572 tracehead = trace.prev;
30573 return;
30574 }
30575 void parser___ReduceAction243___action(val_t self, val_t param0) {
30576 struct trace_t trace = {NULL, NULL, 12449, LOCATE_parser___ReduceAction243___action};
30577 val_t variable[25];
30578 struct WBT_ **closurevariable = NULL;
30579 trace.prev = tracehead; tracehead = &trace;
30580 trace.file = LOCATE_parser;
30581 /* Register variable[0]: Local variable */
30582 variable[0] = self;
30583 /* Register variable[1]: Local variable */
30584 variable[1] = param0;
30585 /* Register variable[2]: Method return value and escape marker */
30586 /* Register variable[3]: Local variable */
30587 variable[3] = NIT_NULL /*null*/;
30588 /* Register variable[4]: Local variable */
30589 /* Register variable[5]: Result */
30590 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30591 variable[4] = variable[5];
30592 /* Register variable[5]: Local variable */
30593 /* Register variable[6]: Result */
30594 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30595 variable[5] = variable[6];
30596 /* Register variable[6]: Local variable */
30597 /* Register variable[7]: Result */
30598 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30599 variable[6] = variable[7];
30600 /* Register variable[7]: Local variable */
30601 /* Register variable[8]: Result */
30602 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30603 variable[7] = variable[8];
30604 /* Register variable[8]: Local variable */
30605 /* Register variable[9]: Result */
30606 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30607 variable[8] = variable[9];
30608 /* Register variable[9]: Local variable */
30609 /* Register variable[10]: Result */
30610 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30611 variable[9] = variable[10];
30612 /* Register variable[10]: Local variable */
30613 /* Register variable[11]: Result */
30614 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30615 variable[10] = variable[11];
30616 /* Register variable[11]: Local variable */
30617 /* Register variable[12]: Result */
30618 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30619 variable[11] = variable[12];
30620 /* Register variable[12]: Local variable */
30621 /* Register variable[13]: Result */
30622 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30623 variable[12] = variable[13];
30624 /* Register variable[13]: Local variable */
30625 /* Register variable[14]: Result */
30626 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30627 variable[13] = variable[14];
30628 /* Register variable[14]: Local variable */
30629 variable[14] = variable[13] /*nodearraylist1*/;
30630 /* Register variable[15]: Result */
30631 variable[15] = TAG_Bool(( variable[14] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30632 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12463); nit_exit(1);}
30633 /* Register variable[15]: Local variable */
30634 variable[15] = variable[12] /*nodearraylist2*/;
30635 /* Register variable[16]: Result */
30636 variable[16] = TAG_Bool(( variable[15] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
30637 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12465); nit_exit(1);}
30638 /* Register variable[16]: Local variable */
30639 /* Register variable[17]: Result */
30640 variable[17] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( NIT_NULL /*null*/, variable[15] /*tkwwritablenode6*/) /*new AWriteAble*/;
30641 variable[16] = variable[17];
30642 /* Register variable[17]: Local variable */
30643 variable[17] = variable[11] /*nodearraylist3*/;
30644 /* Register variable[18]: Result */
30645 variable[18] = TAG_Bool(( variable[17] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30646 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12471); nit_exit(1);}
30647 /* Register variable[18]: Local variable */
30648 variable[18] = variable[10] /*nodearraylist4*/;
30649 /* Register variable[19]: Result */
30650 variable[19] = TAG_Bool(( variable[18] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30651 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12473); nit_exit(1);}
30652 /* Register variable[19]: Local variable */
30653 variable[19] = variable[9] /*nodearraylist5*/;
30654 /* Register variable[20]: Result */
30655 variable[20] = TAG_Bool(( variable[19] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30656 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12475); nit_exit(1);}
30657 /* Register variable[20]: Local variable */
30658 variable[20] = variable[8] /*nodearraylist6*/;
30659 /* Register variable[21]: Result */
30660 variable[21] = TAG_Bool(( variable[20] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[20] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30661 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12477); nit_exit(1);}
30662 /* Register variable[21]: Local variable */
30663 variable[21] = variable[7] /*nodearraylist7*/;
30664 /* Register variable[22]: Result */
30665 variable[22] = TAG_Bool(( variable[21] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[21] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
30666 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12479); nit_exit(1);}
30667 /* Register variable[22]: Local variable */
30668 variable[22] = variable[4] /*nodearraylist10*/;
30669 /* Register variable[23]: Result */
30670 variable[23] = TAG_Bool(( variable[22] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[22] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30671 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction243___action, LOCATE_parser, 12481); nit_exit(1);}
30672 /* Register variable[23]: Local variable */
30673 /* Register variable[24]: Result */
30674 variable[24] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[14] /*pdocnode2*/, NIT_NULL /*null*/, variable[16] /*pablenode4*/, variable[17] /*tkwredefnode7*/, variable[18] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[19] /*tkwvarnode10*/, variable[20] /*tattridnode11*/, variable[21] /*ptypenode12*/, variable[22] /*pexprnode13*/) /*new AAttrPropdef*/;
30675 variable[23] = variable[24];
30676 variable[3] = variable[23] /*ppropdefnode1*/ /*node_list=*/;
30677 /* Register variable[24]: Result */
30678 variable[24] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30679 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[24], variable[3] /*node_list*/) /*Parser::push*/;
30680 return_label518: while(false);
30681 tracehead = trace.prev;
30682 return;
30683 }
30684 void parser___ReduceAction243___init(val_t self, int* init_table) {
30685 struct trace_t trace = {NULL, NULL, 12497, LOCATE_parser___ReduceAction243___init};
30686 val_t variable[2];
30687 struct WBT_ **closurevariable = NULL;
30688 trace.prev = tracehead; tracehead = &trace;
30689 trace.file = LOCATE_parser;
30690 /* Register variable[0]: Local variable */
30691 variable[0] = self;
30692 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction243].i]) return;
30693 /* Register variable[1]: Method return value and escape marker */
30694 return_label519: while(false);
30695 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction243].i] = 1;
30696 tracehead = trace.prev;
30697 return;
30698 }
30699 void parser___ReduceAction244___action(val_t self, val_t param0) {
30700 struct trace_t trace = {NULL, NULL, 12501, LOCATE_parser___ReduceAction244___action};
30701 val_t variable[27];
30702 struct WBT_ **closurevariable = NULL;
30703 trace.prev = tracehead; tracehead = &trace;
30704 trace.file = LOCATE_parser;
30705 /* Register variable[0]: Local variable */
30706 variable[0] = self;
30707 /* Register variable[1]: Local variable */
30708 variable[1] = param0;
30709 /* Register variable[2]: Method return value and escape marker */
30710 /* Register variable[3]: Local variable */
30711 variable[3] = NIT_NULL /*null*/;
30712 /* Register variable[4]: Local variable */
30713 /* Register variable[5]: Result */
30714 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30715 variable[4] = variable[5];
30716 /* Register variable[5]: Local variable */
30717 /* Register variable[6]: Result */
30718 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30719 variable[5] = variable[6];
30720 /* Register variable[6]: Local variable */
30721 /* Register variable[7]: Result */
30722 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30723 variable[6] = variable[7];
30724 /* Register variable[7]: Local variable */
30725 /* Register variable[8]: Result */
30726 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30727 variable[7] = variable[8];
30728 /* Register variable[8]: Local variable */
30729 /* Register variable[9]: Result */
30730 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30731 variable[8] = variable[9];
30732 /* Register variable[9]: Local variable */
30733 /* Register variable[10]: Result */
30734 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30735 variable[9] = variable[10];
30736 /* Register variable[10]: Local variable */
30737 /* Register variable[11]: Result */
30738 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30739 variable[10] = variable[11];
30740 /* Register variable[11]: Local variable */
30741 /* Register variable[12]: Result */
30742 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30743 variable[11] = variable[12];
30744 /* Register variable[12]: Local variable */
30745 /* Register variable[13]: Result */
30746 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30747 variable[12] = variable[13];
30748 /* Register variable[13]: Local variable */
30749 /* Register variable[14]: Result */
30750 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30751 variable[13] = variable[14];
30752 /* Register variable[14]: Local variable */
30753 /* Register variable[15]: Result */
30754 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30755 variable[14] = variable[15];
30756 /* Register variable[15]: Local variable */
30757 variable[15] = variable[14] /*nodearraylist1*/;
30758 /* Register variable[16]: Result */
30759 variable[16] = TAG_Bool(( variable[15] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30760 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12516); nit_exit(1);}
30761 /* Register variable[16]: Local variable */
30762 variable[16] = variable[13] /*nodearraylist2*/;
30763 /* Register variable[17]: Result */
30764 variable[17] = TAG_Bool(( variable[16] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30765 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12518); nit_exit(1);}
30766 /* Register variable[17]: Local variable */
30767 variable[17] = variable[12] /*nodearraylist3*/;
30768 /* Register variable[18]: Result */
30769 variable[18] = TAG_Bool(( variable[17] /*tkwwritablenode6*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwwritablenode6*/, COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
30770 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12520); nit_exit(1);}
30771 /* Register variable[18]: Local variable */
30772 /* Register variable[19]: Result */
30773 variable[19] = NEW_AWriteAble_parser_prod___AWriteAble___init_awriteable( variable[16] /*tkwredefnode5*/, variable[17] /*tkwwritablenode6*/) /*new AWriteAble*/;
30774 variable[18] = variable[19];
30775 /* Register variable[19]: Local variable */
30776 variable[19] = variable[11] /*nodearraylist4*/;
30777 /* Register variable[20]: Result */
30778 variable[20] = TAG_Bool(( variable[19] /*tkwredefnode7*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwredefnode7*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30779 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12526); nit_exit(1);}
30780 /* Register variable[20]: Local variable */
30781 variable[20] = variable[10] /*nodearraylist5*/;
30782 /* Register variable[21]: Result */
30783 variable[21] = TAG_Bool(( variable[20] /*pvisibilitynode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pvisibilitynode8*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30784 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12528); nit_exit(1);}
30785 /* Register variable[21]: Local variable */
30786 variable[21] = variable[9] /*nodearraylist6*/;
30787 /* Register variable[22]: Result */
30788 variable[22] = TAG_Bool(( variable[21] /*tkwvarnode10*/==NIT_NULL) || VAL_ISA( variable[21] /*tkwvarnode10*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30789 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12530); nit_exit(1);}
30790 /* Register variable[22]: Local variable */
30791 variable[22] = variable[8] /*nodearraylist7*/;
30792 /* Register variable[23]: Result */
30793 variable[23] = TAG_Bool(( variable[22] /*tattridnode11*/==NIT_NULL) || VAL_ISA( variable[22] /*tattridnode11*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30794 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12532); nit_exit(1);}
30795 /* Register variable[23]: Local variable */
30796 variable[23] = variable[7] /*nodearraylist8*/;
30797 /* Register variable[24]: Result */
30798 variable[24] = TAG_Bool(( variable[23] /*ptypenode12*/==NIT_NULL) || VAL_ISA( variable[23] /*ptypenode12*/, COLOR_PType, ID_PType)) /*cast PType*/;
30799 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12534); nit_exit(1);}
30800 /* Register variable[24]: Local variable */
30801 variable[24] = variable[4] /*nodearraylist11*/;
30802 /* Register variable[25]: Result */
30803 variable[25] = TAG_Bool(( variable[24] /*pexprnode13*/==NIT_NULL) || VAL_ISA( variable[24] /*pexprnode13*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30804 if (!UNTAG_Bool(variable[25])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction244___action, LOCATE_parser, 12536); nit_exit(1);}
30805 /* Register variable[25]: Local variable */
30806 /* Register variable[26]: Result */
30807 variable[26] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[15] /*pdocnode2*/, NIT_NULL /*null*/, variable[18] /*pablenode4*/, variable[19] /*tkwredefnode7*/, variable[20] /*pvisibilitynode8*/, NIT_NULL /*null*/, variable[21] /*tkwvarnode10*/, variable[22] /*tattridnode11*/, variable[23] /*ptypenode12*/, variable[24] /*pexprnode13*/) /*new AAttrPropdef*/;
30808 variable[25] = variable[26];
30809 variable[3] = variable[25] /*ppropdefnode1*/ /*node_list=*/;
30810 /* Register variable[26]: Result */
30811 variable[26] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30812 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[26], variable[3] /*node_list*/) /*Parser::push*/;
30813 return_label520: while(false);
30814 tracehead = trace.prev;
30815 return;
30816 }
30817 void parser___ReduceAction244___init(val_t self, int* init_table) {
30818 struct trace_t trace = {NULL, NULL, 12552, LOCATE_parser___ReduceAction244___init};
30819 val_t variable[2];
30820 struct WBT_ **closurevariable = NULL;
30821 trace.prev = tracehead; tracehead = &trace;
30822 trace.file = LOCATE_parser;
30823 /* Register variable[0]: Local variable */
30824 variable[0] = self;
30825 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction244].i]) return;
30826 /* Register variable[1]: Method return value and escape marker */
30827 return_label521: while(false);
30828 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction244].i] = 1;
30829 tracehead = trace.prev;
30830 return;
30831 }
30832 void parser___ReduceAction245___action(val_t self, val_t param0) {
30833 struct trace_t trace = {NULL, NULL, 12556, LOCATE_parser___ReduceAction245___action};
30834 val_t variable[22];
30835 struct WBT_ **closurevariable = NULL;
30836 trace.prev = tracehead; tracehead = &trace;
30837 trace.file = LOCATE_parser;
30838 /* Register variable[0]: Local variable */
30839 variable[0] = self;
30840 /* Register variable[1]: Local variable */
30841 variable[1] = param0;
30842 /* Register variable[2]: Method return value and escape marker */
30843 /* Register variable[3]: Local variable */
30844 variable[3] = NIT_NULL /*null*/;
30845 /* Register variable[4]: Local variable */
30846 /* Register variable[5]: Result */
30847 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30848 variable[4] = variable[5];
30849 /* Register variable[5]: Local variable */
30850 /* Register variable[6]: Result */
30851 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30852 variable[5] = variable[6];
30853 /* Register variable[6]: Local variable */
30854 /* Register variable[7]: Result */
30855 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30856 variable[6] = variable[7];
30857 /* Register variable[7]: Local variable */
30858 /* Register variable[8]: Result */
30859 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30860 variable[7] = variable[8];
30861 /* Register variable[8]: Local variable */
30862 /* Register variable[9]: Result */
30863 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30864 variable[8] = variable[9];
30865 /* Register variable[9]: Local variable */
30866 /* Register variable[10]: Result */
30867 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30868 variable[9] = variable[10];
30869 /* Register variable[10]: Local variable */
30870 /* Register variable[11]: Result */
30871 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30872 variable[10] = variable[11];
30873 /* Register variable[11]: Local variable */
30874 /* Register variable[12]: Result */
30875 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30876 variable[11] = variable[12];
30877 /* Register variable[12]: Local variable */
30878 /* Register variable[13]: Result */
30879 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30880 variable[12] = variable[13];
30881 /* Register variable[13]: Local variable */
30882 variable[13] = variable[12] /*nodearraylist1*/;
30883 /* Register variable[14]: Result */
30884 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30885 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12569); nit_exit(1);}
30886 /* Register variable[14]: Local variable */
30887 variable[14] = variable[11] /*nodearraylist2*/;
30888 /* Register variable[15]: Result */
30889 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode5*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
30890 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12571); nit_exit(1);}
30891 /* Register variable[15]: Local variable */
30892 variable[15] = variable[10] /*nodearraylist3*/;
30893 /* Register variable[16]: Result */
30894 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode6*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30895 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12573); nit_exit(1);}
30896 /* Register variable[16]: Local variable */
30897 variable[16] = variable[9] /*nodearraylist4*/;
30898 /* Register variable[17]: Result */
30899 variable[17] = TAG_Bool(( variable[16] /*tkwvarnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwvarnode8*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
30900 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12575); nit_exit(1);}
30901 /* Register variable[17]: Local variable */
30902 variable[17] = variable[8] /*nodearraylist5*/;
30903 /* Register variable[18]: Result */
30904 variable[18] = TAG_Bool(( variable[17] /*tattridnode9*/==NIT_NULL) || VAL_ISA( variable[17] /*tattridnode9*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
30905 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12577); nit_exit(1);}
30906 /* Register variable[18]: Local variable */
30907 variable[18] = variable[7] /*nodearraylist6*/;
30908 /* Register variable[19]: Result */
30909 variable[19] = TAG_Bool(( variable[18] /*ptypenode10*/==NIT_NULL) || VAL_ISA( variable[18] /*ptypenode10*/, COLOR_PType, ID_PType)) /*cast PType*/;
30910 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12579); nit_exit(1);}
30911 /* Register variable[19]: Local variable */
30912 variable[19] = variable[4] /*nodearraylist9*/;
30913 /* Register variable[20]: Result */
30914 variable[20] = TAG_Bool(( variable[19] /*pexprnode11*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode11*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
30915 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction245___action, LOCATE_parser, 12581); nit_exit(1);}
30916 /* Register variable[20]: Local variable */
30917 /* Register variable[21]: Result */
30918 variable[21] = NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef( variable[13] /*pdocnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/, variable[14] /*tkwredefnode5*/, variable[15] /*pvisibilitynode6*/, NIT_NULL /*null*/, variable[16] /*tkwvarnode8*/, variable[17] /*tattridnode9*/, variable[18] /*ptypenode10*/, variable[19] /*pexprnode11*/) /*new AAttrPropdef*/;
30919 variable[20] = variable[21];
30920 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
30921 /* Register variable[21]: Result */
30922 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
30923 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
30924 return_label522: while(false);
30925 tracehead = trace.prev;
30926 return;
30927 }
30928 void parser___ReduceAction245___init(val_t self, int* init_table) {
30929 struct trace_t trace = {NULL, NULL, 12597, LOCATE_parser___ReduceAction245___init};
30930 val_t variable[2];
30931 struct WBT_ **closurevariable = NULL;
30932 trace.prev = tracehead; tracehead = &trace;
30933 trace.file = LOCATE_parser;
30934 /* Register variable[0]: Local variable */
30935 variable[0] = self;
30936 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction245].i]) return;
30937 /* Register variable[1]: Method return value and escape marker */
30938 return_label523: while(false);
30939 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction245].i] = 1;
30940 tracehead = trace.prev;
30941 return;
30942 }
30943 void parser___ReduceAction246___action(val_t self, val_t param0) {
30944 struct trace_t trace = {NULL, NULL, 12601, LOCATE_parser___ReduceAction246___action};
30945 val_t variable[17];
30946 struct WBT_ **closurevariable = NULL;
30947 trace.prev = tracehead; tracehead = &trace;
30948 trace.file = LOCATE_parser;
30949 /* Register variable[0]: Local variable */
30950 variable[0] = self;
30951 /* Register variable[1]: Local variable */
30952 variable[1] = param0;
30953 /* Register variable[2]: Method return value and escape marker */
30954 /* Register variable[3]: Local variable */
30955 variable[3] = NIT_NULL /*null*/;
30956 /* Register variable[4]: Local variable */
30957 /* Register variable[5]: Result */
30958 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30959 variable[4] = variable[5];
30960 /* Register variable[5]: Local variable */
30961 /* Register variable[6]: Result */
30962 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30963 variable[5] = variable[6];
30964 /* Register variable[6]: Local variable */
30965 /* Register variable[7]: Result */
30966 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30967 variable[6] = variable[7];
30968 /* Register variable[7]: Local variable */
30969 /* Register variable[8]: Result */
30970 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30971 variable[7] = variable[8];
30972 /* Register variable[8]: Local variable */
30973 /* Register variable[9]: Result */
30974 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30975 variable[8] = variable[9];
30976 /* Register variable[9]: Local variable */
30977 /* Register variable[10]: Result */
30978 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
30979 variable[9] = variable[10];
30980 /* Register variable[10]: Local variable */
30981 variable[10] = variable[9] /*nodearraylist1*/;
30982 /* Register variable[11]: Result */
30983 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
30984 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 12611); nit_exit(1);}
30985 /* Register variable[11]: Local variable */
30986 variable[11] = variable[8] /*nodearraylist2*/;
30987 /* Register variable[12]: Result */
30988 variable[12] = TAG_Bool(( variable[11] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[11] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
30989 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 12613); nit_exit(1);}
30990 /* Register variable[12]: Local variable */
30991 variable[12] = variable[7] /*nodearraylist3*/;
30992 /* Register variable[13]: Result */
30993 variable[13] = TAG_Bool(( variable[12] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
30994 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 12615); nit_exit(1);}
30995 /* Register variable[13]: Local variable */
30996 variable[13] = variable[6] /*nodearraylist4*/;
30997 /* Register variable[14]: Result */
30998 variable[14] = TAG_Bool(( variable[13] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
30999 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 12617); nit_exit(1);}
31000 /* Register variable[14]: Local variable */
31001 variable[14] = variable[4] /*nodearraylist6*/;
31002 /* Register variable[15]: Result */
31003 variable[15] = TAG_Bool(( variable[14] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31004 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction246___action, LOCATE_parser, 12619); nit_exit(1);}
31005 /* Register variable[15]: Local variable */
31006 /* Register variable[16]: Result */
31007 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*/;
31008 variable[15] = variable[16];
31009 variable[3] = variable[15] /*ppropdefnode1*/ /*node_list=*/;
31010 /* Register variable[16]: Result */
31011 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31012 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
31013 return_label524: while(false);
31014 tracehead = trace.prev;
31015 return;
31016 }
31017 void parser___ReduceAction246___init(val_t self, int* init_table) {
31018 struct trace_t trace = {NULL, NULL, 12632, LOCATE_parser___ReduceAction246___init};
31019 val_t variable[2];
31020 struct WBT_ **closurevariable = NULL;
31021 trace.prev = tracehead; tracehead = &trace;
31022 trace.file = LOCATE_parser;
31023 /* Register variable[0]: Local variable */
31024 variable[0] = self;
31025 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction246].i]) return;
31026 /* Register variable[1]: Method return value and escape marker */
31027 return_label525: while(false);
31028 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction246].i] = 1;
31029 tracehead = trace.prev;
31030 return;
31031 }
31032 void parser___ReduceAction247___action(val_t self, val_t param0) {
31033 struct trace_t trace = {NULL, NULL, 12636, LOCATE_parser___ReduceAction247___action};
31034 val_t variable[19];
31035 struct WBT_ **closurevariable = NULL;
31036 trace.prev = tracehead; tracehead = &trace;
31037 trace.file = LOCATE_parser;
31038 /* Register variable[0]: Local variable */
31039 variable[0] = self;
31040 /* Register variable[1]: Local variable */
31041 variable[1] = param0;
31042 /* Register variable[2]: Method return value and escape marker */
31043 /* Register variable[3]: Local variable */
31044 variable[3] = NIT_NULL /*null*/;
31045 /* Register variable[4]: Local variable */
31046 /* Register variable[5]: Result */
31047 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31048 variable[4] = variable[5];
31049 /* Register variable[5]: Local variable */
31050 /* Register variable[6]: Result */
31051 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31052 variable[5] = variable[6];
31053 /* Register variable[6]: Local variable */
31054 /* Register variable[7]: Result */
31055 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31056 variable[6] = variable[7];
31057 /* Register variable[7]: Local variable */
31058 /* Register variable[8]: Result */
31059 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31060 variable[7] = variable[8];
31061 /* Register variable[8]: Local variable */
31062 /* Register variable[9]: Result */
31063 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31064 variable[8] = variable[9];
31065 /* Register variable[9]: Local variable */
31066 /* Register variable[10]: Result */
31067 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31068 variable[9] = variable[10];
31069 /* Register variable[10]: Local variable */
31070 /* Register variable[11]: Result */
31071 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31072 variable[10] = variable[11];
31073 /* Register variable[11]: Local variable */
31074 variable[11] = variable[10] /*nodearraylist1*/;
31075 /* Register variable[12]: Result */
31076 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31077 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12647); nit_exit(1);}
31078 /* Register variable[12]: Local variable */
31079 variable[12] = variable[9] /*nodearraylist2*/;
31080 /* Register variable[13]: Result */
31081 variable[13] = TAG_Bool(( variable[12] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31082 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12649); nit_exit(1);}
31083 /* Register variable[13]: Local variable */
31084 variable[13] = variable[8] /*nodearraylist3*/;
31085 /* Register variable[14]: Result */
31086 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31087 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12651); nit_exit(1);}
31088 /* Register variable[14]: Local variable */
31089 variable[14] = variable[7] /*nodearraylist4*/;
31090 /* Register variable[15]: Result */
31091 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31092 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12653); nit_exit(1);}
31093 /* Register variable[15]: Local variable */
31094 variable[15] = variable[6] /*nodearraylist5*/;
31095 /* Register variable[16]: Result */
31096 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31097 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12655); nit_exit(1);}
31098 /* Register variable[16]: Local variable */
31099 variable[16] = variable[4] /*nodearraylist7*/;
31100 /* Register variable[17]: Result */
31101 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31102 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction247___action, LOCATE_parser, 12657); nit_exit(1);}
31103 /* Register variable[17]: Local variable */
31104 /* Register variable[18]: Result */
31105 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*/;
31106 variable[17] = variable[18];
31107 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
31108 /* Register variable[18]: Result */
31109 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31110 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
31111 return_label526: while(false);
31112 tracehead = trace.prev;
31113 return;
31114 }
31115 void parser___ReduceAction247___init(val_t self, int* init_table) {
31116 struct trace_t trace = {NULL, NULL, 12670, LOCATE_parser___ReduceAction247___init};
31117 val_t variable[2];
31118 struct WBT_ **closurevariable = NULL;
31119 trace.prev = tracehead; tracehead = &trace;
31120 trace.file = LOCATE_parser;
31121 /* Register variable[0]: Local variable */
31122 variable[0] = self;
31123 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction247].i]) return;
31124 /* Register variable[1]: Method return value and escape marker */
31125 return_label527: while(false);
31126 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction247].i] = 1;
31127 tracehead = trace.prev;
31128 return;
31129 }
31130 void parser___ReduceAction248___action(val_t self, val_t param0) {
31131 struct trace_t trace = {NULL, NULL, 12674, LOCATE_parser___ReduceAction248___action};
31132 val_t variable[19];
31133 struct WBT_ **closurevariable = NULL;
31134 trace.prev = tracehead; tracehead = &trace;
31135 trace.file = LOCATE_parser;
31136 /* Register variable[0]: Local variable */
31137 variable[0] = self;
31138 /* Register variable[1]: Local variable */
31139 variable[1] = param0;
31140 /* Register variable[2]: Method return value and escape marker */
31141 /* Register variable[3]: Local variable */
31142 variable[3] = NIT_NULL /*null*/;
31143 /* Register variable[4]: Local variable */
31144 /* Register variable[5]: Result */
31145 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31146 variable[4] = variable[5];
31147 /* Register variable[5]: Local variable */
31148 /* Register variable[6]: Result */
31149 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31150 variable[5] = variable[6];
31151 /* Register variable[6]: Local variable */
31152 /* Register variable[7]: Result */
31153 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31154 variable[6] = variable[7];
31155 /* Register variable[7]: Local variable */
31156 /* Register variable[8]: Result */
31157 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31158 variable[7] = variable[8];
31159 /* Register variable[8]: Local variable */
31160 /* Register variable[9]: Result */
31161 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31162 variable[8] = variable[9];
31163 /* Register variable[9]: Local variable */
31164 /* Register variable[10]: Result */
31165 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31166 variable[9] = variable[10];
31167 /* Register variable[10]: Local variable */
31168 /* Register variable[11]: Result */
31169 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31170 variable[10] = variable[11];
31171 /* Register variable[11]: Local variable */
31172 variable[11] = variable[10] /*nodearraylist1*/;
31173 /* Register variable[12]: Result */
31174 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31175 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12685); nit_exit(1);}
31176 /* Register variable[12]: Local variable */
31177 variable[12] = variable[9] /*nodearraylist2*/;
31178 /* Register variable[13]: Result */
31179 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31180 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12687); nit_exit(1);}
31181 /* Register variable[13]: Local variable */
31182 variable[13] = variable[8] /*nodearraylist3*/;
31183 /* Register variable[14]: Result */
31184 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31185 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12689); nit_exit(1);}
31186 /* Register variable[14]: Local variable */
31187 variable[14] = variable[7] /*nodearraylist4*/;
31188 /* Register variable[15]: Result */
31189 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31190 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12691); nit_exit(1);}
31191 /* Register variable[15]: Local variable */
31192 variable[15] = variable[6] /*nodearraylist5*/;
31193 /* Register variable[16]: Result */
31194 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31195 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12693); nit_exit(1);}
31196 /* Register variable[16]: Local variable */
31197 variable[16] = variable[4] /*nodearraylist7*/;
31198 /* Register variable[17]: Result */
31199 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31200 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction248___action, LOCATE_parser, 12695); nit_exit(1);}
31201 /* Register variable[17]: Local variable */
31202 /* Register variable[18]: Result */
31203 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*/;
31204 variable[17] = variable[18];
31205 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
31206 /* Register variable[18]: Result */
31207 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31208 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
31209 return_label528: while(false);
31210 tracehead = trace.prev;
31211 return;
31212 }
31213 void parser___ReduceAction248___init(val_t self, int* init_table) {
31214 struct trace_t trace = {NULL, NULL, 12708, LOCATE_parser___ReduceAction248___init};
31215 val_t variable[2];
31216 struct WBT_ **closurevariable = NULL;
31217 trace.prev = tracehead; tracehead = &trace;
31218 trace.file = LOCATE_parser;
31219 /* Register variable[0]: Local variable */
31220 variable[0] = self;
31221 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction248].i]) return;
31222 /* Register variable[1]: Method return value and escape marker */
31223 return_label529: while(false);
31224 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction248].i] = 1;
31225 tracehead = trace.prev;
31226 return;
31227 }
31228 void parser___ReduceAction249___action(val_t self, val_t param0) {
31229 struct trace_t trace = {NULL, NULL, 12712, LOCATE_parser___ReduceAction249___action};
31230 val_t variable[21];
31231 struct WBT_ **closurevariable = NULL;
31232 trace.prev = tracehead; tracehead = &trace;
31233 trace.file = LOCATE_parser;
31234 /* Register variable[0]: Local variable */
31235 variable[0] = self;
31236 /* Register variable[1]: Local variable */
31237 variable[1] = param0;
31238 /* Register variable[2]: Method return value and escape marker */
31239 /* Register variable[3]: Local variable */
31240 variable[3] = NIT_NULL /*null*/;
31241 /* Register variable[4]: Local variable */
31242 /* Register variable[5]: Result */
31243 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31244 variable[4] = variable[5];
31245 /* Register variable[5]: Local variable */
31246 /* Register variable[6]: Result */
31247 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31248 variable[5] = variable[6];
31249 /* Register variable[6]: Local variable */
31250 /* Register variable[7]: Result */
31251 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31252 variable[6] = variable[7];
31253 /* Register variable[7]: Local variable */
31254 /* Register variable[8]: Result */
31255 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31256 variable[7] = variable[8];
31257 /* Register variable[8]: Local variable */
31258 /* Register variable[9]: Result */
31259 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31260 variable[8] = variable[9];
31261 /* Register variable[9]: Local variable */
31262 /* Register variable[10]: Result */
31263 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31264 variable[9] = variable[10];
31265 /* Register variable[10]: Local variable */
31266 /* Register variable[11]: Result */
31267 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31268 variable[10] = variable[11];
31269 /* Register variable[11]: Local variable */
31270 /* Register variable[12]: Result */
31271 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31272 variable[11] = variable[12];
31273 /* Register variable[12]: Local variable */
31274 variable[12] = variable[11] /*nodearraylist1*/;
31275 /* Register variable[13]: Result */
31276 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31277 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12724); nit_exit(1);}
31278 /* Register variable[13]: Local variable */
31279 variable[13] = variable[10] /*nodearraylist2*/;
31280 /* Register variable[14]: Result */
31281 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31282 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12726); nit_exit(1);}
31283 /* Register variable[14]: Local variable */
31284 variable[14] = variable[9] /*nodearraylist3*/;
31285 /* Register variable[15]: Result */
31286 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31287 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12728); nit_exit(1);}
31288 /* Register variable[15]: Local variable */
31289 variable[15] = variable[8] /*nodearraylist4*/;
31290 /* Register variable[16]: Result */
31291 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31292 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12730); nit_exit(1);}
31293 /* Register variable[16]: Local variable */
31294 variable[16] = variable[7] /*nodearraylist5*/;
31295 /* Register variable[17]: Result */
31296 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31297 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12732); nit_exit(1);}
31298 /* Register variable[17]: Local variable */
31299 variable[17] = variable[6] /*nodearraylist6*/;
31300 /* Register variable[18]: Result */
31301 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31302 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12734); nit_exit(1);}
31303 /* Register variable[18]: Local variable */
31304 variable[18] = variable[4] /*nodearraylist8*/;
31305 /* Register variable[19]: Result */
31306 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31307 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction249___action, LOCATE_parser, 12736); nit_exit(1);}
31308 /* Register variable[19]: Local variable */
31309 /* Register variable[20]: Result */
31310 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*/;
31311 variable[19] = variable[20];
31312 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
31313 /* Register variable[20]: Result */
31314 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31315 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
31316 return_label530: while(false);
31317 tracehead = trace.prev;
31318 return;
31319 }
31320 void parser___ReduceAction249___init(val_t self, int* init_table) {
31321 struct trace_t trace = {NULL, NULL, 12749, LOCATE_parser___ReduceAction249___init};
31322 val_t variable[2];
31323 struct WBT_ **closurevariable = NULL;
31324 trace.prev = tracehead; tracehead = &trace;
31325 trace.file = LOCATE_parser;
31326 /* Register variable[0]: Local variable */
31327 variable[0] = self;
31328 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction249].i]) return;
31329 /* Register variable[1]: Method return value and escape marker */
31330 return_label531: while(false);
31331 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction249].i] = 1;
31332 tracehead = trace.prev;
31333 return;
31334 }
31335 void parser___ReduceAction250___action(val_t self, val_t param0) {
31336 struct trace_t trace = {NULL, NULL, 12753, LOCATE_parser___ReduceAction250___action};
31337 val_t variable[18];
31338 struct WBT_ **closurevariable = NULL;
31339 trace.prev = tracehead; tracehead = &trace;
31340 trace.file = LOCATE_parser;
31341 /* Register variable[0]: Local variable */
31342 variable[0] = self;
31343 /* Register variable[1]: Local variable */
31344 variable[1] = param0;
31345 /* Register variable[2]: Method return value and escape marker */
31346 /* Register variable[3]: Local variable */
31347 variable[3] = NIT_NULL /*null*/;
31348 /* Register variable[4]: Local variable */
31349 /* Register variable[5]: Result */
31350 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31351 variable[4] = variable[5];
31352 /* Register variable[5]: Local variable */
31353 /* Register variable[6]: Result */
31354 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31355 variable[5] = variable[6];
31356 /* Register variable[6]: Local variable */
31357 /* Register variable[7]: Result */
31358 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31359 variable[6] = variable[7];
31360 /* Register variable[7]: Local variable */
31361 /* Register variable[8]: Result */
31362 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31363 variable[7] = variable[8];
31364 /* Register variable[8]: Local variable */
31365 /* Register variable[9]: Result */
31366 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31367 variable[8] = variable[9];
31368 /* Register variable[9]: Local variable */
31369 /* Register variable[10]: Result */
31370 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31371 variable[9] = variable[10];
31372 /* Register variable[10]: Local variable */
31373 /* Register variable[11]: Result */
31374 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31375 variable[10] = variable[11];
31376 /* Register variable[11]: Local variable */
31377 variable[11] = variable[10] /*nodearraylist1*/;
31378 /* Register variable[12]: Result */
31379 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31380 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 12764); nit_exit(1);}
31381 /* Register variable[12]: Local variable */
31382 variable[12] = variable[9] /*nodearraylist2*/;
31383 /* Register variable[13]: Result */
31384 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31385 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 12766); nit_exit(1);}
31386 /* Register variable[13]: Local variable */
31387 variable[13] = variable[8] /*nodearraylist3*/;
31388 /* Register variable[14]: Result */
31389 variable[14] = TAG_Bool(( variable[13] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31390 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 12768); nit_exit(1);}
31391 /* Register variable[14]: Local variable */
31392 variable[14] = variable[7] /*nodearraylist4*/;
31393 /* Register variable[15]: Result */
31394 variable[15] = TAG_Bool(( variable[14] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[14] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31395 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 12770); nit_exit(1);}
31396 /* Register variable[15]: Local variable */
31397 variable[15] = variable[5] /*nodearraylist6*/;
31398 /* Register variable[16]: Result */
31399 variable[16] = TAG_Bool(( variable[15] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31400 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction250___action, LOCATE_parser, 12772); nit_exit(1);}
31401 /* Register variable[16]: Local variable */
31402 /* Register variable[17]: Result */
31403 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*/;
31404 variable[16] = variable[17];
31405 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
31406 /* Register variable[17]: Result */
31407 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31408 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
31409 return_label532: while(false);
31410 tracehead = trace.prev;
31411 return;
31412 }
31413 void parser___ReduceAction250___init(val_t self, int* init_table) {
31414 struct trace_t trace = {NULL, NULL, 12785, LOCATE_parser___ReduceAction250___init};
31415 val_t variable[2];
31416 struct WBT_ **closurevariable = NULL;
31417 trace.prev = tracehead; tracehead = &trace;
31418 trace.file = LOCATE_parser;
31419 /* Register variable[0]: Local variable */
31420 variable[0] = self;
31421 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction250].i]) return;
31422 /* Register variable[1]: Method return value and escape marker */
31423 return_label533: while(false);
31424 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction250].i] = 1;
31425 tracehead = trace.prev;
31426 return;
31427 }
31428 void parser___ReduceAction251___action(val_t self, val_t param0) {
31429 struct trace_t trace = {NULL, NULL, 12789, LOCATE_parser___ReduceAction251___action};
31430 val_t variable[20];
31431 struct WBT_ **closurevariable = NULL;
31432 trace.prev = tracehead; tracehead = &trace;
31433 trace.file = LOCATE_parser;
31434 /* Register variable[0]: Local variable */
31435 variable[0] = self;
31436 /* Register variable[1]: Local variable */
31437 variable[1] = param0;
31438 /* Register variable[2]: Method return value and escape marker */
31439 /* Register variable[3]: Local variable */
31440 variable[3] = NIT_NULL /*null*/;
31441 /* Register variable[4]: Local variable */
31442 /* Register variable[5]: Result */
31443 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31444 variable[4] = variable[5];
31445 /* Register variable[5]: Local variable */
31446 /* Register variable[6]: Result */
31447 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31448 variable[5] = variable[6];
31449 /* Register variable[6]: Local variable */
31450 /* Register variable[7]: Result */
31451 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31452 variable[6] = variable[7];
31453 /* Register variable[7]: Local variable */
31454 /* Register variable[8]: Result */
31455 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31456 variable[7] = variable[8];
31457 /* Register variable[8]: Local variable */
31458 /* Register variable[9]: Result */
31459 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31460 variable[8] = variable[9];
31461 /* Register variable[9]: Local variable */
31462 /* Register variable[10]: Result */
31463 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31464 variable[9] = variable[10];
31465 /* Register variable[10]: Local variable */
31466 /* Register variable[11]: Result */
31467 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31468 variable[10] = variable[11];
31469 /* Register variable[11]: Local variable */
31470 /* Register variable[12]: Result */
31471 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31472 variable[11] = variable[12];
31473 /* Register variable[12]: Local variable */
31474 variable[12] = variable[11] /*nodearraylist1*/;
31475 /* Register variable[13]: Result */
31476 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31477 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12801); nit_exit(1);}
31478 /* Register variable[13]: Local variable */
31479 variable[13] = variable[10] /*nodearraylist2*/;
31480 /* Register variable[14]: Result */
31481 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31482 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12803); nit_exit(1);}
31483 /* Register variable[14]: Local variable */
31484 variable[14] = variable[9] /*nodearraylist3*/;
31485 /* Register variable[15]: Result */
31486 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31487 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12805); nit_exit(1);}
31488 /* Register variable[15]: Local variable */
31489 variable[15] = variable[8] /*nodearraylist4*/;
31490 /* Register variable[16]: Result */
31491 variable[16] = TAG_Bool(( variable[15] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31492 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12807); nit_exit(1);}
31493 /* Register variable[16]: Local variable */
31494 variable[16] = variable[7] /*nodearraylist5*/;
31495 /* Register variable[17]: Result */
31496 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31497 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12809); nit_exit(1);}
31498 /* Register variable[17]: Local variable */
31499 variable[17] = variable[5] /*nodearraylist7*/;
31500 /* Register variable[18]: Result */
31501 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31502 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction251___action, LOCATE_parser, 12811); nit_exit(1);}
31503 /* Register variable[18]: Local variable */
31504 /* Register variable[19]: Result */
31505 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*/;
31506 variable[18] = variable[19];
31507 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
31508 /* Register variable[19]: Result */
31509 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31510 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
31511 return_label534: while(false);
31512 tracehead = trace.prev;
31513 return;
31514 }
31515 void parser___ReduceAction251___init(val_t self, int* init_table) {
31516 struct trace_t trace = {NULL, NULL, 12824, LOCATE_parser___ReduceAction251___init};
31517 val_t variable[2];
31518 struct WBT_ **closurevariable = NULL;
31519 trace.prev = tracehead; tracehead = &trace;
31520 trace.file = LOCATE_parser;
31521 /* Register variable[0]: Local variable */
31522 variable[0] = self;
31523 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction251].i]) return;
31524 /* Register variable[1]: Method return value and escape marker */
31525 return_label535: while(false);
31526 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction251].i] = 1;
31527 tracehead = trace.prev;
31528 return;
31529 }
31530 void parser___ReduceAction252___action(val_t self, val_t param0) {
31531 struct trace_t trace = {NULL, NULL, 12828, LOCATE_parser___ReduceAction252___action};
31532 val_t variable[20];
31533 struct WBT_ **closurevariable = NULL;
31534 trace.prev = tracehead; tracehead = &trace;
31535 trace.file = LOCATE_parser;
31536 /* Register variable[0]: Local variable */
31537 variable[0] = self;
31538 /* Register variable[1]: Local variable */
31539 variable[1] = param0;
31540 /* Register variable[2]: Method return value and escape marker */
31541 /* Register variable[3]: Local variable */
31542 variable[3] = NIT_NULL /*null*/;
31543 /* Register variable[4]: Local variable */
31544 /* Register variable[5]: Result */
31545 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31546 variable[4] = variable[5];
31547 /* Register variable[5]: Local variable */
31548 /* Register variable[6]: Result */
31549 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31550 variable[5] = variable[6];
31551 /* Register variable[6]: Local variable */
31552 /* Register variable[7]: Result */
31553 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31554 variable[6] = variable[7];
31555 /* Register variable[7]: Local variable */
31556 /* Register variable[8]: Result */
31557 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31558 variable[7] = variable[8];
31559 /* Register variable[8]: Local variable */
31560 /* Register variable[9]: Result */
31561 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31562 variable[8] = variable[9];
31563 /* Register variable[9]: Local variable */
31564 /* Register variable[10]: Result */
31565 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31566 variable[9] = variable[10];
31567 /* Register variable[10]: Local variable */
31568 /* Register variable[11]: Result */
31569 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31570 variable[10] = variable[11];
31571 /* Register variable[11]: Local variable */
31572 /* Register variable[12]: Result */
31573 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31574 variable[11] = variable[12];
31575 /* Register variable[12]: Local variable */
31576 variable[12] = variable[11] /*nodearraylist1*/;
31577 /* Register variable[13]: Result */
31578 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31579 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12840); nit_exit(1);}
31580 /* Register variable[13]: Local variable */
31581 variable[13] = variable[10] /*nodearraylist2*/;
31582 /* Register variable[14]: Result */
31583 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31584 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12842); nit_exit(1);}
31585 /* Register variable[14]: Local variable */
31586 variable[14] = variable[9] /*nodearraylist3*/;
31587 /* Register variable[15]: Result */
31588 variable[15] = TAG_Bool(( variable[14] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31589 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12844); nit_exit(1);}
31590 /* Register variable[15]: Local variable */
31591 variable[15] = variable[8] /*nodearraylist4*/;
31592 /* Register variable[16]: Result */
31593 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31594 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12846); nit_exit(1);}
31595 /* Register variable[16]: Local variable */
31596 variable[16] = variable[7] /*nodearraylist5*/;
31597 /* Register variable[17]: Result */
31598 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31599 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12848); nit_exit(1);}
31600 /* Register variable[17]: Local variable */
31601 variable[17] = variable[5] /*nodearraylist7*/;
31602 /* Register variable[18]: Result */
31603 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31604 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction252___action, LOCATE_parser, 12850); nit_exit(1);}
31605 /* Register variable[18]: Local variable */
31606 /* Register variable[19]: Result */
31607 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*/;
31608 variable[18] = variable[19];
31609 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
31610 /* Register variable[19]: Result */
31611 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31612 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
31613 return_label536: while(false);
31614 tracehead = trace.prev;
31615 return;
31616 }
31617 void parser___ReduceAction252___init(val_t self, int* init_table) {
31618 struct trace_t trace = {NULL, NULL, 12863, LOCATE_parser___ReduceAction252___init};
31619 val_t variable[2];
31620 struct WBT_ **closurevariable = NULL;
31621 trace.prev = tracehead; tracehead = &trace;
31622 trace.file = LOCATE_parser;
31623 /* Register variable[0]: Local variable */
31624 variable[0] = self;
31625 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction252].i]) return;
31626 /* Register variable[1]: Method return value and escape marker */
31627 return_label537: while(false);
31628 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction252].i] = 1;
31629 tracehead = trace.prev;
31630 return;
31631 }
31632 void parser___ReduceAction253___action(val_t self, val_t param0) {
31633 struct trace_t trace = {NULL, NULL, 12867, LOCATE_parser___ReduceAction253___action};
31634 val_t variable[22];
31635 struct WBT_ **closurevariable = NULL;
31636 trace.prev = tracehead; tracehead = &trace;
31637 trace.file = LOCATE_parser;
31638 /* Register variable[0]: Local variable */
31639 variable[0] = self;
31640 /* Register variable[1]: Local variable */
31641 variable[1] = param0;
31642 /* Register variable[2]: Method return value and escape marker */
31643 /* Register variable[3]: Local variable */
31644 variable[3] = NIT_NULL /*null*/;
31645 /* Register variable[4]: Local variable */
31646 /* Register variable[5]: Result */
31647 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31648 variable[4] = variable[5];
31649 /* Register variable[5]: Local variable */
31650 /* Register variable[6]: Result */
31651 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31652 variable[5] = variable[6];
31653 /* Register variable[6]: Local variable */
31654 /* Register variable[7]: Result */
31655 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31656 variable[6] = variable[7];
31657 /* Register variable[7]: Local variable */
31658 /* Register variable[8]: Result */
31659 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31660 variable[7] = variable[8];
31661 /* Register variable[8]: Local variable */
31662 /* Register variable[9]: Result */
31663 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31664 variable[8] = variable[9];
31665 /* Register variable[9]: Local variable */
31666 /* Register variable[10]: Result */
31667 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31668 variable[9] = variable[10];
31669 /* Register variable[10]: Local variable */
31670 /* Register variable[11]: Result */
31671 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31672 variable[10] = variable[11];
31673 /* Register variable[11]: Local variable */
31674 /* Register variable[12]: Result */
31675 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31676 variable[11] = variable[12];
31677 /* Register variable[12]: Local variable */
31678 /* Register variable[13]: Result */
31679 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31680 variable[12] = variable[13];
31681 /* Register variable[13]: Local variable */
31682 variable[13] = variable[12] /*nodearraylist1*/;
31683 /* Register variable[14]: Result */
31684 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31685 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12880); nit_exit(1);}
31686 /* Register variable[14]: Local variable */
31687 variable[14] = variable[11] /*nodearraylist2*/;
31688 /* Register variable[15]: Result */
31689 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31690 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12882); nit_exit(1);}
31691 /* Register variable[15]: Local variable */
31692 variable[15] = variable[10] /*nodearraylist3*/;
31693 /* Register variable[16]: Result */
31694 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31695 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12884); nit_exit(1);}
31696 /* Register variable[16]: Local variable */
31697 variable[16] = variable[9] /*nodearraylist4*/;
31698 /* Register variable[17]: Result */
31699 variable[17] = TAG_Bool(( variable[16] /*tkwinitnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwinitnode5*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
31700 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12886); nit_exit(1);}
31701 /* Register variable[17]: Local variable */
31702 variable[17] = variable[8] /*nodearraylist5*/;
31703 /* Register variable[18]: Result */
31704 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
31705 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12888); nit_exit(1);}
31706 /* Register variable[18]: Local variable */
31707 variable[18] = variable[7] /*nodearraylist6*/;
31708 /* Register variable[19]: Result */
31709 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
31710 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12890); nit_exit(1);}
31711 /* Register variable[19]: Local variable */
31712 variable[19] = variable[5] /*nodearraylist8*/;
31713 /* Register variable[20]: Result */
31714 variable[20] = TAG_Bool(( variable[19] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
31715 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction253___action, LOCATE_parser, 12892); nit_exit(1);}
31716 /* Register variable[20]: Local variable */
31717 /* Register variable[21]: Result */
31718 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*/;
31719 variable[20] = variable[21];
31720 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
31721 /* Register variable[21]: Result */
31722 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31723 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
31724 return_label538: while(false);
31725 tracehead = trace.prev;
31726 return;
31727 }
31728 void parser___ReduceAction253___init(val_t self, int* init_table) {
31729 struct trace_t trace = {NULL, NULL, 12905, LOCATE_parser___ReduceAction253___init};
31730 val_t variable[2];
31731 struct WBT_ **closurevariable = NULL;
31732 trace.prev = tracehead; tracehead = &trace;
31733 trace.file = LOCATE_parser;
31734 /* Register variable[0]: Local variable */
31735 variable[0] = self;
31736 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction253].i]) return;
31737 /* Register variable[1]: Method return value and escape marker */
31738 return_label539: while(false);
31739 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction253].i] = 1;
31740 tracehead = trace.prev;
31741 return;
31742 }
31743 void parser___ReduceAction254___action(val_t self, val_t param0) {
31744 struct trace_t trace = {NULL, NULL, 12909, LOCATE_parser___ReduceAction254___action};
31745 val_t variable[16];
31746 struct WBT_ **closurevariable = NULL;
31747 trace.prev = tracehead; tracehead = &trace;
31748 trace.file = LOCATE_parser;
31749 /* Register variable[0]: Local variable */
31750 variable[0] = self;
31751 /* Register variable[1]: Local variable */
31752 variable[1] = param0;
31753 /* Register variable[2]: Method return value and escape marker */
31754 /* Register variable[3]: Local variable */
31755 variable[3] = NIT_NULL /*null*/;
31756 /* Register variable[4]: Local variable */
31757 /* Register variable[5]: Result */
31758 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31759 variable[4] = variable[5];
31760 /* Register variable[5]: Local variable */
31761 /* Register variable[6]: Result */
31762 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31763 variable[5] = variable[6];
31764 /* Register variable[6]: Local variable */
31765 /* Register variable[7]: Result */
31766 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31767 variable[6] = variable[7];
31768 /* Register variable[7]: Local variable */
31769 /* Register variable[8]: Result */
31770 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31771 variable[7] = variable[8];
31772 /* Register variable[8]: Local variable */
31773 /* Register variable[9]: Result */
31774 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31775 variable[8] = variable[9];
31776 /* Register variable[9]: Local variable */
31777 variable[9] = variable[8] /*nodearraylist1*/;
31778 /* Register variable[10]: Result */
31779 variable[10] = TAG_Bool(( variable[9] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31780 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 12918); nit_exit(1);}
31781 /* Register variable[10]: Local variable */
31782 variable[10] = variable[7] /*nodearraylist2*/;
31783 /* Register variable[11]: Result */
31784 variable[11] = TAG_Bool(( variable[10] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31785 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 12920); nit_exit(1);}
31786 /* Register variable[11]: Local variable */
31787 variable[11] = variable[6] /*nodearraylist3*/;
31788 /* Register variable[12]: Result */
31789 variable[12] = TAG_Bool(( variable[11] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
31790 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 12922); nit_exit(1);}
31791 /* Register variable[12]: Local variable */
31792 variable[12] = variable[5] /*nodearraylist4*/;
31793 /* Register variable[13]: Result */
31794 variable[13] = TAG_Bool(( variable[12] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
31795 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 12924); nit_exit(1);}
31796 /* Register variable[13]: Local variable */
31797 variable[13] = variable[4] /*nodearraylist5*/;
31798 /* Register variable[14]: Result */
31799 variable[14] = TAG_Bool(( variable[13] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
31800 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction254___action, LOCATE_parser, 12926); nit_exit(1);}
31801 /* Register variable[14]: Local variable */
31802 /* Register variable[15]: Result */
31803 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*/;
31804 variable[14] = variable[15];
31805 variable[3] = variable[14] /*ppropdefnode1*/ /*node_list=*/;
31806 /* Register variable[15]: Result */
31807 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31808 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
31809 return_label540: while(false);
31810 tracehead = trace.prev;
31811 return;
31812 }
31813 void parser___ReduceAction254___init(val_t self, int* init_table) {
31814 struct trace_t trace = {NULL, NULL, 12938, LOCATE_parser___ReduceAction254___init};
31815 val_t variable[2];
31816 struct WBT_ **closurevariable = NULL;
31817 trace.prev = tracehead; tracehead = &trace;
31818 trace.file = LOCATE_parser;
31819 /* Register variable[0]: Local variable */
31820 variable[0] = self;
31821 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction254].i]) return;
31822 /* Register variable[1]: Method return value and escape marker */
31823 return_label541: while(false);
31824 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction254].i] = 1;
31825 tracehead = trace.prev;
31826 return;
31827 }
31828 void parser___ReduceAction255___action(val_t self, val_t param0) {
31829 struct trace_t trace = {NULL, NULL, 12942, LOCATE_parser___ReduceAction255___action};
31830 val_t variable[18];
31831 struct WBT_ **closurevariable = NULL;
31832 trace.prev = tracehead; tracehead = &trace;
31833 trace.file = LOCATE_parser;
31834 /* Register variable[0]: Local variable */
31835 variable[0] = self;
31836 /* Register variable[1]: Local variable */
31837 variable[1] = param0;
31838 /* Register variable[2]: Method return value and escape marker */
31839 /* Register variable[3]: Local variable */
31840 variable[3] = NIT_NULL /*null*/;
31841 /* Register variable[4]: Local variable */
31842 /* Register variable[5]: Result */
31843 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31844 variable[4] = variable[5];
31845 /* Register variable[5]: Local variable */
31846 /* Register variable[6]: Result */
31847 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31848 variable[5] = variable[6];
31849 /* Register variable[6]: Local variable */
31850 /* Register variable[7]: Result */
31851 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31852 variable[6] = variable[7];
31853 /* Register variable[7]: Local variable */
31854 /* Register variable[8]: Result */
31855 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31856 variable[7] = variable[8];
31857 /* Register variable[8]: Local variable */
31858 /* Register variable[9]: Result */
31859 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31860 variable[8] = variable[9];
31861 /* Register variable[9]: Local variable */
31862 /* Register variable[10]: Result */
31863 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31864 variable[9] = variable[10];
31865 /* Register variable[10]: Local variable */
31866 variable[10] = variable[9] /*nodearraylist1*/;
31867 /* Register variable[11]: Result */
31868 variable[11] = TAG_Bool(( variable[10] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
31869 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12952); nit_exit(1);}
31870 /* Register variable[11]: Local variable */
31871 variable[11] = variable[8] /*nodearraylist2*/;
31872 /* Register variable[12]: Result */
31873 variable[12] = TAG_Bool(( variable[11] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
31874 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12954); nit_exit(1);}
31875 /* Register variable[12]: Local variable */
31876 variable[12] = variable[7] /*nodearraylist3*/;
31877 /* Register variable[13]: Result */
31878 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
31879 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12956); nit_exit(1);}
31880 /* Register variable[13]: Local variable */
31881 variable[13] = variable[6] /*nodearraylist4*/;
31882 /* Register variable[14]: Result */
31883 variable[14] = TAG_Bool(( variable[13] /*tkwtypenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwtypenode5*/, COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
31884 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12958); nit_exit(1);}
31885 /* Register variable[14]: Local variable */
31886 variable[14] = variable[5] /*nodearraylist5*/;
31887 /* Register variable[15]: Result */
31888 variable[15] = TAG_Bool(( variable[14] /*tclassidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*tclassidnode6*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
31889 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12960); nit_exit(1);}
31890 /* Register variable[15]: Local variable */
31891 variable[15] = variable[4] /*nodearraylist6*/;
31892 /* Register variable[16]: Result */
31893 variable[16] = TAG_Bool(( variable[15] /*ptypenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*ptypenode7*/, COLOR_PType, ID_PType)) /*cast PType*/;
31894 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction255___action, LOCATE_parser, 12962); nit_exit(1);}
31895 /* Register variable[16]: Local variable */
31896 /* Register variable[17]: Result */
31897 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*/;
31898 variable[16] = variable[17];
31899 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
31900 /* Register variable[17]: Result */
31901 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(12)) /*Parser::go_to*/;
31902 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
31903 return_label542: while(false);
31904 tracehead = trace.prev;
31905 return;
31906 }
31907 void parser___ReduceAction255___init(val_t self, int* init_table) {
31908 struct trace_t trace = {NULL, NULL, 12974, LOCATE_parser___ReduceAction255___init};
31909 val_t variable[2];
31910 struct WBT_ **closurevariable = NULL;
31911 trace.prev = tracehead; tracehead = &trace;
31912 trace.file = LOCATE_parser;
31913 /* Register variable[0]: Local variable */
31914 variable[0] = self;
31915 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction255].i]) return;
31916 /* Register variable[1]: Method return value and escape marker */
31917 return_label543: while(false);
31918 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction255].i] = 1;
31919 tracehead = trace.prev;
31920 return;
31921 }
31922 void parser___ReduceAction256___action(val_t self, val_t param0) {
31923 struct trace_t trace = {NULL, NULL, 12978, LOCATE_parser___ReduceAction256___action};
31924 val_t variable[6];
31925 struct WBT_ **closurevariable = NULL;
31926 trace.prev = tracehead; tracehead = &trace;
31927 trace.file = LOCATE_parser;
31928 /* Register variable[0]: Local variable */
31929 variable[0] = self;
31930 /* Register variable[1]: Local variable */
31931 variable[1] = param0;
31932 /* Register variable[2]: Method return value and escape marker */
31933 /* Register variable[3]: Local variable */
31934 variable[3] = NIT_NULL /*null*/;
31935 /* Register variable[4]: Local variable */
31936 /* Register variable[5]: Result */
31937 variable[5] = NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility() /*new APublicVisibility*/;
31938 variable[4] = variable[5];
31939 variable[3] = variable[4] /*pvisibilitynode1*/ /*node_list=*/;
31940 /* Register variable[5]: Result */
31941 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
31942 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
31943 return_label544: while(false);
31944 tracehead = trace.prev;
31945 return;
31946 }
31947 void parser___ReduceAction256___init(val_t self, int* init_table) {
31948 struct trace_t trace = {NULL, NULL, 12986, LOCATE_parser___ReduceAction256___init};
31949 val_t variable[2];
31950 struct WBT_ **closurevariable = NULL;
31951 trace.prev = tracehead; tracehead = &trace;
31952 trace.file = LOCATE_parser;
31953 /* Register variable[0]: Local variable */
31954 variable[0] = self;
31955 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction256].i]) return;
31956 /* Register variable[1]: Method return value and escape marker */
31957 return_label545: while(false);
31958 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction256].i] = 1;
31959 tracehead = trace.prev;
31960 return;
31961 }
31962 void parser___ReduceAction257___action(val_t self, val_t param0) {
31963 struct trace_t trace = {NULL, NULL, 12990, LOCATE_parser___ReduceAction257___action};
31964 val_t variable[9];
31965 struct WBT_ **closurevariable = NULL;
31966 trace.prev = tracehead; tracehead = &trace;
31967 trace.file = LOCATE_parser;
31968 /* Register variable[0]: Local variable */
31969 variable[0] = self;
31970 /* Register variable[1]: Local variable */
31971 variable[1] = param0;
31972 /* Register variable[2]: Method return value and escape marker */
31973 /* Register variable[3]: Local variable */
31974 variable[3] = NIT_NULL /*null*/;
31975 /* Register variable[4]: Local variable */
31976 /* Register variable[5]: Result */
31977 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31978 variable[4] = variable[5];
31979 /* Register variable[5]: Local variable */
31980 /* Register variable[6]: Result */
31981 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
31982 variable[5] = variable[6];
31983 /* Register variable[6]: Local variable */
31984 variable[6] = variable[5] /*nodearraylist1*/;
31985 /* Register variable[7]: Result */
31986 variable[7] = TAG_Bool(( variable[6] /*tkwprivatenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprivatenode2*/, COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
31987 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction257___action, LOCATE_parser, 12996); nit_exit(1);}
31988 /* Register variable[7]: Local variable */
31989 /* Register variable[8]: Result */
31990 variable[8] = NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility( variable[6] /*tkwprivatenode2*/) /*new APrivateVisibility*/;
31991 variable[7] = variable[8];
31992 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
31993 /* Register variable[8]: Result */
31994 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
31995 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
31996 return_label546: while(false);
31997 tracehead = trace.prev;
31998 return;
31999 }
32000 void parser___ReduceAction257___init(val_t self, int* init_table) {
32001 struct trace_t trace = {NULL, NULL, 13003, LOCATE_parser___ReduceAction257___init};
32002 val_t variable[2];
32003 struct WBT_ **closurevariable = NULL;
32004 trace.prev = tracehead; tracehead = &trace;
32005 trace.file = LOCATE_parser;
32006 /* Register variable[0]: Local variable */
32007 variable[0] = self;
32008 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction257].i]) return;
32009 /* Register variable[1]: Method return value and escape marker */
32010 return_label547: while(false);
32011 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction257].i] = 1;
32012 tracehead = trace.prev;
32013 return;
32014 }
32015 void parser___ReduceAction258___action(val_t self, val_t param0) {
32016 struct trace_t trace = {NULL, NULL, 13007, LOCATE_parser___ReduceAction258___action};
32017 val_t variable[9];
32018 struct WBT_ **closurevariable = NULL;
32019 trace.prev = tracehead; tracehead = &trace;
32020 trace.file = LOCATE_parser;
32021 /* Register variable[0]: Local variable */
32022 variable[0] = self;
32023 /* Register variable[1]: Local variable */
32024 variable[1] = param0;
32025 /* Register variable[2]: Method return value and escape marker */
32026 /* Register variable[3]: Local variable */
32027 variable[3] = NIT_NULL /*null*/;
32028 /* Register variable[4]: Local variable */
32029 /* Register variable[5]: Result */
32030 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32031 variable[4] = variable[5];
32032 /* Register variable[5]: Local variable */
32033 /* Register variable[6]: Result */
32034 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32035 variable[5] = variable[6];
32036 /* Register variable[6]: Local variable */
32037 variable[6] = variable[5] /*nodearraylist1*/;
32038 /* Register variable[7]: Result */
32039 variable[7] = TAG_Bool(( variable[6] /*tkwprotectednode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwprotectednode2*/, COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
32040 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction258___action, LOCATE_parser, 13013); nit_exit(1);}
32041 /* Register variable[7]: Local variable */
32042 /* Register variable[8]: Result */
32043 variable[8] = NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility( variable[6] /*tkwprotectednode2*/) /*new AProtectedVisibility*/;
32044 variable[7] = variable[8];
32045 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
32046 /* Register variable[8]: Result */
32047 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
32048 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32049 return_label548: while(false);
32050 tracehead = trace.prev;
32051 return;
32052 }
32053 void parser___ReduceAction258___init(val_t self, int* init_table) {
32054 struct trace_t trace = {NULL, NULL, 13020, LOCATE_parser___ReduceAction258___init};
32055 val_t variable[2];
32056 struct WBT_ **closurevariable = NULL;
32057 trace.prev = tracehead; tracehead = &trace;
32058 trace.file = LOCATE_parser;
32059 /* Register variable[0]: Local variable */
32060 variable[0] = self;
32061 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction258].i]) return;
32062 /* Register variable[1]: Method return value and escape marker */
32063 return_label549: while(false);
32064 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction258].i] = 1;
32065 tracehead = trace.prev;
32066 return;
32067 }
32068 void parser___ReduceAction259___action(val_t self, val_t param0) {
32069 struct trace_t trace = {NULL, NULL, 13024, LOCATE_parser___ReduceAction259___action};
32070 val_t variable[9];
32071 struct WBT_ **closurevariable = NULL;
32072 trace.prev = tracehead; tracehead = &trace;
32073 trace.file = LOCATE_parser;
32074 /* Register variable[0]: Local variable */
32075 variable[0] = self;
32076 /* Register variable[1]: Local variable */
32077 variable[1] = param0;
32078 /* Register variable[2]: Method return value and escape marker */
32079 /* Register variable[3]: Local variable */
32080 variable[3] = NIT_NULL /*null*/;
32081 /* Register variable[4]: Local variable */
32082 /* Register variable[5]: Result */
32083 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32084 variable[4] = variable[5];
32085 /* Register variable[5]: Local variable */
32086 /* Register variable[6]: Result */
32087 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32088 variable[5] = variable[6];
32089 /* Register variable[6]: Local variable */
32090 variable[6] = variable[5] /*nodearraylist1*/;
32091 /* Register variable[7]: Result */
32092 variable[7] = TAG_Bool(( variable[6] /*tkwintrudenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwintrudenode2*/, COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
32093 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction259___action, LOCATE_parser, 13030); nit_exit(1);}
32094 /* Register variable[7]: Local variable */
32095 /* Register variable[8]: Result */
32096 variable[8] = NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility( variable[6] /*tkwintrudenode2*/) /*new AIntrudeVisibility*/;
32097 variable[7] = variable[8];
32098 variable[3] = variable[7] /*pvisibilitynode1*/ /*node_list=*/;
32099 /* Register variable[8]: Result */
32100 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(13)) /*Parser::go_to*/;
32101 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
32102 return_label550: while(false);
32103 tracehead = trace.prev;
32104 return;
32105 }
32106 void parser___ReduceAction259___init(val_t self, int* init_table) {
32107 struct trace_t trace = {NULL, NULL, 13037, LOCATE_parser___ReduceAction259___init};
32108 val_t variable[2];
32109 struct WBT_ **closurevariable = NULL;
32110 trace.prev = tracehead; tracehead = &trace;
32111 trace.file = LOCATE_parser;
32112 /* Register variable[0]: Local variable */
32113 variable[0] = self;
32114 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction259].i]) return;
32115 /* Register variable[1]: Method return value and escape marker */
32116 return_label551: while(false);
32117 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction259].i] = 1;
32118 tracehead = trace.prev;
32119 return;
32120 }
32121 void parser___ReduceAction260___action(val_t self, val_t param0) {
32122 struct trace_t trace = {NULL, NULL, 13041, LOCATE_parser___ReduceAction260___action};
32123 val_t variable[8];
32124 struct WBT_ **closurevariable = NULL;
32125 trace.prev = tracehead; tracehead = &trace;
32126 trace.file = LOCATE_parser;
32127 /* Register variable[0]: Local variable */
32128 variable[0] = self;
32129 /* Register variable[1]: Local variable */
32130 variable[1] = param0;
32131 /* Register variable[2]: Method return value and escape marker */
32132 /* Register variable[3]: Local variable */
32133 variable[3] = NIT_NULL /*null*/;
32134 /* Register variable[4]: Local variable */
32135 /* Register variable[5]: Result */
32136 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32137 variable[4] = variable[5];
32138 /* Register variable[5]: Local variable */
32139 variable[5] = variable[4] /*nodearraylist1*/;
32140 /* Register variable[6]: Result */
32141 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32142 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction260___action, LOCATE_parser, 13046); nit_exit(1);}
32143 /* Register variable[6]: Local variable */
32144 /* Register variable[7]: Result */
32145 variable[7] = NEW_AIdMethid_parser_prod___AIdMethid___init_aidmethid( variable[5] /*tidnode2*/) /*new AIdMethid*/;
32146 variable[6] = variable[7];
32147 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32148 /* Register variable[7]: Result */
32149 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32150 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32151 return_label552: while(false);
32152 tracehead = trace.prev;
32153 return;
32154 }
32155 void parser___ReduceAction260___init(val_t self, int* init_table) {
32156 struct trace_t trace = {NULL, NULL, 13053, LOCATE_parser___ReduceAction260___init};
32157 val_t variable[2];
32158 struct WBT_ **closurevariable = NULL;
32159 trace.prev = tracehead; tracehead = &trace;
32160 trace.file = LOCATE_parser;
32161 /* Register variable[0]: Local variable */
32162 variable[0] = self;
32163 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction260].i]) return;
32164 /* Register variable[1]: Method return value and escape marker */
32165 return_label553: while(false);
32166 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction260].i] = 1;
32167 tracehead = trace.prev;
32168 return;
32169 }
32170 void parser___ReduceAction261___action(val_t self, val_t param0) {
32171 struct trace_t trace = {NULL, NULL, 13057, LOCATE_parser___ReduceAction261___action};
32172 val_t variable[8];
32173 struct WBT_ **closurevariable = NULL;
32174 trace.prev = tracehead; tracehead = &trace;
32175 trace.file = LOCATE_parser;
32176 /* Register variable[0]: Local variable */
32177 variable[0] = self;
32178 /* Register variable[1]: Local variable */
32179 variable[1] = param0;
32180 /* Register variable[2]: Method return value and escape marker */
32181 /* Register variable[3]: Local variable */
32182 variable[3] = NIT_NULL /*null*/;
32183 /* Register variable[4]: Local variable */
32184 /* Register variable[5]: Result */
32185 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32186 variable[4] = variable[5];
32187 /* Register variable[5]: Local variable */
32188 variable[5] = variable[4] /*nodearraylist1*/;
32189 /* Register variable[6]: Result */
32190 variable[6] = TAG_Bool(( variable[5] /*tplusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tplusnode2*/, COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
32191 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction261___action, LOCATE_parser, 13062); nit_exit(1);}
32192 /* Register variable[6]: Local variable */
32193 /* Register variable[7]: Result */
32194 variable[7] = NEW_APlusMethid_parser_prod___APlusMethid___init_aplusmethid( variable[5] /*tplusnode2*/) /*new APlusMethid*/;
32195 variable[6] = variable[7];
32196 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32197 /* Register variable[7]: Result */
32198 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32199 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32200 return_label554: while(false);
32201 tracehead = trace.prev;
32202 return;
32203 }
32204 void parser___ReduceAction261___init(val_t self, int* init_table) {
32205 struct trace_t trace = {NULL, NULL, 13069, LOCATE_parser___ReduceAction261___init};
32206 val_t variable[2];
32207 struct WBT_ **closurevariable = NULL;
32208 trace.prev = tracehead; tracehead = &trace;
32209 trace.file = LOCATE_parser;
32210 /* Register variable[0]: Local variable */
32211 variable[0] = self;
32212 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction261].i]) return;
32213 /* Register variable[1]: Method return value and escape marker */
32214 return_label555: while(false);
32215 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction261].i] = 1;
32216 tracehead = trace.prev;
32217 return;
32218 }
32219 void parser___ReduceAction262___action(val_t self, val_t param0) {
32220 struct trace_t trace = {NULL, NULL, 13073, LOCATE_parser___ReduceAction262___action};
32221 val_t variable[8];
32222 struct WBT_ **closurevariable = NULL;
32223 trace.prev = tracehead; tracehead = &trace;
32224 trace.file = LOCATE_parser;
32225 /* Register variable[0]: Local variable */
32226 variable[0] = self;
32227 /* Register variable[1]: Local variable */
32228 variable[1] = param0;
32229 /* Register variable[2]: Method return value and escape marker */
32230 /* Register variable[3]: Local variable */
32231 variable[3] = NIT_NULL /*null*/;
32232 /* Register variable[4]: Local variable */
32233 /* Register variable[5]: Result */
32234 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32235 variable[4] = variable[5];
32236 /* Register variable[5]: Local variable */
32237 variable[5] = variable[4] /*nodearraylist1*/;
32238 /* Register variable[6]: Result */
32239 variable[6] = TAG_Bool(( variable[5] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
32240 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction262___action, LOCATE_parser, 13078); nit_exit(1);}
32241 /* Register variable[6]: Local variable */
32242 /* Register variable[7]: Result */
32243 variable[7] = NEW_AMinusMethid_parser_prod___AMinusMethid___init_aminusmethid( variable[5] /*tminusnode2*/) /*new AMinusMethid*/;
32244 variable[6] = variable[7];
32245 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32246 /* Register variable[7]: Result */
32247 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32248 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32249 return_label556: while(false);
32250 tracehead = trace.prev;
32251 return;
32252 }
32253 void parser___ReduceAction262___init(val_t self, int* init_table) {
32254 struct trace_t trace = {NULL, NULL, 13085, LOCATE_parser___ReduceAction262___init};
32255 val_t variable[2];
32256 struct WBT_ **closurevariable = NULL;
32257 trace.prev = tracehead; tracehead = &trace;
32258 trace.file = LOCATE_parser;
32259 /* Register variable[0]: Local variable */
32260 variable[0] = self;
32261 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction262].i]) return;
32262 /* Register variable[1]: Method return value and escape marker */
32263 return_label557: while(false);
32264 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction262].i] = 1;
32265 tracehead = trace.prev;
32266 return;
32267 }
32268 void parser___ReduceAction263___action(val_t self, val_t param0) {
32269 struct trace_t trace = {NULL, NULL, 13089, LOCATE_parser___ReduceAction263___action};
32270 val_t variable[8];
32271 struct WBT_ **closurevariable = NULL;
32272 trace.prev = tracehead; tracehead = &trace;
32273 trace.file = LOCATE_parser;
32274 /* Register variable[0]: Local variable */
32275 variable[0] = self;
32276 /* Register variable[1]: Local variable */
32277 variable[1] = param0;
32278 /* Register variable[2]: Method return value and escape marker */
32279 /* Register variable[3]: Local variable */
32280 variable[3] = NIT_NULL /*null*/;
32281 /* Register variable[4]: Local variable */
32282 /* Register variable[5]: Result */
32283 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32284 variable[4] = variable[5];
32285 /* Register variable[5]: Local variable */
32286 variable[5] = variable[4] /*nodearraylist1*/;
32287 /* Register variable[6]: Result */
32288 variable[6] = TAG_Bool(( variable[5] /*tstarnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarnode2*/, COLOR_TStar, ID_TStar)) /*cast TStar*/;
32289 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction263___action, LOCATE_parser, 13094); nit_exit(1);}
32290 /* Register variable[6]: Local variable */
32291 /* Register variable[7]: Result */
32292 variable[7] = NEW_AStarMethid_parser_prod___AStarMethid___init_astarmethid( variable[5] /*tstarnode2*/) /*new AStarMethid*/;
32293 variable[6] = variable[7];
32294 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32295 /* Register variable[7]: Result */
32296 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32297 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32298 return_label558: while(false);
32299 tracehead = trace.prev;
32300 return;
32301 }
32302 void parser___ReduceAction263___init(val_t self, int* init_table) {
32303 struct trace_t trace = {NULL, NULL, 13101, LOCATE_parser___ReduceAction263___init};
32304 val_t variable[2];
32305 struct WBT_ **closurevariable = NULL;
32306 trace.prev = tracehead; tracehead = &trace;
32307 trace.file = LOCATE_parser;
32308 /* Register variable[0]: Local variable */
32309 variable[0] = self;
32310 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction263].i]) return;
32311 /* Register variable[1]: Method return value and escape marker */
32312 return_label559: while(false);
32313 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction263].i] = 1;
32314 tracehead = trace.prev;
32315 return;
32316 }
32317 void parser___ReduceAction264___action(val_t self, val_t param0) {
32318 struct trace_t trace = {NULL, NULL, 13105, LOCATE_parser___ReduceAction264___action};
32319 val_t variable[8];
32320 struct WBT_ **closurevariable = NULL;
32321 trace.prev = tracehead; tracehead = &trace;
32322 trace.file = LOCATE_parser;
32323 /* Register variable[0]: Local variable */
32324 variable[0] = self;
32325 /* Register variable[1]: Local variable */
32326 variable[1] = param0;
32327 /* Register variable[2]: Method return value and escape marker */
32328 /* Register variable[3]: Local variable */
32329 variable[3] = NIT_NULL /*null*/;
32330 /* Register variable[4]: Local variable */
32331 /* Register variable[5]: Result */
32332 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32333 variable[4] = variable[5];
32334 /* Register variable[5]: Local variable */
32335 variable[5] = variable[4] /*nodearraylist1*/;
32336 /* Register variable[6]: Result */
32337 variable[6] = TAG_Bool(( variable[5] /*tslashnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tslashnode2*/, COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
32338 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction264___action, LOCATE_parser, 13110); nit_exit(1);}
32339 /* Register variable[6]: Local variable */
32340 /* Register variable[7]: Result */
32341 variable[7] = NEW_ASlashMethid_parser_prod___ASlashMethid___init_aslashmethid( variable[5] /*tslashnode2*/) /*new ASlashMethid*/;
32342 variable[6] = variable[7];
32343 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32344 /* Register variable[7]: Result */
32345 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32346 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32347 return_label560: while(false);
32348 tracehead = trace.prev;
32349 return;
32350 }
32351 void parser___ReduceAction264___init(val_t self, int* init_table) {
32352 struct trace_t trace = {NULL, NULL, 13117, LOCATE_parser___ReduceAction264___init};
32353 val_t variable[2];
32354 struct WBT_ **closurevariable = NULL;
32355 trace.prev = tracehead; tracehead = &trace;
32356 trace.file = LOCATE_parser;
32357 /* Register variable[0]: Local variable */
32358 variable[0] = self;
32359 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction264].i]) return;
32360 /* Register variable[1]: Method return value and escape marker */
32361 return_label561: while(false);
32362 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction264].i] = 1;
32363 tracehead = trace.prev;
32364 return;
32365 }
32366 void parser___ReduceAction265___action(val_t self, val_t param0) {
32367 struct trace_t trace = {NULL, NULL, 13121, LOCATE_parser___ReduceAction265___action};
32368 val_t variable[8];
32369 struct WBT_ **closurevariable = NULL;
32370 trace.prev = tracehead; tracehead = &trace;
32371 trace.file = LOCATE_parser;
32372 /* Register variable[0]: Local variable */
32373 variable[0] = self;
32374 /* Register variable[1]: Local variable */
32375 variable[1] = param0;
32376 /* Register variable[2]: Method return value and escape marker */
32377 /* Register variable[3]: Local variable */
32378 variable[3] = NIT_NULL /*null*/;
32379 /* Register variable[4]: Local variable */
32380 /* Register variable[5]: Result */
32381 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32382 variable[4] = variable[5];
32383 /* Register variable[5]: Local variable */
32384 variable[5] = variable[4] /*nodearraylist1*/;
32385 /* Register variable[6]: Result */
32386 variable[6] = TAG_Bool(( variable[5] /*tpercentnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpercentnode2*/, COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
32387 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction265___action, LOCATE_parser, 13126); nit_exit(1);}
32388 /* Register variable[6]: Local variable */
32389 /* Register variable[7]: Result */
32390 variable[7] = NEW_APercentMethid_parser_prod___APercentMethid___init_apercentmethid( variable[5] /*tpercentnode2*/) /*new APercentMethid*/;
32391 variable[6] = variable[7];
32392 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32393 /* Register variable[7]: Result */
32394 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32395 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32396 return_label562: while(false);
32397 tracehead = trace.prev;
32398 return;
32399 }
32400 void parser___ReduceAction265___init(val_t self, int* init_table) {
32401 struct trace_t trace = {NULL, NULL, 13133, LOCATE_parser___ReduceAction265___init};
32402 val_t variable[2];
32403 struct WBT_ **closurevariable = NULL;
32404 trace.prev = tracehead; tracehead = &trace;
32405 trace.file = LOCATE_parser;
32406 /* Register variable[0]: Local variable */
32407 variable[0] = self;
32408 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction265].i]) return;
32409 /* Register variable[1]: Method return value and escape marker */
32410 return_label563: while(false);
32411 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction265].i] = 1;
32412 tracehead = trace.prev;
32413 return;
32414 }
32415 void parser___ReduceAction266___action(val_t self, val_t param0) {
32416 struct trace_t trace = {NULL, NULL, 13137, LOCATE_parser___ReduceAction266___action};
32417 val_t variable[8];
32418 struct WBT_ **closurevariable = NULL;
32419 trace.prev = tracehead; tracehead = &trace;
32420 trace.file = LOCATE_parser;
32421 /* Register variable[0]: Local variable */
32422 variable[0] = self;
32423 /* Register variable[1]: Local variable */
32424 variable[1] = param0;
32425 /* Register variable[2]: Method return value and escape marker */
32426 /* Register variable[3]: Local variable */
32427 variable[3] = NIT_NULL /*null*/;
32428 /* Register variable[4]: Local variable */
32429 /* Register variable[5]: Result */
32430 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32431 variable[4] = variable[5];
32432 /* Register variable[5]: Local variable */
32433 variable[5] = variable[4] /*nodearraylist1*/;
32434 /* Register variable[6]: Result */
32435 variable[6] = TAG_Bool(( variable[5] /*teqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*teqnode2*/, COLOR_TEq, ID_TEq)) /*cast TEq*/;
32436 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction266___action, LOCATE_parser, 13142); nit_exit(1);}
32437 /* Register variable[6]: Local variable */
32438 /* Register variable[7]: Result */
32439 variable[7] = NEW_AEqMethid_parser_prod___AEqMethid___init_aeqmethid( variable[5] /*teqnode2*/) /*new AEqMethid*/;
32440 variable[6] = variable[7];
32441 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32442 /* Register variable[7]: Result */
32443 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32444 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32445 return_label564: while(false);
32446 tracehead = trace.prev;
32447 return;
32448 }
32449 void parser___ReduceAction266___init(val_t self, int* init_table) {
32450 struct trace_t trace = {NULL, NULL, 13149, LOCATE_parser___ReduceAction266___init};
32451 val_t variable[2];
32452 struct WBT_ **closurevariable = NULL;
32453 trace.prev = tracehead; tracehead = &trace;
32454 trace.file = LOCATE_parser;
32455 /* Register variable[0]: Local variable */
32456 variable[0] = self;
32457 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction266].i]) return;
32458 /* Register variable[1]: Method return value and escape marker */
32459 return_label565: while(false);
32460 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction266].i] = 1;
32461 tracehead = trace.prev;
32462 return;
32463 }
32464 void parser___ReduceAction267___action(val_t self, val_t param0) {
32465 struct trace_t trace = {NULL, NULL, 13153, LOCATE_parser___ReduceAction267___action};
32466 val_t variable[8];
32467 struct WBT_ **closurevariable = NULL;
32468 trace.prev = tracehead; tracehead = &trace;
32469 trace.file = LOCATE_parser;
32470 /* Register variable[0]: Local variable */
32471 variable[0] = self;
32472 /* Register variable[1]: Local variable */
32473 variable[1] = param0;
32474 /* Register variable[2]: Method return value and escape marker */
32475 /* Register variable[3]: Local variable */
32476 variable[3] = NIT_NULL /*null*/;
32477 /* Register variable[4]: Local variable */
32478 /* Register variable[5]: Result */
32479 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32480 variable[4] = variable[5];
32481 /* Register variable[5]: Local variable */
32482 variable[5] = variable[4] /*nodearraylist1*/;
32483 /* Register variable[6]: Result */
32484 variable[6] = TAG_Bool(( variable[5] /*tnenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnenode2*/, COLOR_TNe, ID_TNe)) /*cast TNe*/;
32485 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction267___action, LOCATE_parser, 13158); nit_exit(1);}
32486 /* Register variable[6]: Local variable */
32487 /* Register variable[7]: Result */
32488 variable[7] = NEW_ANeMethid_parser_prod___ANeMethid___init_anemethid( variable[5] /*tnenode2*/) /*new ANeMethid*/;
32489 variable[6] = variable[7];
32490 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32491 /* Register variable[7]: Result */
32492 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32493 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32494 return_label566: while(false);
32495 tracehead = trace.prev;
32496 return;
32497 }
32498 void parser___ReduceAction267___init(val_t self, int* init_table) {
32499 struct trace_t trace = {NULL, NULL, 13165, LOCATE_parser___ReduceAction267___init};
32500 val_t variable[2];
32501 struct WBT_ **closurevariable = NULL;
32502 trace.prev = tracehead; tracehead = &trace;
32503 trace.file = LOCATE_parser;
32504 /* Register variable[0]: Local variable */
32505 variable[0] = self;
32506 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction267].i]) return;
32507 /* Register variable[1]: Method return value and escape marker */
32508 return_label567: while(false);
32509 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction267].i] = 1;
32510 tracehead = trace.prev;
32511 return;
32512 }
32513 void parser___ReduceAction268___action(val_t self, val_t param0) {
32514 struct trace_t trace = {NULL, NULL, 13169, LOCATE_parser___ReduceAction268___action};
32515 val_t variable[8];
32516 struct WBT_ **closurevariable = NULL;
32517 trace.prev = tracehead; tracehead = &trace;
32518 trace.file = LOCATE_parser;
32519 /* Register variable[0]: Local variable */
32520 variable[0] = self;
32521 /* Register variable[1]: Local variable */
32522 variable[1] = param0;
32523 /* Register variable[2]: Method return value and escape marker */
32524 /* Register variable[3]: Local variable */
32525 variable[3] = NIT_NULL /*null*/;
32526 /* Register variable[4]: Local variable */
32527 /* Register variable[5]: Result */
32528 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32529 variable[4] = variable[5];
32530 /* Register variable[5]: Local variable */
32531 variable[5] = variable[4] /*nodearraylist1*/;
32532 /* Register variable[6]: Result */
32533 variable[6] = TAG_Bool(( variable[5] /*tlenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tlenode2*/, COLOR_TLe, ID_TLe)) /*cast TLe*/;
32534 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction268___action, LOCATE_parser, 13174); nit_exit(1);}
32535 /* Register variable[6]: Local variable */
32536 /* Register variable[7]: Result */
32537 variable[7] = NEW_ALeMethid_parser_prod___ALeMethid___init_alemethid( variable[5] /*tlenode2*/) /*new ALeMethid*/;
32538 variable[6] = variable[7];
32539 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32540 /* Register variable[7]: Result */
32541 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32542 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32543 return_label568: while(false);
32544 tracehead = trace.prev;
32545 return;
32546 }
32547 void parser___ReduceAction268___init(val_t self, int* init_table) {
32548 struct trace_t trace = {NULL, NULL, 13181, LOCATE_parser___ReduceAction268___init};
32549 val_t variable[2];
32550 struct WBT_ **closurevariable = NULL;
32551 trace.prev = tracehead; tracehead = &trace;
32552 trace.file = LOCATE_parser;
32553 /* Register variable[0]: Local variable */
32554 variable[0] = self;
32555 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction268].i]) return;
32556 /* Register variable[1]: Method return value and escape marker */
32557 return_label569: while(false);
32558 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction268].i] = 1;
32559 tracehead = trace.prev;
32560 return;
32561 }
32562 void parser___ReduceAction269___action(val_t self, val_t param0) {
32563 struct trace_t trace = {NULL, NULL, 13185, LOCATE_parser___ReduceAction269___action};
32564 val_t variable[8];
32565 struct WBT_ **closurevariable = NULL;
32566 trace.prev = tracehead; tracehead = &trace;
32567 trace.file = LOCATE_parser;
32568 /* Register variable[0]: Local variable */
32569 variable[0] = self;
32570 /* Register variable[1]: Local variable */
32571 variable[1] = param0;
32572 /* Register variable[2]: Method return value and escape marker */
32573 /* Register variable[3]: Local variable */
32574 variable[3] = NIT_NULL /*null*/;
32575 /* Register variable[4]: Local variable */
32576 /* Register variable[5]: Result */
32577 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32578 variable[4] = variable[5];
32579 /* Register variable[5]: Local variable */
32580 variable[5] = variable[4] /*nodearraylist1*/;
32581 /* Register variable[6]: Result */
32582 variable[6] = TAG_Bool(( variable[5] /*tgenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgenode2*/, COLOR_TGe, ID_TGe)) /*cast TGe*/;
32583 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction269___action, LOCATE_parser, 13190); nit_exit(1);}
32584 /* Register variable[6]: Local variable */
32585 /* Register variable[7]: Result */
32586 variable[7] = NEW_AGeMethid_parser_prod___AGeMethid___init_agemethid( variable[5] /*tgenode2*/) /*new AGeMethid*/;
32587 variable[6] = variable[7];
32588 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32589 /* Register variable[7]: Result */
32590 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32591 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32592 return_label570: while(false);
32593 tracehead = trace.prev;
32594 return;
32595 }
32596 void parser___ReduceAction269___init(val_t self, int* init_table) {
32597 struct trace_t trace = {NULL, NULL, 13197, LOCATE_parser___ReduceAction269___init};
32598 val_t variable[2];
32599 struct WBT_ **closurevariable = NULL;
32600 trace.prev = tracehead; tracehead = &trace;
32601 trace.file = LOCATE_parser;
32602 /* Register variable[0]: Local variable */
32603 variable[0] = self;
32604 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction269].i]) return;
32605 /* Register variable[1]: Method return value and escape marker */
32606 return_label571: while(false);
32607 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction269].i] = 1;
32608 tracehead = trace.prev;
32609 return;
32610 }
32611 void parser___ReduceAction270___action(val_t self, val_t param0) {
32612 struct trace_t trace = {NULL, NULL, 13201, LOCATE_parser___ReduceAction270___action};
32613 val_t variable[8];
32614 struct WBT_ **closurevariable = NULL;
32615 trace.prev = tracehead; tracehead = &trace;
32616 trace.file = LOCATE_parser;
32617 /* Register variable[0]: Local variable */
32618 variable[0] = self;
32619 /* Register variable[1]: Local variable */
32620 variable[1] = param0;
32621 /* Register variable[2]: Method return value and escape marker */
32622 /* Register variable[3]: Local variable */
32623 variable[3] = NIT_NULL /*null*/;
32624 /* Register variable[4]: Local variable */
32625 /* Register variable[5]: Result */
32626 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32627 variable[4] = variable[5];
32628 /* Register variable[5]: Local variable */
32629 variable[5] = variable[4] /*nodearraylist1*/;
32630 /* Register variable[6]: Result */
32631 variable[6] = TAG_Bool(( variable[5] /*tltnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tltnode2*/, COLOR_TLt, ID_TLt)) /*cast TLt*/;
32632 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction270___action, LOCATE_parser, 13206); nit_exit(1);}
32633 /* Register variable[6]: Local variable */
32634 /* Register variable[7]: Result */
32635 variable[7] = NEW_ALtMethid_parser_prod___ALtMethid___init_altmethid( variable[5] /*tltnode2*/) /*new ALtMethid*/;
32636 variable[6] = variable[7];
32637 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32638 /* Register variable[7]: Result */
32639 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32640 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32641 return_label572: while(false);
32642 tracehead = trace.prev;
32643 return;
32644 }
32645 void parser___ReduceAction270___init(val_t self, int* init_table) {
32646 struct trace_t trace = {NULL, NULL, 13213, LOCATE_parser___ReduceAction270___init};
32647 val_t variable[2];
32648 struct WBT_ **closurevariable = NULL;
32649 trace.prev = tracehead; tracehead = &trace;
32650 trace.file = LOCATE_parser;
32651 /* Register variable[0]: Local variable */
32652 variable[0] = self;
32653 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction270].i]) return;
32654 /* Register variable[1]: Method return value and escape marker */
32655 return_label573: while(false);
32656 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction270].i] = 1;
32657 tracehead = trace.prev;
32658 return;
32659 }
32660 void parser___ReduceAction271___action(val_t self, val_t param0) {
32661 struct trace_t trace = {NULL, NULL, 13217, LOCATE_parser___ReduceAction271___action};
32662 val_t variable[8];
32663 struct WBT_ **closurevariable = NULL;
32664 trace.prev = tracehead; tracehead = &trace;
32665 trace.file = LOCATE_parser;
32666 /* Register variable[0]: Local variable */
32667 variable[0] = self;
32668 /* Register variable[1]: Local variable */
32669 variable[1] = param0;
32670 /* Register variable[2]: Method return value and escape marker */
32671 /* Register variable[3]: Local variable */
32672 variable[3] = NIT_NULL /*null*/;
32673 /* Register variable[4]: Local variable */
32674 /* Register variable[5]: Result */
32675 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32676 variable[4] = variable[5];
32677 /* Register variable[5]: Local variable */
32678 variable[5] = variable[4] /*nodearraylist1*/;
32679 /* Register variable[6]: Result */
32680 variable[6] = TAG_Bool(( variable[5] /*tgtnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tgtnode2*/, COLOR_TGt, ID_TGt)) /*cast TGt*/;
32681 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction271___action, LOCATE_parser, 13222); nit_exit(1);}
32682 /* Register variable[6]: Local variable */
32683 /* Register variable[7]: Result */
32684 variable[7] = NEW_AGtMethid_parser_prod___AGtMethid___init_agtmethid( variable[5] /*tgtnode2*/) /*new AGtMethid*/;
32685 variable[6] = variable[7];
32686 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32687 /* Register variable[7]: Result */
32688 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32689 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32690 return_label574: while(false);
32691 tracehead = trace.prev;
32692 return;
32693 }
32694 void parser___ReduceAction271___init(val_t self, int* init_table) {
32695 struct trace_t trace = {NULL, NULL, 13229, LOCATE_parser___ReduceAction271___init};
32696 val_t variable[2];
32697 struct WBT_ **closurevariable = NULL;
32698 trace.prev = tracehead; tracehead = &trace;
32699 trace.file = LOCATE_parser;
32700 /* Register variable[0]: Local variable */
32701 variable[0] = self;
32702 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction271].i]) return;
32703 /* Register variable[1]: Method return value and escape marker */
32704 return_label575: while(false);
32705 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction271].i] = 1;
32706 tracehead = trace.prev;
32707 return;
32708 }
32709 void parser___ReduceAction272___action(val_t self, val_t param0) {
32710 struct trace_t trace = {NULL, NULL, 13233, LOCATE_parser___ReduceAction272___action};
32711 val_t variable[10];
32712 struct WBT_ **closurevariable = NULL;
32713 trace.prev = tracehead; tracehead = &trace;
32714 trace.file = LOCATE_parser;
32715 /* Register variable[0]: Local variable */
32716 variable[0] = self;
32717 /* Register variable[1]: Local variable */
32718 variable[1] = param0;
32719 /* Register variable[2]: Method return value and escape marker */
32720 /* Register variable[3]: Local variable */
32721 variable[3] = NIT_NULL /*null*/;
32722 /* Register variable[4]: Local variable */
32723 /* Register variable[5]: Result */
32724 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32725 variable[4] = variable[5];
32726 /* Register variable[5]: Local variable */
32727 /* Register variable[6]: Result */
32728 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32729 variable[5] = variable[6];
32730 /* Register variable[6]: Local variable */
32731 variable[6] = variable[5] /*nodearraylist1*/;
32732 /* Register variable[7]: Result */
32733 variable[7] = TAG_Bool(( variable[6] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
32734 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 13239); nit_exit(1);}
32735 /* Register variable[7]: Local variable */
32736 variable[7] = variable[4] /*nodearraylist2*/;
32737 /* Register variable[8]: Result */
32738 variable[8] = TAG_Bool(( variable[7] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
32739 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction272___action, LOCATE_parser, 13241); nit_exit(1);}
32740 /* Register variable[8]: Local variable */
32741 /* Register variable[9]: Result */
32742 variable[9] = NEW_ABraMethid_parser_prod___ABraMethid___init_abramethid( variable[6] /*tobranode2*/, variable[7] /*tcbranode3*/) /*new ABraMethid*/;
32743 variable[8] = variable[9];
32744 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
32745 /* Register variable[9]: Result */
32746 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32747 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32748 return_label576: while(false);
32749 tracehead = trace.prev;
32750 return;
32751 }
32752 void parser___ReduceAction272___init(val_t self, int* init_table) {
32753 struct trace_t trace = {NULL, NULL, 13249, LOCATE_parser___ReduceAction272___init};
32754 val_t variable[2];
32755 struct WBT_ **closurevariable = NULL;
32756 trace.prev = tracehead; tracehead = &trace;
32757 trace.file = LOCATE_parser;
32758 /* Register variable[0]: Local variable */
32759 variable[0] = self;
32760 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction272].i]) return;
32761 /* Register variable[1]: Method return value and escape marker */
32762 return_label577: while(false);
32763 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction272].i] = 1;
32764 tracehead = trace.prev;
32765 return;
32766 }
32767 void parser___ReduceAction273___action(val_t self, val_t param0) {
32768 struct trace_t trace = {NULL, NULL, 13253, LOCATE_parser___ReduceAction273___action};
32769 val_t variable[8];
32770 struct WBT_ **closurevariable = NULL;
32771 trace.prev = tracehead; tracehead = &trace;
32772 trace.file = LOCATE_parser;
32773 /* Register variable[0]: Local variable */
32774 variable[0] = self;
32775 /* Register variable[1]: Local variable */
32776 variable[1] = param0;
32777 /* Register variable[2]: Method return value and escape marker */
32778 /* Register variable[3]: Local variable */
32779 variable[3] = NIT_NULL /*null*/;
32780 /* Register variable[4]: Local variable */
32781 /* Register variable[5]: Result */
32782 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32783 variable[4] = variable[5];
32784 /* Register variable[5]: Local variable */
32785 variable[5] = variable[4] /*nodearraylist1*/;
32786 /* Register variable[6]: Result */
32787 variable[6] = TAG_Bool(( variable[5] /*tstarshipnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstarshipnode2*/, COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
32788 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction273___action, LOCATE_parser, 13258); nit_exit(1);}
32789 /* Register variable[6]: Local variable */
32790 /* Register variable[7]: Result */
32791 variable[7] = NEW_AStarshipMethid_parser_prod___AStarshipMethid___init_astarshipmethid( variable[5] /*tstarshipnode2*/) /*new AStarshipMethid*/;
32792 variable[6] = variable[7];
32793 variable[3] = variable[6] /*pmethidnode1*/ /*node_list=*/;
32794 /* Register variable[7]: Result */
32795 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32796 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
32797 return_label578: while(false);
32798 tracehead = trace.prev;
32799 return;
32800 }
32801 void parser___ReduceAction273___init(val_t self, int* init_table) {
32802 struct trace_t trace = {NULL, NULL, 13265, LOCATE_parser___ReduceAction273___init};
32803 val_t variable[2];
32804 struct WBT_ **closurevariable = NULL;
32805 trace.prev = tracehead; tracehead = &trace;
32806 trace.file = LOCATE_parser;
32807 /* Register variable[0]: Local variable */
32808 variable[0] = self;
32809 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction273].i]) return;
32810 /* Register variable[1]: Method return value and escape marker */
32811 return_label579: while(false);
32812 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction273].i] = 1;
32813 tracehead = trace.prev;
32814 return;
32815 }
32816 void parser___ReduceAction274___action(val_t self, val_t param0) {
32817 struct trace_t trace = {NULL, NULL, 13269, LOCATE_parser___ReduceAction274___action};
32818 val_t variable[10];
32819 struct WBT_ **closurevariable = NULL;
32820 trace.prev = tracehead; tracehead = &trace;
32821 trace.file = LOCATE_parser;
32822 /* Register variable[0]: Local variable */
32823 variable[0] = self;
32824 /* Register variable[1]: Local variable */
32825 variable[1] = param0;
32826 /* Register variable[2]: Method return value and escape marker */
32827 /* Register variable[3]: Local variable */
32828 variable[3] = NIT_NULL /*null*/;
32829 /* Register variable[4]: Local variable */
32830 /* Register variable[5]: Result */
32831 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32832 variable[4] = variable[5];
32833 /* Register variable[5]: Local variable */
32834 /* Register variable[6]: Result */
32835 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32836 variable[5] = variable[6];
32837 /* Register variable[6]: Local variable */
32838 variable[6] = variable[5] /*nodearraylist1*/;
32839 /* Register variable[7]: Result */
32840 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
32841 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 13275); nit_exit(1);}
32842 /* Register variable[7]: Local variable */
32843 variable[7] = variable[4] /*nodearraylist2*/;
32844 /* Register variable[8]: Result */
32845 variable[8] = TAG_Bool(( variable[7] /*tassignnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tassignnode3*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
32846 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction274___action, LOCATE_parser, 13277); nit_exit(1);}
32847 /* Register variable[8]: Local variable */
32848 /* Register variable[9]: Result */
32849 variable[9] = NEW_AAssignMethid_parser_prod___AAssignMethid___init_aassignmethid( variable[6] /*tidnode2*/, variable[7] /*tassignnode3*/) /*new AAssignMethid*/;
32850 variable[8] = variable[9];
32851 variable[3] = variable[8] /*pmethidnode1*/ /*node_list=*/;
32852 /* Register variable[9]: Result */
32853 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32854 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32855 return_label580: while(false);
32856 tracehead = trace.prev;
32857 return;
32858 }
32859 void parser___ReduceAction274___init(val_t self, int* init_table) {
32860 struct trace_t trace = {NULL, NULL, 13285, LOCATE_parser___ReduceAction274___init};
32861 val_t variable[2];
32862 struct WBT_ **closurevariable = NULL;
32863 trace.prev = tracehead; tracehead = &trace;
32864 trace.file = LOCATE_parser;
32865 /* Register variable[0]: Local variable */
32866 variable[0] = self;
32867 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction274].i]) return;
32868 /* Register variable[1]: Method return value and escape marker */
32869 return_label581: while(false);
32870 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction274].i] = 1;
32871 tracehead = trace.prev;
32872 return;
32873 }
32874 void parser___ReduceAction275___action(val_t self, val_t param0) {
32875 struct trace_t trace = {NULL, NULL, 13289, LOCATE_parser___ReduceAction275___action};
32876 val_t variable[12];
32877 struct WBT_ **closurevariable = NULL;
32878 trace.prev = tracehead; tracehead = &trace;
32879 trace.file = LOCATE_parser;
32880 /* Register variable[0]: Local variable */
32881 variable[0] = self;
32882 /* Register variable[1]: Local variable */
32883 variable[1] = param0;
32884 /* Register variable[2]: Method return value and escape marker */
32885 /* Register variable[3]: Local variable */
32886 variable[3] = NIT_NULL /*null*/;
32887 /* Register variable[4]: Local variable */
32888 /* Register variable[5]: Result */
32889 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32890 variable[4] = variable[5];
32891 /* Register variable[5]: Local variable */
32892 /* Register variable[6]: Result */
32893 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32894 variable[5] = variable[6];
32895 /* Register variable[6]: Local variable */
32896 /* Register variable[7]: Result */
32897 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32898 variable[6] = variable[7];
32899 /* Register variable[7]: Local variable */
32900 variable[7] = variable[6] /*nodearraylist1*/;
32901 /* Register variable[8]: Result */
32902 variable[8] = TAG_Bool(( variable[7] /*tobranode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tobranode2*/, COLOR_TObra, ID_TObra)) /*cast TObra*/;
32903 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 13296); nit_exit(1);}
32904 /* Register variable[8]: Local variable */
32905 variable[8] = variable[5] /*nodearraylist2*/;
32906 /* Register variable[9]: Result */
32907 variable[9] = TAG_Bool(( variable[8] /*tcbranode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tcbranode3*/, COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
32908 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 13298); nit_exit(1);}
32909 /* Register variable[9]: Local variable */
32910 variable[9] = variable[4] /*nodearraylist3*/;
32911 /* Register variable[10]: Result */
32912 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
32913 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction275___action, LOCATE_parser, 13300); nit_exit(1);}
32914 /* Register variable[10]: Local variable */
32915 /* Register variable[11]: Result */
32916 variable[11] = NEW_ABraassignMethid_parser_prod___ABraassignMethid___init_abraassignmethid( variable[7] /*tobranode2*/, variable[8] /*tcbranode3*/, variable[9] /*tassignnode4*/) /*new ABraassignMethid*/;
32917 variable[10] = variable[11];
32918 variable[3] = variable[10] /*pmethidnode1*/ /*node_list=*/;
32919 /* Register variable[11]: Result */
32920 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(14)) /*Parser::go_to*/;
32921 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
32922 return_label582: while(false);
32923 tracehead = trace.prev;
32924 return;
32925 }
32926 void parser___ReduceAction275___init(val_t self, int* init_table) {
32927 struct trace_t trace = {NULL, NULL, 13309, LOCATE_parser___ReduceAction275___init};
32928 val_t variable[2];
32929 struct WBT_ **closurevariable = NULL;
32930 trace.prev = tracehead; tracehead = &trace;
32931 trace.file = LOCATE_parser;
32932 /* Register variable[0]: Local variable */
32933 variable[0] = self;
32934 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction275].i]) return;
32935 /* Register variable[1]: Method return value and escape marker */
32936 return_label583: while(false);
32937 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction275].i] = 1;
32938 tracehead = trace.prev;
32939 return;
32940 }
32941 void parser___ReduceAction276___action(val_t self, val_t param0) {
32942 struct trace_t trace = {NULL, NULL, 13313, LOCATE_parser___ReduceAction276___action};
32943 val_t variable[10];
32944 struct WBT_ **closurevariable = NULL;
32945 trace.prev = tracehead; tracehead = &trace;
32946 trace.file = LOCATE_parser;
32947 /* Register variable[0]: Local variable */
32948 variable[0] = self;
32949 /* Register variable[1]: Local variable */
32950 variable[1] = param0;
32951 /* Register variable[2]: Method return value and escape marker */
32952 /* Register variable[3]: Local variable */
32953 variable[3] = NIT_NULL /*null*/;
32954 /* Register variable[4]: Local variable */
32955 /* Register variable[5]: Result */
32956 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
32957 variable[4] = variable[5];
32958 /* Register variable[5]: Local variable */
32959 /* Register variable[6]: Result */
32960 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
32961 variable[5] = variable[6];
32962 /* Register variable[6]: Local variable */
32963 /* Register variable[7]: Result */
32964 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
32965 variable[6] = variable[7];
32966 /* Register variable[7]: Local variable */
32967 variable[7] = variable[4] /*nodearraylist1*/;
32968 /* Register variable[8]: Result */
32969 variable[8] = TAG_Bool(( variable[7] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
32970 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction276___action, LOCATE_parser, 13320); nit_exit(1);}
32971 /* Register variable[8]: Result */
32972 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::==*/)))))));
32973 if (UNTAG_Bool(variable[8])) { /*if*/
32974 /* Register variable[8]: Result */
32975 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
32976 if (UNTAG_Bool(variable[8])) { /*if*/
32977 variable[6] = variable[7] /*listnode4*/ /*listnode5=*/;
32978 } else { /*if*/
32979 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[7] /*listnode4*/) /*IndexedCollection::append*/;
32980 }
32981 }
32982 /* Register variable[8]: Local variable */
32983 /* Register variable[9]: Result */
32984 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, NIT_NULL /*null*/, variable[6] /*listnode5*/) /*new ASignature*/;
32985 variable[8] = variable[9];
32986 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
32987 /* Register variable[9]: Result */
32988 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
32989 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
32990 return_label584: while(false);
32991 tracehead = trace.prev;
32992 return;
32993 }
32994 void parser___ReduceAction276___init(val_t self, int* init_table) {
32995 struct trace_t trace = {NULL, NULL, 13336, LOCATE_parser___ReduceAction276___init};
32996 val_t variable[2];
32997 struct WBT_ **closurevariable = NULL;
32998 trace.prev = tracehead; tracehead = &trace;
32999 trace.file = LOCATE_parser;
33000 /* Register variable[0]: Local variable */
33001 variable[0] = self;
33002 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction276].i]) return;
33003 /* Register variable[1]: Method return value and escape marker */
33004 return_label585: while(false);
33005 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction276].i] = 1;
33006 tracehead = trace.prev;
33007 return;
33008 }
33009 void parser___ReduceAction277___action(val_t self, val_t param0) {
33010 struct trace_t trace = {NULL, NULL, 13340, LOCATE_parser___ReduceAction277___action};
33011 val_t variable[12];
33012 struct WBT_ **closurevariable = NULL;
33013 trace.prev = tracehead; tracehead = &trace;
33014 trace.file = LOCATE_parser;
33015 /* Register variable[0]: Local variable */
33016 variable[0] = self;
33017 /* Register variable[1]: Local variable */
33018 variable[1] = param0;
33019 /* Register variable[2]: Method return value and escape marker */
33020 /* Register variable[3]: Local variable */
33021 variable[3] = NIT_NULL /*null*/;
33022 /* Register variable[4]: Local variable */
33023 /* Register variable[5]: Result */
33024 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33025 variable[4] = variable[5];
33026 /* Register variable[5]: Local variable */
33027 /* Register variable[6]: Result */
33028 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33029 variable[5] = variable[6];
33030 /* Register variable[6]: Local variable */
33031 /* Register variable[7]: Result */
33032 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33033 variable[6] = variable[7];
33034 /* Register variable[7]: Local variable */
33035 /* Register variable[8]: Result */
33036 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33037 variable[7] = variable[8];
33038 /* Register variable[8]: Local variable */
33039 variable[8] = variable[5] /*nodearraylist1*/;
33040 /* Register variable[9]: Result */
33041 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33042 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 13348); nit_exit(1);}
33043 /* Register variable[9]: Result */
33044 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::==*/)))))));
33045 if (UNTAG_Bool(variable[9])) { /*if*/
33046 /* Register variable[9]: Result */
33047 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33048 if (UNTAG_Bool(variable[9])) { /*if*/
33049 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
33050 } else { /*if*/
33051 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
33052 }
33053 }
33054 /* Register variable[9]: Local variable */
33055 variable[9] = variable[4] /*nodearraylist2*/;
33056 /* Register variable[10]: Result */
33057 variable[10] = TAG_Bool(( variable[9] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33058 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction277___action, LOCATE_parser, 13357); nit_exit(1);}
33059 /* Register variable[10]: Result */
33060 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::==*/)))))));
33061 if (UNTAG_Bool(variable[10])) { /*if*/
33062 /* Register variable[10]: Result */
33063 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode6*/)( variable[7] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
33064 if (UNTAG_Bool(variable[10])) { /*if*/
33065 variable[7] = variable[9] /*listnode5*/ /*listnode6=*/;
33066 } else { /*if*/
33067 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode6*/)( variable[7] /*listnode6*/, variable[9] /*listnode5*/) /*IndexedCollection::append*/;
33068 }
33069 }
33070 /* Register variable[10]: Local variable */
33071 /* Register variable[11]: Result */
33072 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, NIT_NULL /*null*/, variable[7] /*listnode6*/) /*new ASignature*/;
33073 variable[10] = variable[11];
33074 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
33075 /* Register variable[11]: Result */
33076 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33077 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33078 return_label586: while(false);
33079 tracehead = trace.prev;
33080 return;
33081 }
33082 void parser___ReduceAction277___init(val_t self, int* init_table) {
33083 struct trace_t trace = {NULL, NULL, 13373, LOCATE_parser___ReduceAction277___init};
33084 val_t variable[2];
33085 struct WBT_ **closurevariable = NULL;
33086 trace.prev = tracehead; tracehead = &trace;
33087 trace.file = LOCATE_parser;
33088 /* Register variable[0]: Local variable */
33089 variable[0] = self;
33090 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction277].i]) return;
33091 /* Register variable[1]: Method return value and escape marker */
33092 return_label587: while(false);
33093 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction277].i] = 1;
33094 tracehead = trace.prev;
33095 return;
33096 }
33097 void parser___ReduceAction278___action(val_t self, val_t param0) {
33098 struct trace_t trace = {NULL, NULL, 13377, LOCATE_parser___ReduceAction278___action};
33099 val_t variable[12];
33100 struct WBT_ **closurevariable = NULL;
33101 trace.prev = tracehead; tracehead = &trace;
33102 trace.file = LOCATE_parser;
33103 /* Register variable[0]: Local variable */
33104 variable[0] = self;
33105 /* Register variable[1]: Local variable */
33106 variable[1] = param0;
33107 /* Register variable[2]: Method return value and escape marker */
33108 /* Register variable[3]: Local variable */
33109 variable[3] = NIT_NULL /*null*/;
33110 /* Register variable[4]: Local variable */
33111 /* Register variable[5]: Result */
33112 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33113 variable[4] = variable[5];
33114 /* Register variable[5]: Local variable */
33115 /* Register variable[6]: Result */
33116 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33117 variable[5] = variable[6];
33118 /* Register variable[6]: Local variable */
33119 /* Register variable[7]: Result */
33120 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33121 variable[6] = variable[7];
33122 /* Register variable[7]: Local variable */
33123 /* Register variable[8]: Result */
33124 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33125 variable[7] = variable[8];
33126 /* Register variable[8]: Local variable */
33127 variable[8] = variable[5] /*nodearraylist1*/;
33128 /* Register variable[9]: Result */
33129 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
33130 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 13385); nit_exit(1);}
33131 /* Register variable[9]: Local variable */
33132 variable[9] = variable[4] /*nodearraylist2*/;
33133 /* Register variable[10]: Result */
33134 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33135 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction278___action, LOCATE_parser, 13387); nit_exit(1);}
33136 /* Register variable[10]: Result */
33137 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::==*/)))))));
33138 if (UNTAG_Bool(variable[10])) { /*if*/
33139 /* Register variable[10]: Result */
33140 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
33141 if (UNTAG_Bool(variable[10])) { /*if*/
33142 variable[7] = variable[9] /*listnode4*/ /*listnode5=*/;
33143 } else { /*if*/
33144 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
33145 }
33146 }
33147 /* Register variable[10]: Local variable */
33148 /* Register variable[11]: Result */
33149 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode2*/, variable[8] /*ptypenode3*/, variable[7] /*listnode5*/) /*new ASignature*/;
33150 variable[10] = variable[11];
33151 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
33152 /* Register variable[11]: Result */
33153 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33154 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33155 return_label588: while(false);
33156 tracehead = trace.prev;
33157 return;
33158 }
33159 void parser___ReduceAction278___init(val_t self, int* init_table) {
33160 struct trace_t trace = {NULL, NULL, 13403, LOCATE_parser___ReduceAction278___init};
33161 val_t variable[2];
33162 struct WBT_ **closurevariable = NULL;
33163 trace.prev = tracehead; tracehead = &trace;
33164 trace.file = LOCATE_parser;
33165 /* Register variable[0]: Local variable */
33166 variable[0] = self;
33167 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction278].i]) return;
33168 /* Register variable[1]: Method return value and escape marker */
33169 return_label589: while(false);
33170 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction278].i] = 1;
33171 tracehead = trace.prev;
33172 return;
33173 }
33174 void parser___ReduceAction279___action(val_t self, val_t param0) {
33175 struct trace_t trace = {NULL, NULL, 13407, LOCATE_parser___ReduceAction279___action};
33176 val_t variable[14];
33177 struct WBT_ **closurevariable = NULL;
33178 trace.prev = tracehead; tracehead = &trace;
33179 trace.file = LOCATE_parser;
33180 /* Register variable[0]: Local variable */
33181 variable[0] = self;
33182 /* Register variable[1]: Local variable */
33183 variable[1] = param0;
33184 /* Register variable[2]: Method return value and escape marker */
33185 /* Register variable[3]: Local variable */
33186 variable[3] = NIT_NULL /*null*/;
33187 /* Register variable[4]: Local variable */
33188 /* Register variable[5]: Result */
33189 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33190 variable[4] = variable[5];
33191 /* Register variable[5]: Local variable */
33192 /* Register variable[6]: Result */
33193 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33194 variable[5] = variable[6];
33195 /* Register variable[6]: Local variable */
33196 /* Register variable[7]: Result */
33197 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33198 variable[6] = variable[7];
33199 /* Register variable[7]: Local variable */
33200 /* Register variable[8]: Result */
33201 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33202 variable[7] = variable[8];
33203 /* Register variable[8]: Local variable */
33204 /* Register variable[9]: Result */
33205 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33206 variable[8] = variable[9];
33207 /* Register variable[9]: Local variable */
33208 variable[9] = variable[6] /*nodearraylist1*/;
33209 /* Register variable[10]: Result */
33210 variable[10] = TAG_Bool(( variable[9] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33211 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 13416); nit_exit(1);}
33212 /* Register variable[10]: Result */
33213 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::==*/)))))));
33214 if (UNTAG_Bool(variable[10])) { /*if*/
33215 /* Register variable[10]: Result */
33216 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode3*/)( variable[7] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33217 if (UNTAG_Bool(variable[10])) { /*if*/
33218 variable[7] = variable[9] /*listnode2*/ /*listnode3=*/;
33219 } else { /*if*/
33220 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode3*/)( variable[7] /*listnode3*/, variable[9] /*listnode2*/) /*IndexedCollection::append*/;
33221 }
33222 }
33223 /* Register variable[10]: Local variable */
33224 variable[10] = variable[5] /*nodearraylist2*/;
33225 /* Register variable[11]: Result */
33226 variable[11] = TAG_Bool(( variable[10] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
33227 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 13425); nit_exit(1);}
33228 /* Register variable[11]: Local variable */
33229 variable[11] = variable[4] /*nodearraylist3*/;
33230 /* Register variable[12]: Result */
33231 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33232 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction279___action, LOCATE_parser, 13427); nit_exit(1);}
33233 /* Register variable[12]: Result */
33234 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::==*/)))))));
33235 if (UNTAG_Bool(variable[12])) { /*if*/
33236 /* Register variable[12]: Result */
33237 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
33238 if (UNTAG_Bool(variable[12])) { /*if*/
33239 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
33240 } else { /*if*/
33241 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
33242 }
33243 }
33244 /* Register variable[12]: Local variable */
33245 /* Register variable[13]: Result */
33246 variable[13] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[7] /*listnode3*/, variable[10] /*ptypenode4*/, variable[8] /*listnode6*/) /*new ASignature*/;
33247 variable[12] = variable[13];
33248 variable[3] = variable[12] /*psignaturenode1*/ /*node_list=*/;
33249 /* Register variable[13]: Result */
33250 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33251 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
33252 return_label590: while(false);
33253 tracehead = trace.prev;
33254 return;
33255 }
33256 void parser___ReduceAction279___init(val_t self, int* init_table) {
33257 struct trace_t trace = {NULL, NULL, 13443, LOCATE_parser___ReduceAction279___init};
33258 val_t variable[2];
33259 struct WBT_ **closurevariable = NULL;
33260 trace.prev = tracehead; tracehead = &trace;
33261 trace.file = LOCATE_parser;
33262 /* Register variable[0]: Local variable */
33263 variable[0] = self;
33264 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction279].i]) return;
33265 /* Register variable[1]: Method return value and escape marker */
33266 return_label591: while(false);
33267 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction279].i] = 1;
33268 tracehead = trace.prev;
33269 return;
33270 }
33271 void parser___ReduceAction280___action(val_t self, val_t param0) {
33272 struct trace_t trace = {NULL, NULL, 13447, LOCATE_parser___ReduceAction280___action};
33273 val_t variable[9];
33274 struct WBT_ **closurevariable = NULL;
33275 trace.prev = tracehead; tracehead = &trace;
33276 trace.file = LOCATE_parser;
33277 /* Register variable[0]: Local variable */
33278 variable[0] = self;
33279 /* Register variable[1]: Local variable */
33280 variable[1] = param0;
33281 /* Register variable[2]: Method return value and escape marker */
33282 /* Register variable[3]: Local variable */
33283 variable[3] = NIT_NULL /*null*/;
33284 /* Register variable[4]: Local variable */
33285 /* Register variable[5]: Result */
33286 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33287 variable[4] = variable[5];
33288 /* Register variable[5]: Local variable */
33289 /* Register variable[6]: Result */
33290 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33291 variable[5] = variable[6];
33292 /* Register variable[6]: Local variable */
33293 /* Register variable[7]: Result */
33294 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33295 variable[6] = variable[7];
33296 /* Register variable[7]: Local variable */
33297 /* Register variable[8]: Result */
33298 variable[8] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, NIT_NULL /*null*/, variable[6] /*listnode4*/) /*new ASignature*/;
33299 variable[7] = variable[8];
33300 variable[3] = variable[7] /*psignaturenode1*/ /*node_list=*/;
33301 /* Register variable[8]: Result */
33302 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33303 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
33304 return_label592: while(false);
33305 tracehead = trace.prev;
33306 return;
33307 }
33308 void parser___ReduceAction280___init(val_t self, int* init_table) {
33309 struct trace_t trace = {NULL, NULL, 13461, LOCATE_parser___ReduceAction280___init};
33310 val_t variable[2];
33311 struct WBT_ **closurevariable = NULL;
33312 trace.prev = tracehead; tracehead = &trace;
33313 trace.file = LOCATE_parser;
33314 /* Register variable[0]: Local variable */
33315 variable[0] = self;
33316 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction280].i]) return;
33317 /* Register variable[1]: Method return value and escape marker */
33318 return_label593: while(false);
33319 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction280].i] = 1;
33320 tracehead = trace.prev;
33321 return;
33322 }
33323 void parser___ReduceAction281___action(val_t self, val_t param0) {
33324 struct trace_t trace = {NULL, NULL, 13465, LOCATE_parser___ReduceAction281___action};
33325 val_t variable[11];
33326 struct WBT_ **closurevariable = NULL;
33327 trace.prev = tracehead; tracehead = &trace;
33328 trace.file = LOCATE_parser;
33329 /* Register variable[0]: Local variable */
33330 variable[0] = self;
33331 /* Register variable[1]: Local variable */
33332 variable[1] = param0;
33333 /* Register variable[2]: Method return value and escape marker */
33334 /* Register variable[3]: Local variable */
33335 variable[3] = NIT_NULL /*null*/;
33336 /* Register variable[4]: Local variable */
33337 /* Register variable[5]: Result */
33338 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33339 variable[4] = variable[5];
33340 /* Register variable[5]: Local variable */
33341 /* Register variable[6]: Result */
33342 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33343 variable[5] = variable[6];
33344 /* Register variable[6]: Local variable */
33345 /* Register variable[7]: Result */
33346 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33347 variable[6] = variable[7];
33348 /* Register variable[7]: Local variable */
33349 /* Register variable[8]: Result */
33350 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33351 variable[7] = variable[8];
33352 /* Register variable[8]: Local variable */
33353 variable[8] = variable[5] /*nodearraylist1*/;
33354 /* Register variable[9]: Result */
33355 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33356 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction281___action, LOCATE_parser, 13473); nit_exit(1);}
33357 /* Register variable[9]: Result */
33358 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::==*/)))))));
33359 if (UNTAG_Bool(variable[9])) { /*if*/
33360 /* Register variable[9]: Result */
33361 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33362 if (UNTAG_Bool(variable[9])) { /*if*/
33363 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
33364 } else { /*if*/
33365 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
33366 }
33367 }
33368 /* Register variable[9]: Local variable */
33369 /* Register variable[10]: Result */
33370 variable[10] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, NIT_NULL /*null*/, variable[7] /*listnode5*/) /*new ASignature*/;
33371 variable[9] = variable[10];
33372 variable[3] = variable[9] /*psignaturenode1*/ /*node_list=*/;
33373 /* Register variable[10]: Result */
33374 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33375 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
33376 return_label594: while(false);
33377 tracehead = trace.prev;
33378 return;
33379 }
33380 void parser___ReduceAction281___init(val_t self, int* init_table) {
33381 struct trace_t trace = {NULL, NULL, 13489, LOCATE_parser___ReduceAction281___init};
33382 val_t variable[2];
33383 struct WBT_ **closurevariable = NULL;
33384 trace.prev = tracehead; tracehead = &trace;
33385 trace.file = LOCATE_parser;
33386 /* Register variable[0]: Local variable */
33387 variable[0] = self;
33388 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction281].i]) return;
33389 /* Register variable[1]: Method return value and escape marker */
33390 return_label595: while(false);
33391 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction281].i] = 1;
33392 tracehead = trace.prev;
33393 return;
33394 }
33395 void parser___ReduceAction282___action(val_t self, val_t param0) {
33396 struct trace_t trace = {NULL, NULL, 13493, LOCATE_parser___ReduceAction282___action};
33397 val_t variable[11];
33398 struct WBT_ **closurevariable = NULL;
33399 trace.prev = tracehead; tracehead = &trace;
33400 trace.file = LOCATE_parser;
33401 /* Register variable[0]: Local variable */
33402 variable[0] = self;
33403 /* Register variable[1]: Local variable */
33404 variable[1] = param0;
33405 /* Register variable[2]: Method return value and escape marker */
33406 /* Register variable[3]: Local variable */
33407 variable[3] = NIT_NULL /*null*/;
33408 /* Register variable[4]: Local variable */
33409 /* Register variable[5]: Result */
33410 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33411 variable[4] = variable[5];
33412 /* Register variable[5]: Local variable */
33413 /* Register variable[6]: Result */
33414 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33415 variable[5] = variable[6];
33416 /* Register variable[6]: Local variable */
33417 /* Register variable[7]: Result */
33418 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33419 variable[6] = variable[7];
33420 /* Register variable[7]: Local variable */
33421 /* Register variable[8]: Result */
33422 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33423 variable[7] = variable[8];
33424 /* Register variable[8]: Local variable */
33425 variable[8] = variable[5] /*nodearraylist1*/;
33426 /* Register variable[9]: Result */
33427 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
33428 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction282___action, LOCATE_parser, 13501); nit_exit(1);}
33429 /* Register variable[9]: Local variable */
33430 /* Register variable[10]: Result */
33431 variable[10] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode2*/, variable[8] /*ptypenode3*/, variable[7] /*listnode4*/) /*new ASignature*/;
33432 variable[9] = variable[10];
33433 variable[3] = variable[9] /*psignaturenode1*/ /*node_list=*/;
33434 /* Register variable[10]: Result */
33435 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33436 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
33437 return_label596: while(false);
33438 tracehead = trace.prev;
33439 return;
33440 }
33441 void parser___ReduceAction282___init(val_t self, int* init_table) {
33442 struct trace_t trace = {NULL, NULL, 13510, LOCATE_parser___ReduceAction282___init};
33443 val_t variable[2];
33444 struct WBT_ **closurevariable = NULL;
33445 trace.prev = tracehead; tracehead = &trace;
33446 trace.file = LOCATE_parser;
33447 /* Register variable[0]: Local variable */
33448 variable[0] = self;
33449 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction282].i]) return;
33450 /* Register variable[1]: Method return value and escape marker */
33451 return_label597: while(false);
33452 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction282].i] = 1;
33453 tracehead = trace.prev;
33454 return;
33455 }
33456 void parser___ReduceAction283___action(val_t self, val_t param0) {
33457 struct trace_t trace = {NULL, NULL, 13514, LOCATE_parser___ReduceAction283___action};
33458 val_t variable[13];
33459 struct WBT_ **closurevariable = NULL;
33460 trace.prev = tracehead; tracehead = &trace;
33461 trace.file = LOCATE_parser;
33462 /* Register variable[0]: Local variable */
33463 variable[0] = self;
33464 /* Register variable[1]: Local variable */
33465 variable[1] = param0;
33466 /* Register variable[2]: Method return value and escape marker */
33467 /* Register variable[3]: Local variable */
33468 variable[3] = NIT_NULL /*null*/;
33469 /* Register variable[4]: Local variable */
33470 /* Register variable[5]: Result */
33471 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33472 variable[4] = variable[5];
33473 /* Register variable[5]: Local variable */
33474 /* Register variable[6]: Result */
33475 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33476 variable[5] = variable[6];
33477 /* Register variable[6]: Local variable */
33478 /* Register variable[7]: Result */
33479 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33480 variable[6] = variable[7];
33481 /* Register variable[7]: Local variable */
33482 /* Register variable[8]: Result */
33483 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33484 variable[7] = variable[8];
33485 /* Register variable[8]: Local variable */
33486 /* Register variable[9]: Result */
33487 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33488 variable[8] = variable[9];
33489 /* Register variable[9]: Local variable */
33490 variable[9] = variable[6] /*nodearraylist1*/;
33491 /* Register variable[10]: Result */
33492 variable[10] = TAG_Bool(( variable[9] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33493 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 13523); nit_exit(1);}
33494 /* Register variable[10]: Result */
33495 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::==*/)))))));
33496 if (UNTAG_Bool(variable[10])) { /*if*/
33497 /* Register variable[10]: Result */
33498 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode3*/)( variable[7] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33499 if (UNTAG_Bool(variable[10])) { /*if*/
33500 variable[7] = variable[9] /*listnode2*/ /*listnode3=*/;
33501 } else { /*if*/
33502 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode3*/)( variable[7] /*listnode3*/, variable[9] /*listnode2*/) /*IndexedCollection::append*/;
33503 }
33504 }
33505 /* Register variable[10]: Local variable */
33506 variable[10] = variable[5] /*nodearraylist2*/;
33507 /* Register variable[11]: Result */
33508 variable[11] = TAG_Bool(( variable[10] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
33509 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction283___action, LOCATE_parser, 13532); nit_exit(1);}
33510 /* Register variable[11]: Local variable */
33511 /* Register variable[12]: Result */
33512 variable[12] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[7] /*listnode3*/, variable[10] /*ptypenode4*/, variable[8] /*listnode5*/) /*new ASignature*/;
33513 variable[11] = variable[12];
33514 variable[3] = variable[11] /*psignaturenode1*/ /*node_list=*/;
33515 /* Register variable[12]: Result */
33516 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(15)) /*Parser::go_to*/;
33517 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
33518 return_label598: while(false);
33519 tracehead = trace.prev;
33520 return;
33521 }
33522 void parser___ReduceAction283___init(val_t self, int* init_table) {
33523 struct trace_t trace = {NULL, NULL, 13541, LOCATE_parser___ReduceAction283___init};
33524 val_t variable[2];
33525 struct WBT_ **closurevariable = NULL;
33526 trace.prev = tracehead; tracehead = &trace;
33527 trace.file = LOCATE_parser;
33528 /* Register variable[0]: Local variable */
33529 variable[0] = self;
33530 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction283].i]) return;
33531 /* Register variable[1]: Method return value and escape marker */
33532 return_label599: while(false);
33533 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction283].i] = 1;
33534 tracehead = trace.prev;
33535 return;
33536 }
33537 void parser___ReduceAction284___action(val_t self, val_t param0) {
33538 struct trace_t trace = {NULL, NULL, 13545, LOCATE_parser___ReduceAction284___action};
33539 val_t variable[8];
33540 struct WBT_ **closurevariable = NULL;
33541 trace.prev = tracehead; tracehead = &trace;
33542 trace.file = LOCATE_parser;
33543 /* Register variable[0]: Local variable */
33544 variable[0] = self;
33545 /* Register variable[1]: Local variable */
33546 variable[1] = param0;
33547 /* Register variable[2]: Method return value and escape marker */
33548 /* Register variable[3]: Local variable */
33549 variable[3] = NIT_NULL /*null*/;
33550 /* Register variable[4]: Local variable */
33551 /* Register variable[5]: Result */
33552 variable[5] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33553 variable[4] = variable[5];
33554 /* Register variable[5]: Local variable */
33555 /* Register variable[6]: Result */
33556 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33557 variable[5] = variable[6];
33558 /* Register variable[6]: Local variable */
33559 /* Register variable[7]: Result */
33560 variable[7] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[4] /*listnode2*/, NIT_NULL /*null*/, variable[5] /*listnode4*/) /*new ASignature*/;
33561 variable[6] = variable[7];
33562 variable[3] = variable[6] /*psignaturenode1*/ /*node_list=*/;
33563 /* Register variable[7]: Result */
33564 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
33565 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
33566 return_label600: while(false);
33567 tracehead = trace.prev;
33568 return;
33569 }
33570 void parser___ReduceAction284___init(val_t self, int* init_table) {
33571 struct trace_t trace = {NULL, NULL, 13558, LOCATE_parser___ReduceAction284___init};
33572 val_t variable[2];
33573 struct WBT_ **closurevariable = NULL;
33574 trace.prev = tracehead; tracehead = &trace;
33575 trace.file = LOCATE_parser;
33576 /* Register variable[0]: Local variable */
33577 variable[0] = self;
33578 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction284].i]) return;
33579 /* Register variable[1]: Method return value and escape marker */
33580 return_label601: while(false);
33581 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction284].i] = 1;
33582 tracehead = trace.prev;
33583 return;
33584 }
33585 void parser___ReduceAction285___action(val_t self, val_t param0) {
33586 struct trace_t trace = {NULL, NULL, 13562, LOCATE_parser___ReduceAction285___action};
33587 val_t variable[10];
33588 struct WBT_ **closurevariable = NULL;
33589 trace.prev = tracehead; tracehead = &trace;
33590 trace.file = LOCATE_parser;
33591 /* Register variable[0]: Local variable */
33592 variable[0] = self;
33593 /* Register variable[1]: Local variable */
33594 variable[1] = param0;
33595 /* Register variable[2]: Method return value and escape marker */
33596 /* Register variable[3]: Local variable */
33597 variable[3] = NIT_NULL /*null*/;
33598 /* Register variable[4]: Local variable */
33599 /* Register variable[5]: Result */
33600 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33601 variable[4] = variable[5];
33602 /* Register variable[5]: Local variable */
33603 /* Register variable[6]: Result */
33604 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33605 variable[5] = variable[6];
33606 /* Register variable[6]: Local variable */
33607 /* Register variable[7]: Result */
33608 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33609 variable[6] = variable[7];
33610 /* Register variable[7]: Local variable */
33611 variable[7] = variable[4] /*nodearraylist1*/;
33612 /* Register variable[8]: Result */
33613 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33614 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction285___action, LOCATE_parser, 13569); nit_exit(1);}
33615 /* Register variable[8]: Result */
33616 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::==*/)))))));
33617 if (UNTAG_Bool(variable[8])) { /*if*/
33618 /* Register variable[8]: Result */
33619 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33620 if (UNTAG_Bool(variable[8])) { /*if*/
33621 variable[5] = variable[7] /*listnode2*/ /*listnode3=*/;
33622 } else { /*if*/
33623 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
33624 }
33625 }
33626 /* Register variable[8]: Local variable */
33627 /* Register variable[9]: Result */
33628 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode3*/, NIT_NULL /*null*/, variable[6] /*listnode5*/) /*new ASignature*/;
33629 variable[8] = variable[9];
33630 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
33631 /* Register variable[9]: Result */
33632 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
33633 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33634 return_label602: while(false);
33635 tracehead = trace.prev;
33636 return;
33637 }
33638 void parser___ReduceAction285___init(val_t self, int* init_table) {
33639 struct trace_t trace = {NULL, NULL, 13585, LOCATE_parser___ReduceAction285___init};
33640 val_t variable[2];
33641 struct WBT_ **closurevariable = NULL;
33642 trace.prev = tracehead; tracehead = &trace;
33643 trace.file = LOCATE_parser;
33644 /* Register variable[0]: Local variable */
33645 variable[0] = self;
33646 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction285].i]) return;
33647 /* Register variable[1]: Method return value and escape marker */
33648 return_label603: while(false);
33649 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction285].i] = 1;
33650 tracehead = trace.prev;
33651 return;
33652 }
33653 void parser___ReduceAction286___action(val_t self, val_t param0) {
33654 struct trace_t trace = {NULL, NULL, 13589, LOCATE_parser___ReduceAction286___action};
33655 val_t variable[10];
33656 struct WBT_ **closurevariable = NULL;
33657 trace.prev = tracehead; tracehead = &trace;
33658 trace.file = LOCATE_parser;
33659 /* Register variable[0]: Local variable */
33660 variable[0] = self;
33661 /* Register variable[1]: Local variable */
33662 variable[1] = param0;
33663 /* Register variable[2]: Method return value and escape marker */
33664 /* Register variable[3]: Local variable */
33665 variable[3] = NIT_NULL /*null*/;
33666 /* Register variable[4]: Local variable */
33667 /* Register variable[5]: Result */
33668 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33669 variable[4] = variable[5];
33670 /* Register variable[5]: Local variable */
33671 /* Register variable[6]: Result */
33672 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33673 variable[5] = variable[6];
33674 /* Register variable[6]: Local variable */
33675 /* Register variable[7]: Result */
33676 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33677 variable[6] = variable[7];
33678 /* Register variable[7]: Local variable */
33679 variable[7] = variable[4] /*nodearraylist1*/;
33680 /* Register variable[8]: Result */
33681 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
33682 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction286___action, LOCATE_parser, 13596); nit_exit(1);}
33683 /* Register variable[8]: Local variable */
33684 /* Register variable[9]: Result */
33685 variable[9] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[5] /*listnode2*/, variable[7] /*ptypenode3*/, variable[6] /*listnode4*/) /*new ASignature*/;
33686 variable[8] = variable[9];
33687 variable[3] = variable[8] /*psignaturenode1*/ /*node_list=*/;
33688 /* Register variable[9]: Result */
33689 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
33690 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
33691 return_label604: while(false);
33692 tracehead = trace.prev;
33693 return;
33694 }
33695 void parser___ReduceAction286___init(val_t self, int* init_table) {
33696 struct trace_t trace = {NULL, NULL, 13605, LOCATE_parser___ReduceAction286___init};
33697 val_t variable[2];
33698 struct WBT_ **closurevariable = NULL;
33699 trace.prev = tracehead; tracehead = &trace;
33700 trace.file = LOCATE_parser;
33701 /* Register variable[0]: Local variable */
33702 variable[0] = self;
33703 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction286].i]) return;
33704 /* Register variable[1]: Method return value and escape marker */
33705 return_label605: while(false);
33706 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction286].i] = 1;
33707 tracehead = trace.prev;
33708 return;
33709 }
33710 void parser___ReduceAction287___action(val_t self, val_t param0) {
33711 struct trace_t trace = {NULL, NULL, 13609, LOCATE_parser___ReduceAction287___action};
33712 val_t variable[12];
33713 struct WBT_ **closurevariable = NULL;
33714 trace.prev = tracehead; tracehead = &trace;
33715 trace.file = LOCATE_parser;
33716 /* Register variable[0]: Local variable */
33717 variable[0] = self;
33718 /* Register variable[1]: Local variable */
33719 variable[1] = param0;
33720 /* Register variable[2]: Method return value and escape marker */
33721 /* Register variable[3]: Local variable */
33722 variable[3] = NIT_NULL /*null*/;
33723 /* Register variable[4]: Local variable */
33724 /* Register variable[5]: Result */
33725 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33726 variable[4] = variable[5];
33727 /* Register variable[5]: Local variable */
33728 /* Register variable[6]: Result */
33729 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33730 variable[5] = variable[6];
33731 /* Register variable[6]: Local variable */
33732 /* Register variable[7]: Result */
33733 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33734 variable[6] = variable[7];
33735 /* Register variable[7]: Local variable */
33736 /* Register variable[8]: Result */
33737 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33738 variable[7] = variable[8];
33739 /* Register variable[8]: Local variable */
33740 variable[8] = variable[5] /*nodearraylist1*/;
33741 /* Register variable[9]: Result */
33742 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33743 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 13617); nit_exit(1);}
33744 /* Register variable[9]: Result */
33745 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::==*/)))))));
33746 if (UNTAG_Bool(variable[9])) { /*if*/
33747 /* Register variable[9]: Result */
33748 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33749 if (UNTAG_Bool(variable[9])) { /*if*/
33750 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
33751 } else { /*if*/
33752 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
33753 }
33754 }
33755 /* Register variable[9]: Local variable */
33756 variable[9] = variable[4] /*nodearraylist2*/;
33757 /* Register variable[10]: Result */
33758 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
33759 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction287___action, LOCATE_parser, 13626); nit_exit(1);}
33760 /* Register variable[10]: Local variable */
33761 /* Register variable[11]: Result */
33762 variable[11] = NEW_ASignature_parser_prod___ASignature___init_asignature( variable[6] /*listnode3*/, variable[9] /*ptypenode4*/, variable[7] /*listnode5*/) /*new ASignature*/;
33763 variable[10] = variable[11];
33764 variable[3] = variable[10] /*psignaturenode1*/ /*node_list=*/;
33765 /* Register variable[11]: Result */
33766 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(16)) /*Parser::go_to*/;
33767 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33768 return_label606: while(false);
33769 tracehead = trace.prev;
33770 return;
33771 }
33772 void parser___ReduceAction287___init(val_t self, int* init_table) {
33773 struct trace_t trace = {NULL, NULL, 13635, LOCATE_parser___ReduceAction287___init};
33774 val_t variable[2];
33775 struct WBT_ **closurevariable = NULL;
33776 trace.prev = tracehead; tracehead = &trace;
33777 trace.file = LOCATE_parser;
33778 /* Register variable[0]: Local variable */
33779 variable[0] = self;
33780 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction287].i]) return;
33781 /* Register variable[1]: Method return value and escape marker */
33782 return_label607: while(false);
33783 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction287].i] = 1;
33784 tracehead = trace.prev;
33785 return;
33786 }
33787 void parser___ReduceAction288___action(val_t self, val_t param0) {
33788 struct trace_t trace = {NULL, NULL, 13639, LOCATE_parser___ReduceAction288___action};
33789 val_t variable[12];
33790 struct WBT_ **closurevariable = NULL;
33791 trace.prev = tracehead; tracehead = &trace;
33792 trace.file = LOCATE_parser;
33793 /* Register variable[0]: Local variable */
33794 variable[0] = self;
33795 /* Register variable[1]: Local variable */
33796 variable[1] = param0;
33797 /* Register variable[2]: Method return value and escape marker */
33798 /* Register variable[3]: Local variable */
33799 variable[3] = NIT_NULL /*null*/;
33800 /* Register variable[4]: Local variable */
33801 /* Register variable[5]: Result */
33802 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33803 variable[4] = variable[5];
33804 /* Register variable[5]: Local variable */
33805 /* Register variable[6]: Result */
33806 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33807 variable[5] = variable[6];
33808 /* Register variable[6]: Local variable */
33809 /* Register variable[7]: Result */
33810 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33811 variable[6] = variable[7];
33812 /* Register variable[7]: Local variable */
33813 /* Register variable[8]: Result */
33814 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33815 variable[7] = variable[8];
33816 /* Register variable[8]: Local variable */
33817 /* Register variable[9]: Result */
33818 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33819 variable[8] = variable[9];
33820 /* Register variable[9]: Local variable */
33821 /* Register variable[10]: Result */
33822 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33823 variable[9] = variable[10];
33824 /* Register variable[10]: Local variable */
33825 variable[10] = variable[6] /*nodearraylist3*/;
33826 /* Register variable[11]: Result */
33827 variable[11] = TAG_Bool(( variable[10] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
33828 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction288___action, LOCATE_parser, 13649); nit_exit(1);}
33829 /* Register variable[11]: Result */
33830 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::==*/)))))));
33831 if (UNTAG_Bool(variable[11])) { /*if*/
33832 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pparamnode1*/) /*AbstractArray::add*/;
33833 }
33834 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
33835 /* Register variable[11]: Result */
33836 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
33837 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
33838 return_label608: while(false);
33839 tracehead = trace.prev;
33840 return;
33841 }
33842 void parser___ReduceAction288___init(val_t self, int* init_table) {
33843 struct trace_t trace = {NULL, NULL, 13656, LOCATE_parser___ReduceAction288___init};
33844 val_t variable[2];
33845 struct WBT_ **closurevariable = NULL;
33846 trace.prev = tracehead; tracehead = &trace;
33847 trace.file = LOCATE_parser;
33848 /* Register variable[0]: Local variable */
33849 variable[0] = self;
33850 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction288].i]) return;
33851 /* Register variable[1]: Method return value and escape marker */
33852 return_label609: while(false);
33853 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction288].i] = 1;
33854 tracehead = trace.prev;
33855 return;
33856 }
33857 void parser___ReduceAction289___action(val_t self, val_t param0) {
33858 struct trace_t trace = {NULL, NULL, 13660, LOCATE_parser___ReduceAction289___action};
33859 val_t variable[14];
33860 struct WBT_ **closurevariable = NULL;
33861 trace.prev = tracehead; tracehead = &trace;
33862 trace.file = LOCATE_parser;
33863 /* Register variable[0]: Local variable */
33864 variable[0] = self;
33865 /* Register variable[1]: Local variable */
33866 variable[1] = param0;
33867 /* Register variable[2]: Method return value and escape marker */
33868 /* Register variable[3]: Local variable */
33869 variable[3] = NIT_NULL /*null*/;
33870 /* Register variable[4]: Local variable */
33871 /* Register variable[5]: Result */
33872 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33873 variable[4] = variable[5];
33874 /* Register variable[5]: Local variable */
33875 /* Register variable[6]: Result */
33876 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33877 variable[5] = variable[6];
33878 /* Register variable[6]: Local variable */
33879 /* Register variable[7]: Result */
33880 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33881 variable[6] = variable[7];
33882 /* Register variable[7]: Local variable */
33883 /* Register variable[8]: Result */
33884 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33885 variable[7] = variable[8];
33886 /* Register variable[8]: Local variable */
33887 /* Register variable[9]: Result */
33888 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33889 variable[8] = variable[9];
33890 /* Register variable[9]: Local variable */
33891 /* Register variable[10]: Result */
33892 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33893 variable[9] = variable[10];
33894 /* Register variable[10]: Local variable */
33895 /* Register variable[11]: Result */
33896 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33897 variable[10] = variable[11];
33898 /* Register variable[11]: Local variable */
33899 variable[11] = variable[7] /*nodearraylist3*/;
33900 /* Register variable[12]: Result */
33901 variable[12] = TAG_Bool(( variable[11] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
33902 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 13671); nit_exit(1);}
33903 /* Register variable[12]: Local variable */
33904 variable[12] = variable[6] /*nodearraylist4*/;
33905 /* Register variable[13]: Result */
33906 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
33907 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction289___action, LOCATE_parser, 13673); nit_exit(1);}
33908 /* Register variable[13]: Result */
33909 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::==*/)))))));
33910 if (UNTAG_Bool(variable[13])) { /*if*/
33911 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pparamnode1*/) /*AbstractArray::add*/;
33912 }
33913 /* Register variable[13]: Result */
33914 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::==*/)))))));
33915 if (UNTAG_Bool(variable[13])) { /*if*/
33916 /* Register variable[13]: Result */
33917 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
33918 if (UNTAG_Bool(variable[13])) { /*if*/
33919 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
33920 } else { /*if*/
33921 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
33922 }
33923 }
33924 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
33925 /* Register variable[13]: Result */
33926 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
33927 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
33928 return_label610: while(false);
33929 tracehead = trace.prev;
33930 return;
33931 }
33932 void parser___ReduceAction289___init(val_t self, int* init_table) {
33933 struct trace_t trace = {NULL, NULL, 13687, LOCATE_parser___ReduceAction289___init};
33934 val_t variable[2];
33935 struct WBT_ **closurevariable = NULL;
33936 trace.prev = tracehead; tracehead = &trace;
33937 trace.file = LOCATE_parser;
33938 /* Register variable[0]: Local variable */
33939 variable[0] = self;
33940 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction289].i]) return;
33941 /* Register variable[1]: Method return value and escape marker */
33942 return_label611: while(false);
33943 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction289].i] = 1;
33944 tracehead = trace.prev;
33945 return;
33946 }
33947 void parser___ReduceAction290___action(val_t self, val_t param0) {
33948 struct trace_t trace = {NULL, NULL, 13691, LOCATE_parser___ReduceAction290___action};
33949 val_t variable[9];
33950 struct WBT_ **closurevariable = NULL;
33951 trace.prev = tracehead; tracehead = &trace;
33952 trace.file = LOCATE_parser;
33953 /* Register variable[0]: Local variable */
33954 variable[0] = self;
33955 /* Register variable[1]: Local variable */
33956 variable[1] = param0;
33957 /* Register variable[2]: Method return value and escape marker */
33958 /* Register variable[3]: Local variable */
33959 variable[3] = NIT_NULL /*null*/;
33960 /* Register variable[4]: Local variable */
33961 /* Register variable[5]: Result */
33962 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33963 variable[4] = variable[5];
33964 /* Register variable[5]: Local variable */
33965 /* Register variable[6]: Result */
33966 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33967 variable[5] = variable[6];
33968 /* Register variable[6]: Local variable */
33969 /* Register variable[7]: Result */
33970 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
33971 variable[6] = variable[7];
33972 /* Register variable[7]: Local variable */
33973 /* Register variable[8]: Result */
33974 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
33975 variable[7] = variable[8];
33976 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
33977 /* Register variable[8]: Result */
33978 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(17)) /*Parser::go_to*/;
33979 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
33980 return_label612: while(false);
33981 tracehead = trace.prev;
33982 return;
33983 }
33984 void parser___ReduceAction290___init(val_t self, int* init_table) {
33985 struct trace_t trace = {NULL, NULL, 13701, LOCATE_parser___ReduceAction290___init};
33986 val_t variable[2];
33987 struct WBT_ **closurevariable = NULL;
33988 trace.prev = tracehead; tracehead = &trace;
33989 trace.file = LOCATE_parser;
33990 /* Register variable[0]: Local variable */
33991 variable[0] = self;
33992 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction290].i]) return;
33993 /* Register variable[1]: Method return value and escape marker */
33994 return_label613: while(false);
33995 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction290].i] = 1;
33996 tracehead = trace.prev;
33997 return;
33998 }
33999 void parser___ReduceAction291___action(val_t self, val_t param0) {
34000 struct trace_t trace = {NULL, NULL, 13705, LOCATE_parser___ReduceAction291___action};
34001 val_t variable[9];
34002 struct WBT_ **closurevariable = NULL;
34003 trace.prev = tracehead; tracehead = &trace;
34004 trace.file = LOCATE_parser;
34005 /* Register variable[0]: Local variable */
34006 variable[0] = self;
34007 /* Register variable[1]: Local variable */
34008 variable[1] = param0;
34009 /* Register variable[2]: Method return value and escape marker */
34010 /* Register variable[3]: Local variable */
34011 variable[3] = NIT_NULL /*null*/;
34012 /* Register variable[4]: Local variable */
34013 /* Register variable[5]: Result */
34014 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34015 variable[4] = variable[5];
34016 /* Register variable[5]: Local variable */
34017 /* Register variable[6]: Result */
34018 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34019 variable[5] = variable[6];
34020 /* Register variable[6]: Local variable */
34021 /* Register variable[7]: Result */
34022 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34023 variable[6] = variable[7];
34024 /* Register variable[7]: Local variable */
34025 variable[7] = variable[4] /*nodearraylist3*/;
34026 /* Register variable[8]: Result */
34027 variable[8] = TAG_Bool(( variable[7] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
34028 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction291___action, LOCATE_parser, 13712); nit_exit(1);}
34029 variable[3] = variable[7] /*pparamnode1*/ /*node_list=*/;
34030 /* Register variable[8]: Result */
34031 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(18)) /*Parser::go_to*/;
34032 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
34033 return_label614: while(false);
34034 tracehead = trace.prev;
34035 return;
34036 }
34037 void parser___ReduceAction291___init(val_t self, int* init_table) {
34038 struct trace_t trace = {NULL, NULL, 13716, LOCATE_parser___ReduceAction291___init};
34039 val_t variable[2];
34040 struct WBT_ **closurevariable = NULL;
34041 trace.prev = tracehead; tracehead = &trace;
34042 trace.file = LOCATE_parser;
34043 /* Register variable[0]: Local variable */
34044 variable[0] = self;
34045 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction291].i]) return;
34046 /* Register variable[1]: Method return value and escape marker */
34047 return_label615: while(false);
34048 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction291].i] = 1;
34049 tracehead = trace.prev;
34050 return;
34051 }
34052 void parser___ReduceAction292___action(val_t self, val_t param0) {
34053 struct trace_t trace = {NULL, NULL, 13720, LOCATE_parser___ReduceAction292___action};
34054 val_t variable[8];
34055 struct WBT_ **closurevariable = NULL;
34056 trace.prev = tracehead; tracehead = &trace;
34057 trace.file = LOCATE_parser;
34058 /* Register variable[0]: Local variable */
34059 variable[0] = self;
34060 /* Register variable[1]: Local variable */
34061 variable[1] = param0;
34062 /* Register variable[2]: Method return value and escape marker */
34063 /* Register variable[3]: Local variable */
34064 variable[3] = NIT_NULL /*null*/;
34065 /* Register variable[4]: Local variable */
34066 /* Register variable[5]: Result */
34067 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34068 variable[4] = variable[5];
34069 /* Register variable[5]: Local variable */
34070 variable[5] = variable[4] /*nodearraylist1*/;
34071 /* Register variable[6]: Result */
34072 variable[6] = TAG_Bool(( variable[5] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
34073 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction292___action, LOCATE_parser, 13725); nit_exit(1);}
34074 /* Register variable[6]: Local variable */
34075 /* Register variable[7]: Result */
34076 variable[7] = NEW_AParam_parser_prod___AParam___init_aparam( variable[5] /*tidnode2*/, NIT_NULL /*null*/, NIT_NULL /*null*/) /*new AParam*/;
34077 variable[6] = variable[7];
34078 variable[3] = variable[6] /*pparamnode1*/ /*node_list=*/;
34079 /* Register variable[7]: Result */
34080 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
34081 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
34082 return_label616: while(false);
34083 tracehead = trace.prev;
34084 return;
34085 }
34086 void parser___ReduceAction292___init(val_t self, int* init_table) {
34087 struct trace_t trace = {NULL, NULL, 13734, LOCATE_parser___ReduceAction292___init};
34088 val_t variable[2];
34089 struct WBT_ **closurevariable = NULL;
34090 trace.prev = tracehead; tracehead = &trace;
34091 trace.file = LOCATE_parser;
34092 /* Register variable[0]: Local variable */
34093 variable[0] = self;
34094 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction292].i]) return;
34095 /* Register variable[1]: Method return value and escape marker */
34096 return_label617: while(false);
34097 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction292].i] = 1;
34098 tracehead = trace.prev;
34099 return;
34100 }
34101 void parser___ReduceAction293___action(val_t self, val_t param0) {
34102 struct trace_t trace = {NULL, NULL, 13738, LOCATE_parser___ReduceAction293___action};
34103 val_t variable[10];
34104 struct WBT_ **closurevariable = NULL;
34105 trace.prev = tracehead; tracehead = &trace;
34106 trace.file = LOCATE_parser;
34107 /* Register variable[0]: Local variable */
34108 variable[0] = self;
34109 /* Register variable[1]: Local variable */
34110 variable[1] = param0;
34111 /* Register variable[2]: Method return value and escape marker */
34112 /* Register variable[3]: Local variable */
34113 variable[3] = NIT_NULL /*null*/;
34114 /* Register variable[4]: Local variable */
34115 /* Register variable[5]: Result */
34116 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34117 variable[4] = variable[5];
34118 /* Register variable[5]: Local variable */
34119 /* Register variable[6]: Result */
34120 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34121 variable[5] = variable[6];
34122 /* Register variable[6]: Local variable */
34123 variable[6] = variable[5] /*nodearraylist1*/;
34124 /* Register variable[7]: Result */
34125 variable[7] = TAG_Bool(( variable[6] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
34126 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 13744); nit_exit(1);}
34127 /* Register variable[7]: Local variable */
34128 variable[7] = variable[4] /*nodearraylist2*/;
34129 /* Register variable[8]: Result */
34130 variable[8] = TAG_Bool(( variable[7] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
34131 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction293___action, LOCATE_parser, 13746); nit_exit(1);}
34132 /* Register variable[8]: Local variable */
34133 /* Register variable[9]: Result */
34134 variable[9] = NEW_AParam_parser_prod___AParam___init_aparam( variable[6] /*tidnode2*/, variable[7] /*ptypenode3*/, NIT_NULL /*null*/) /*new AParam*/;
34135 variable[8] = variable[9];
34136 variable[3] = variable[8] /*pparamnode1*/ /*node_list=*/;
34137 /* Register variable[9]: Result */
34138 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
34139 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
34140 return_label618: while(false);
34141 tracehead = trace.prev;
34142 return;
34143 }
34144 void parser___ReduceAction293___init(val_t self, int* init_table) {
34145 struct trace_t trace = {NULL, NULL, 13755, LOCATE_parser___ReduceAction293___init};
34146 val_t variable[2];
34147 struct WBT_ **closurevariable = NULL;
34148 trace.prev = tracehead; tracehead = &trace;
34149 trace.file = LOCATE_parser;
34150 /* Register variable[0]: Local variable */
34151 variable[0] = self;
34152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction293].i]) return;
34153 /* Register variable[1]: Method return value and escape marker */
34154 return_label619: while(false);
34155 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction293].i] = 1;
34156 tracehead = trace.prev;
34157 return;
34158 }
34159 void parser___ReduceAction294___action(val_t self, val_t param0) {
34160 struct trace_t trace = {NULL, NULL, 13759, LOCATE_parser___ReduceAction294___action};
34161 val_t variable[12];
34162 struct WBT_ **closurevariable = NULL;
34163 trace.prev = tracehead; tracehead = &trace;
34164 trace.file = LOCATE_parser;
34165 /* Register variable[0]: Local variable */
34166 variable[0] = self;
34167 /* Register variable[1]: Local variable */
34168 variable[1] = param0;
34169 /* Register variable[2]: Method return value and escape marker */
34170 /* Register variable[3]: Local variable */
34171 variable[3] = NIT_NULL /*null*/;
34172 /* Register variable[4]: Local variable */
34173 /* Register variable[5]: Result */
34174 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34175 variable[4] = variable[5];
34176 /* Register variable[5]: Local variable */
34177 /* Register variable[6]: Result */
34178 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34179 variable[5] = variable[6];
34180 /* Register variable[6]: Local variable */
34181 /* Register variable[7]: Result */
34182 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34183 variable[6] = variable[7];
34184 /* Register variable[7]: Local variable */
34185 variable[7] = variable[6] /*nodearraylist1*/;
34186 /* Register variable[8]: Result */
34187 variable[8] = TAG_Bool(( variable[7] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
34188 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 13766); nit_exit(1);}
34189 /* Register variable[8]: Local variable */
34190 variable[8] = variable[5] /*nodearraylist2*/;
34191 /* Register variable[9]: Result */
34192 variable[9] = TAG_Bool(( variable[8] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
34193 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 13768); nit_exit(1);}
34194 /* Register variable[9]: Local variable */
34195 variable[9] = variable[4] /*nodearraylist3*/;
34196 /* Register variable[10]: Result */
34197 variable[10] = TAG_Bool(( variable[9] /*tdotdotdotnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tdotdotdotnode4*/, COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
34198 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction294___action, LOCATE_parser, 13770); nit_exit(1);}
34199 /* Register variable[10]: Local variable */
34200 /* Register variable[11]: Result */
34201 variable[11] = NEW_AParam_parser_prod___AParam___init_aparam( variable[7] /*tidnode2*/, variable[8] /*ptypenode3*/, variable[9] /*tdotdotdotnode4*/) /*new AParam*/;
34202 variable[10] = variable[11];
34203 variable[3] = variable[10] /*pparamnode1*/ /*node_list=*/;
34204 /* Register variable[11]: Result */
34205 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(19)) /*Parser::go_to*/;
34206 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
34207 return_label620: while(false);
34208 tracehead = trace.prev;
34209 return;
34210 }
34211 void parser___ReduceAction294___init(val_t self, int* init_table) {
34212 struct trace_t trace = {NULL, NULL, 13779, LOCATE_parser___ReduceAction294___init};
34213 val_t variable[2];
34214 struct WBT_ **closurevariable = NULL;
34215 trace.prev = tracehead; tracehead = &trace;
34216 trace.file = LOCATE_parser;
34217 /* Register variable[0]: Local variable */
34218 variable[0] = self;
34219 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction294].i]) return;
34220 /* Register variable[1]: Method return value and escape marker */
34221 return_label621: while(false);
34222 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction294].i] = 1;
34223 tracehead = trace.prev;
34224 return;
34225 }
34226 void parser___ReduceAction295___action(val_t self, val_t param0) {
34227 struct trace_t trace = {NULL, NULL, 13783, LOCATE_parser___ReduceAction295___action};
34228 val_t variable[9];
34229 struct WBT_ **closurevariable = NULL;
34230 trace.prev = tracehead; tracehead = &trace;
34231 trace.file = LOCATE_parser;
34232 /* Register variable[0]: Local variable */
34233 variable[0] = self;
34234 /* Register variable[1]: Local variable */
34235 variable[1] = param0;
34236 /* Register variable[2]: Method return value and escape marker */
34237 /* Register variable[3]: Local variable */
34238 variable[3] = NIT_NULL /*null*/;
34239 /* Register variable[4]: Local variable */
34240 /* Register variable[5]: Result */
34241 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34242 variable[4] = variable[5];
34243 /* Register variable[5]: Local variable */
34244 /* Register variable[6]: Result */
34245 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34246 variable[5] = variable[6];
34247 /* Register variable[6]: Local variable */
34248 /* Register variable[7]: Result */
34249 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34250 variable[6] = variable[7];
34251 /* Register variable[7]: Local variable */
34252 variable[7] = variable[4] /*nodearraylist2*/;
34253 /* Register variable[8]: Result */
34254 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34255 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction295___action, LOCATE_parser, 13790); nit_exit(1);}
34256 /* Register variable[8]: Result */
34257 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::==*/)))))));
34258 if (UNTAG_Bool(variable[8])) { /*if*/
34259 /* Register variable[8]: Result */
34260 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode2*/)( variable[6] /*listnode2*/) /*AbstractArrayRead::is_empty*/;
34261 if (UNTAG_Bool(variable[8])) { /*if*/
34262 variable[6] = variable[7] /*listnode1*/ /*listnode2=*/;
34263 } else { /*if*/
34264 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode2*/)( variable[6] /*listnode2*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
34265 }
34266 }
34267 variable[3] = variable[6] /*listnode2*/ /*node_list=*/;
34268 /* Register variable[8]: Result */
34269 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(20)) /*Parser::go_to*/;
34270 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
34271 return_label622: while(false);
34272 tracehead = trace.prev;
34273 return;
34274 }
34275 void parser___ReduceAction295___init(val_t self, int* init_table) {
34276 struct trace_t trace = {NULL, NULL, 13801, LOCATE_parser___ReduceAction295___init};
34277 val_t variable[2];
34278 struct WBT_ **closurevariable = NULL;
34279 trace.prev = tracehead; tracehead = &trace;
34280 trace.file = LOCATE_parser;
34281 /* Register variable[0]: Local variable */
34282 variable[0] = self;
34283 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction295].i]) return;
34284 /* Register variable[1]: Method return value and escape marker */
34285 return_label623: while(false);
34286 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction295].i] = 1;
34287 tracehead = trace.prev;
34288 return;
34289 }
34290 void parser___ReduceAction296___action(val_t self, val_t param0) {
34291 struct trace_t trace = {NULL, NULL, 13805, LOCATE_parser___ReduceAction296___action};
34292 val_t variable[14];
34293 struct WBT_ **closurevariable = NULL;
34294 trace.prev = tracehead; tracehead = &trace;
34295 trace.file = LOCATE_parser;
34296 /* Register variable[0]: Local variable */
34297 variable[0] = self;
34298 /* Register variable[1]: Local variable */
34299 variable[1] = param0;
34300 /* Register variable[2]: Method return value and escape marker */
34301 /* Register variable[3]: Local variable */
34302 variable[3] = NIT_NULL /*null*/;
34303 /* Register variable[4]: Local variable */
34304 /* Register variable[5]: Result */
34305 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34306 variable[4] = variable[5];
34307 /* Register variable[5]: Local variable */
34308 /* Register variable[6]: Result */
34309 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34310 variable[5] = variable[6];
34311 /* Register variable[6]: Local variable */
34312 /* Register variable[7]: Result */
34313 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34314 variable[6] = variable[7];
34315 /* Register variable[7]: Local variable */
34316 /* Register variable[8]: Result */
34317 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34318 variable[7] = variable[8];
34319 /* Register variable[8]: Local variable */
34320 /* Register variable[9]: Result */
34321 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34322 variable[8] = variable[9];
34323 /* Register variable[9]: Local variable */
34324 variable[9] = variable[8] /*nodearraylist1*/;
34325 /* Register variable[10]: Result */
34326 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34327 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 13814); nit_exit(1);}
34328 /* Register variable[10]: Local variable */
34329 variable[10] = variable[6] /*nodearraylist3*/;
34330 /* Register variable[11]: Result */
34331 variable[11] = TAG_Bool(( variable[10] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
34332 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 13816); nit_exit(1);}
34333 /* Register variable[11]: Local variable */
34334 variable[11] = variable[5] /*nodearraylist4*/;
34335 /* Register variable[12]: Result */
34336 variable[12] = TAG_Bool(( variable[11] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[11] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
34337 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction296___action, LOCATE_parser, 13818); nit_exit(1);}
34338 /* Register variable[12]: Local variable */
34339 /* Register variable[13]: Result */
34340 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*/;
34341 variable[12] = variable[13];
34342 variable[3] = variable[12] /*pclosuredeclnode1*/ /*node_list=*/;
34343 /* Register variable[13]: Result */
34344 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
34345 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
34346 return_label624: while(false);
34347 tracehead = trace.prev;
34348 return;
34349 }
34350 void parser___ReduceAction296___init(val_t self, int* init_table) {
34351 struct trace_t trace = {NULL, NULL, 13829, LOCATE_parser___ReduceAction296___init};
34352 val_t variable[2];
34353 struct WBT_ **closurevariable = NULL;
34354 trace.prev = tracehead; tracehead = &trace;
34355 trace.file = LOCATE_parser;
34356 /* Register variable[0]: Local variable */
34357 variable[0] = self;
34358 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction296].i]) return;
34359 /* Register variable[1]: Method return value and escape marker */
34360 return_label625: while(false);
34361 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction296].i] = 1;
34362 tracehead = trace.prev;
34363 return;
34364 }
34365 void parser___ReduceAction297___action(val_t self, val_t param0) {
34366 struct trace_t trace = {NULL, NULL, 13833, LOCATE_parser___ReduceAction297___action};
34367 val_t variable[16];
34368 struct WBT_ **closurevariable = NULL;
34369 trace.prev = tracehead; tracehead = &trace;
34370 trace.file = LOCATE_parser;
34371 /* Register variable[0]: Local variable */
34372 variable[0] = self;
34373 /* Register variable[1]: Local variable */
34374 variable[1] = param0;
34375 /* Register variable[2]: Method return value and escape marker */
34376 /* Register variable[3]: Local variable */
34377 variable[3] = NIT_NULL /*null*/;
34378 /* Register variable[4]: Local variable */
34379 /* Register variable[5]: Result */
34380 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34381 variable[4] = variable[5];
34382 /* Register variable[5]: Local variable */
34383 /* Register variable[6]: Result */
34384 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34385 variable[5] = variable[6];
34386 /* Register variable[6]: Local variable */
34387 /* Register variable[7]: Result */
34388 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34389 variable[6] = variable[7];
34390 /* Register variable[7]: Local variable */
34391 /* Register variable[8]: Result */
34392 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34393 variable[7] = variable[8];
34394 /* Register variable[8]: Local variable */
34395 /* Register variable[9]: Result */
34396 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34397 variable[8] = variable[9];
34398 /* Register variable[9]: Local variable */
34399 /* Register variable[10]: Result */
34400 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34401 variable[9] = variable[10];
34402 /* Register variable[10]: Local variable */
34403 variable[10] = variable[9] /*nodearraylist1*/;
34404 /* Register variable[11]: Result */
34405 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34406 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 13843); nit_exit(1);}
34407 /* Register variable[11]: Local variable */
34408 variable[11] = variable[8] /*nodearraylist2*/;
34409 /* Register variable[12]: Result */
34410 variable[12] = TAG_Bool(( variable[11] /*tkwbreaknode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwbreaknode3*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
34411 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 13845); nit_exit(1);}
34412 /* Register variable[12]: Local variable */
34413 variable[12] = variable[6] /*nodearraylist4*/;
34414 /* Register variable[13]: Result */
34415 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
34416 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 13847); nit_exit(1);}
34417 /* Register variable[13]: Local variable */
34418 variable[13] = variable[5] /*nodearraylist5*/;
34419 /* Register variable[14]: Result */
34420 variable[14] = TAG_Bool(( variable[13] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
34421 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction297___action, LOCATE_parser, 13849); nit_exit(1);}
34422 /* Register variable[14]: Local variable */
34423 /* Register variable[15]: Result */
34424 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*/;
34425 variable[14] = variable[15];
34426 variable[3] = variable[14] /*pclosuredeclnode1*/ /*node_list=*/;
34427 /* Register variable[15]: Result */
34428 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
34429 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
34430 return_label626: while(false);
34431 tracehead = trace.prev;
34432 return;
34433 }
34434 void parser___ReduceAction297___init(val_t self, int* init_table) {
34435 struct trace_t trace = {NULL, NULL, 13860, LOCATE_parser___ReduceAction297___init};
34436 val_t variable[2];
34437 struct WBT_ **closurevariable = NULL;
34438 trace.prev = tracehead; tracehead = &trace;
34439 trace.file = LOCATE_parser;
34440 /* Register variable[0]: Local variable */
34441 variable[0] = self;
34442 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction297].i]) return;
34443 /* Register variable[1]: Method return value and escape marker */
34444 return_label627: while(false);
34445 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction297].i] = 1;
34446 tracehead = trace.prev;
34447 return;
34448 }
34449 void parser___ReduceAction298___action(val_t self, val_t param0) {
34450 struct trace_t trace = {NULL, NULL, 13864, LOCATE_parser___ReduceAction298___action};
34451 val_t variable[17];
34452 struct WBT_ **closurevariable = NULL;
34453 trace.prev = tracehead; tracehead = &trace;
34454 trace.file = LOCATE_parser;
34455 /* Register variable[0]: Local variable */
34456 variable[0] = self;
34457 /* Register variable[1]: Local variable */
34458 variable[1] = param0;
34459 /* Register variable[2]: Method return value and escape marker */
34460 /* Register variable[3]: Local variable */
34461 variable[3] = NIT_NULL /*null*/;
34462 /* Register variable[4]: Local variable */
34463 /* Register variable[5]: Result */
34464 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34465 variable[4] = variable[5];
34466 /* Register variable[5]: Local variable */
34467 /* Register variable[6]: Result */
34468 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34469 variable[5] = variable[6];
34470 /* Register variable[6]: Local variable */
34471 /* Register variable[7]: Result */
34472 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34473 variable[6] = variable[7];
34474 /* Register variable[7]: Local variable */
34475 /* Register variable[8]: Result */
34476 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34477 variable[7] = variable[8];
34478 /* Register variable[8]: Local variable */
34479 /* Register variable[9]: Result */
34480 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34481 variable[8] = variable[9];
34482 /* Register variable[9]: Local variable */
34483 /* Register variable[10]: Result */
34484 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34485 variable[9] = variable[10];
34486 /* Register variable[10]: Local variable */
34487 /* Register variable[11]: Result */
34488 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34489 variable[10] = variable[11];
34490 /* Register variable[11]: Local variable */
34491 variable[11] = variable[10] /*nodearraylist1*/;
34492 /* Register variable[12]: Result */
34493 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34494 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 13875); nit_exit(1);}
34495 /* Register variable[12]: Local variable */
34496 variable[12] = variable[8] /*nodearraylist3*/;
34497 /* Register variable[13]: Result */
34498 variable[13] = TAG_Bool(( variable[12] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
34499 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 13877); nit_exit(1);}
34500 /* Register variable[13]: Local variable */
34501 variable[13] = variable[7] /*nodearraylist4*/;
34502 /* Register variable[14]: Result */
34503 variable[14] = TAG_Bool(( variable[13] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[13] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
34504 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 13879); nit_exit(1);}
34505 /* Register variable[14]: Local variable */
34506 variable[14] = variable[5] /*nodearraylist6*/;
34507 /* Register variable[15]: Result */
34508 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34509 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction298___action, LOCATE_parser, 13881); nit_exit(1);}
34510 /* Register variable[15]: Local variable */
34511 /* Register variable[16]: Result */
34512 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*/;
34513 variable[15] = variable[16];
34514 variable[3] = variable[15] /*pclosuredeclnode1*/ /*node_list=*/;
34515 /* Register variable[16]: Result */
34516 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
34517 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
34518 return_label628: while(false);
34519 tracehead = trace.prev;
34520 return;
34521 }
34522 void parser___ReduceAction298___init(val_t self, int* init_table) {
34523 struct trace_t trace = {NULL, NULL, 13892, LOCATE_parser___ReduceAction298___init};
34524 val_t variable[2];
34525 struct WBT_ **closurevariable = NULL;
34526 trace.prev = tracehead; tracehead = &trace;
34527 trace.file = LOCATE_parser;
34528 /* Register variable[0]: Local variable */
34529 variable[0] = self;
34530 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction298].i]) return;
34531 /* Register variable[1]: Method return value and escape marker */
34532 return_label629: while(false);
34533 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction298].i] = 1;
34534 tracehead = trace.prev;
34535 return;
34536 }
34537 void parser___ReduceAction299___action(val_t self, val_t param0) {
34538 struct trace_t trace = {NULL, NULL, 13896, LOCATE_parser___ReduceAction299___action};
34539 val_t variable[19];
34540 struct WBT_ **closurevariable = NULL;
34541 trace.prev = tracehead; tracehead = &trace;
34542 trace.file = LOCATE_parser;
34543 /* Register variable[0]: Local variable */
34544 variable[0] = self;
34545 /* Register variable[1]: Local variable */
34546 variable[1] = param0;
34547 /* Register variable[2]: Method return value and escape marker */
34548 /* Register variable[3]: Local variable */
34549 variable[3] = NIT_NULL /*null*/;
34550 /* Register variable[4]: Local variable */
34551 /* Register variable[5]: Result */
34552 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34553 variable[4] = variable[5];
34554 /* Register variable[5]: Local variable */
34555 /* Register variable[6]: Result */
34556 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34557 variable[5] = variable[6];
34558 /* Register variable[6]: Local variable */
34559 /* Register variable[7]: Result */
34560 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34561 variable[6] = variable[7];
34562 /* Register variable[7]: Local variable */
34563 /* Register variable[8]: Result */
34564 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34565 variable[7] = variable[8];
34566 /* Register variable[8]: Local variable */
34567 /* Register variable[9]: Result */
34568 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34569 variable[8] = variable[9];
34570 /* Register variable[9]: Local variable */
34571 /* Register variable[10]: Result */
34572 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34573 variable[9] = variable[10];
34574 /* Register variable[10]: Local variable */
34575 /* Register variable[11]: Result */
34576 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34577 variable[10] = variable[11];
34578 /* Register variable[11]: Local variable */
34579 /* Register variable[12]: Result */
34580 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34581 variable[11] = variable[12];
34582 /* Register variable[12]: Local variable */
34583 variable[12] = variable[11] /*nodearraylist1*/;
34584 /* Register variable[13]: Result */
34585 variable[13] = TAG_Bool(( variable[12] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
34586 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 13908); nit_exit(1);}
34587 /* Register variable[13]: Local variable */
34588 variable[13] = variable[10] /*nodearraylist2*/;
34589 /* Register variable[14]: Result */
34590 variable[14] = TAG_Bool(( variable[13] /*tkwbreaknode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwbreaknode3*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
34591 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 13910); nit_exit(1);}
34592 /* Register variable[14]: Local variable */
34593 variable[14] = variable[8] /*nodearraylist4*/;
34594 /* Register variable[15]: Result */
34595 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
34596 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 13912); nit_exit(1);}
34597 /* Register variable[15]: Local variable */
34598 variable[15] = variable[7] /*nodearraylist5*/;
34599 /* Register variable[16]: Result */
34600 variable[16] = TAG_Bool(( variable[15] /*psignaturenode5*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode5*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
34601 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 13914); nit_exit(1);}
34602 /* Register variable[16]: Local variable */
34603 variable[16] = variable[5] /*nodearraylist7*/;
34604 /* Register variable[17]: Result */
34605 variable[17] = TAG_Bool(( variable[16] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
34606 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction299___action, LOCATE_parser, 13916); nit_exit(1);}
34607 /* Register variable[17]: Local variable */
34608 /* Register variable[18]: Result */
34609 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*/;
34610 variable[17] = variable[18];
34611 variable[3] = variable[17] /*pclosuredeclnode1*/ /*node_list=*/;
34612 /* Register variable[18]: Result */
34613 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(21)) /*Parser::go_to*/;
34614 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
34615 return_label630: while(false);
34616 tracehead = trace.prev;
34617 return;
34618 }
34619 void parser___ReduceAction299___init(val_t self, int* init_table) {
34620 struct trace_t trace = {NULL, NULL, 13927, LOCATE_parser___ReduceAction299___init};
34621 val_t variable[2];
34622 struct WBT_ **closurevariable = NULL;
34623 trace.prev = tracehead; tracehead = &trace;
34624 trace.file = LOCATE_parser;
34625 /* Register variable[0]: Local variable */
34626 variable[0] = self;
34627 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction299].i]) return;
34628 /* Register variable[1]: Method return value and escape marker */
34629 return_label631: while(false);
34630 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction299].i] = 1;
34631 tracehead = trace.prev;
34632 return;
34633 }
34634 void parser___ReduceAction300___action(val_t self, val_t param0) {
34635 struct trace_t trace = {NULL, NULL, 13931, LOCATE_parser___ReduceAction300___action};
34636 val_t variable[9];
34637 struct WBT_ **closurevariable = NULL;
34638 trace.prev = tracehead; tracehead = &trace;
34639 trace.file = LOCATE_parser;
34640 /* Register variable[0]: Local variable */
34641 variable[0] = self;
34642 /* Register variable[1]: Local variable */
34643 variable[1] = param0;
34644 /* Register variable[2]: Method return value and escape marker */
34645 /* Register variable[3]: Local variable */
34646 variable[3] = NIT_NULL /*null*/;
34647 /* Register variable[4]: Local variable */
34648 /* Register variable[5]: Result */
34649 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34650 variable[4] = variable[5];
34651 /* Register variable[5]: Local variable */
34652 /* Register variable[6]: Result */
34653 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34654 variable[5] = variable[6];
34655 /* Register variable[6]: Local variable */
34656 variable[6] = variable[4] /*nodearraylist1*/;
34657 /* Register variable[7]: Result */
34658 variable[7] = TAG_Bool(( variable[6] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
34659 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction300___action, LOCATE_parser, 13937); nit_exit(1);}
34660 /* Register variable[7]: Local variable */
34661 /* Register variable[8]: Result */
34662 variable[8] = NEW_AType_parser_prod___AType___init_atype( NIT_NULL /*null*/, variable[6] /*tclassidnode3*/, variable[5] /*listnode4*/) /*new AType*/;
34663 variable[7] = variable[8];
34664 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
34665 /* Register variable[8]: Result */
34666 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
34667 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
34668 return_label632: while(false);
34669 tracehead = trace.prev;
34670 return;
34671 }
34672 void parser___ReduceAction300___init(val_t self, int* init_table) {
34673 struct trace_t trace = {NULL, NULL, 13946, LOCATE_parser___ReduceAction300___init};
34674 val_t variable[2];
34675 struct WBT_ **closurevariable = NULL;
34676 trace.prev = tracehead; tracehead = &trace;
34677 trace.file = LOCATE_parser;
34678 /* Register variable[0]: Local variable */
34679 variable[0] = self;
34680 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction300].i]) return;
34681 /* Register variable[1]: Method return value and escape marker */
34682 return_label633: while(false);
34683 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction300].i] = 1;
34684 tracehead = trace.prev;
34685 return;
34686 }
34687 void parser___ReduceAction301___action(val_t self, val_t param0) {
34688 struct trace_t trace = {NULL, NULL, 13950, LOCATE_parser___ReduceAction301___action};
34689 val_t variable[11];
34690 struct WBT_ **closurevariable = NULL;
34691 trace.prev = tracehead; tracehead = &trace;
34692 trace.file = LOCATE_parser;
34693 /* Register variable[0]: Local variable */
34694 variable[0] = self;
34695 /* Register variable[1]: Local variable */
34696 variable[1] = param0;
34697 /* Register variable[2]: Method return value and escape marker */
34698 /* Register variable[3]: Local variable */
34699 variable[3] = NIT_NULL /*null*/;
34700 /* Register variable[4]: Local variable */
34701 /* Register variable[5]: Result */
34702 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34703 variable[4] = variable[5];
34704 /* Register variable[5]: Local variable */
34705 /* Register variable[6]: Result */
34706 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34707 variable[5] = variable[6];
34708 /* Register variable[6]: Local variable */
34709 /* Register variable[7]: Result */
34710 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34711 variable[6] = variable[7];
34712 /* Register variable[7]: Local variable */
34713 variable[7] = variable[5] /*nodearraylist1*/;
34714 /* Register variable[8]: Result */
34715 variable[8] = TAG_Bool(( variable[7] /*tkwnullablenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnullablenode2*/, COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
34716 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 13957); nit_exit(1);}
34717 /* Register variable[8]: Local variable */
34718 variable[8] = variable[4] /*nodearraylist2*/;
34719 /* Register variable[9]: Result */
34720 variable[9] = TAG_Bool(( variable[8] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
34721 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction301___action, LOCATE_parser, 13959); nit_exit(1);}
34722 /* Register variable[9]: Local variable */
34723 /* Register variable[10]: Result */
34724 variable[10] = NEW_AType_parser_prod___AType___init_atype( variable[7] /*tkwnullablenode2*/, variable[8] /*tclassidnode3*/, variable[6] /*listnode4*/) /*new AType*/;
34725 variable[9] = variable[10];
34726 variable[3] = variable[9] /*ptypenode1*/ /*node_list=*/;
34727 /* Register variable[10]: Result */
34728 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
34729 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
34730 return_label634: while(false);
34731 tracehead = trace.prev;
34732 return;
34733 }
34734 void parser___ReduceAction301___init(val_t self, int* init_table) {
34735 struct trace_t trace = {NULL, NULL, 13968, LOCATE_parser___ReduceAction301___init};
34736 val_t variable[2];
34737 struct WBT_ **closurevariable = NULL;
34738 trace.prev = tracehead; tracehead = &trace;
34739 trace.file = LOCATE_parser;
34740 /* Register variable[0]: Local variable */
34741 variable[0] = self;
34742 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction301].i]) return;
34743 /* Register variable[1]: Method return value and escape marker */
34744 return_label635: while(false);
34745 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction301].i] = 1;
34746 tracehead = trace.prev;
34747 return;
34748 }
34749 void parser___ReduceAction302___action(val_t self, val_t param0) {
34750 struct trace_t trace = {NULL, NULL, 13972, LOCATE_parser___ReduceAction302___action};
34751 val_t variable[15];
34752 struct WBT_ **closurevariable = NULL;
34753 trace.prev = tracehead; tracehead = &trace;
34754 trace.file = LOCATE_parser;
34755 /* Register variable[0]: Local variable */
34756 variable[0] = self;
34757 /* Register variable[1]: Local variable */
34758 variable[1] = param0;
34759 /* Register variable[2]: Method return value and escape marker */
34760 /* Register variable[3]: Local variable */
34761 variable[3] = NIT_NULL /*null*/;
34762 /* Register variable[4]: Local variable */
34763 /* Register variable[5]: Result */
34764 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34765 variable[4] = variable[5];
34766 /* Register variable[5]: Local variable */
34767 /* Register variable[6]: Result */
34768 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34769 variable[5] = variable[6];
34770 /* Register variable[6]: Local variable */
34771 /* Register variable[7]: Result */
34772 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34773 variable[6] = variable[7];
34774 /* Register variable[7]: Local variable */
34775 /* Register variable[8]: Result */
34776 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34777 variable[7] = variable[8];
34778 /* Register variable[8]: Local variable */
34779 /* Register variable[9]: Result */
34780 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34781 variable[8] = variable[9];
34782 /* Register variable[9]: Local variable */
34783 /* Register variable[10]: Result */
34784 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34785 variable[9] = variable[10];
34786 /* Register variable[10]: Local variable */
34787 /* Register variable[11]: Result */
34788 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34789 variable[10] = variable[11];
34790 /* Register variable[11]: Local variable */
34791 variable[11] = variable[9] /*nodearraylist1*/;
34792 /* Register variable[12]: Result */
34793 variable[12] = TAG_Bool(( variable[11] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
34794 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 13983); nit_exit(1);}
34795 /* Register variable[12]: Local variable */
34796 variable[12] = variable[6] /*nodearraylist4*/;
34797 /* Register variable[13]: Result */
34798 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34799 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction302___action, LOCATE_parser, 13985); nit_exit(1);}
34800 /* Register variable[13]: Result */
34801 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::==*/)))))));
34802 if (UNTAG_Bool(variable[13])) { /*if*/
34803 /* Register variable[13]: Result */
34804 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
34805 if (UNTAG_Bool(variable[13])) { /*if*/
34806 variable[10] = variable[12] /*listnode4*/ /*listnode5=*/;
34807 } else { /*if*/
34808 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
34809 }
34810 }
34811 /* Register variable[13]: Local variable */
34812 /* Register variable[14]: Result */
34813 variable[14] = NEW_AType_parser_prod___AType___init_atype( NIT_NULL /*null*/, variable[11] /*tclassidnode3*/, variable[10] /*listnode5*/) /*new AType*/;
34814 variable[13] = variable[14];
34815 variable[3] = variable[13] /*ptypenode1*/ /*node_list=*/;
34816 /* Register variable[14]: Result */
34817 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
34818 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
34819 return_label636: while(false);
34820 tracehead = trace.prev;
34821 return;
34822 }
34823 void parser___ReduceAction302___init(val_t self, int* init_table) {
34824 struct trace_t trace = {NULL, NULL, 14001, LOCATE_parser___ReduceAction302___init};
34825 val_t variable[2];
34826 struct WBT_ **closurevariable = NULL;
34827 trace.prev = tracehead; tracehead = &trace;
34828 trace.file = LOCATE_parser;
34829 /* Register variable[0]: Local variable */
34830 variable[0] = self;
34831 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction302].i]) return;
34832 /* Register variable[1]: Method return value and escape marker */
34833 return_label637: while(false);
34834 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction302].i] = 1;
34835 tracehead = trace.prev;
34836 return;
34837 }
34838 void parser___ReduceAction303___action(val_t self, val_t param0) {
34839 struct trace_t trace = {NULL, NULL, 14005, LOCATE_parser___ReduceAction303___action};
34840 val_t variable[17];
34841 struct WBT_ **closurevariable = NULL;
34842 trace.prev = tracehead; tracehead = &trace;
34843 trace.file = LOCATE_parser;
34844 /* Register variable[0]: Local variable */
34845 variable[0] = self;
34846 /* Register variable[1]: Local variable */
34847 variable[1] = param0;
34848 /* Register variable[2]: Method return value and escape marker */
34849 /* Register variable[3]: Local variable */
34850 variable[3] = NIT_NULL /*null*/;
34851 /* Register variable[4]: Local variable */
34852 /* Register variable[5]: Result */
34853 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34854 variable[4] = variable[5];
34855 /* Register variable[5]: Local variable */
34856 /* Register variable[6]: Result */
34857 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34858 variable[5] = variable[6];
34859 /* Register variable[6]: Local variable */
34860 /* Register variable[7]: Result */
34861 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34862 variable[6] = variable[7];
34863 /* Register variable[7]: Local variable */
34864 /* Register variable[8]: Result */
34865 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34866 variable[7] = variable[8];
34867 /* Register variable[8]: Local variable */
34868 /* Register variable[9]: Result */
34869 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34870 variable[8] = variable[9];
34871 /* Register variable[9]: Local variable */
34872 /* Register variable[10]: Result */
34873 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34874 variable[9] = variable[10];
34875 /* Register variable[10]: Local variable */
34876 /* Register variable[11]: Result */
34877 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34878 variable[10] = variable[11];
34879 /* Register variable[11]: Local variable */
34880 /* Register variable[12]: Result */
34881 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34882 variable[11] = variable[12];
34883 /* Register variable[12]: Local variable */
34884 variable[12] = variable[10] /*nodearraylist1*/;
34885 /* Register variable[13]: Result */
34886 variable[13] = TAG_Bool(( variable[12] /*tkwnullablenode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnullablenode2*/, COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
34887 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 14017); nit_exit(1);}
34888 /* Register variable[13]: Local variable */
34889 variable[13] = variable[9] /*nodearraylist2*/;
34890 /* Register variable[14]: Result */
34891 variable[14] = TAG_Bool(( variable[13] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
34892 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 14019); nit_exit(1);}
34893 /* Register variable[14]: Local variable */
34894 variable[14] = variable[6] /*nodearraylist5*/;
34895 /* Register variable[15]: Result */
34896 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
34897 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction303___action, LOCATE_parser, 14021); nit_exit(1);}
34898 /* Register variable[15]: Result */
34899 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::==*/)))))));
34900 if (UNTAG_Bool(variable[15])) { /*if*/
34901 /* Register variable[15]: Result */
34902 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
34903 if (UNTAG_Bool(variable[15])) { /*if*/
34904 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
34905 } else { /*if*/
34906 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
34907 }
34908 }
34909 /* Register variable[15]: Local variable */
34910 /* Register variable[16]: Result */
34911 variable[16] = NEW_AType_parser_prod___AType___init_atype( variable[12] /*tkwnullablenode2*/, variable[13] /*tclassidnode3*/, variable[11] /*listnode5*/) /*new AType*/;
34912 variable[15] = variable[16];
34913 variable[3] = variable[15] /*ptypenode1*/ /*node_list=*/;
34914 /* Register variable[16]: Result */
34915 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(22)) /*Parser::go_to*/;
34916 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
34917 return_label638: while(false);
34918 tracehead = trace.prev;
34919 return;
34920 }
34921 void parser___ReduceAction303___init(val_t self, int* init_table) {
34922 struct trace_t trace = {NULL, NULL, 14037, LOCATE_parser___ReduceAction303___init};
34923 val_t variable[2];
34924 struct WBT_ **closurevariable = NULL;
34925 trace.prev = tracehead; tracehead = &trace;
34926 trace.file = LOCATE_parser;
34927 /* Register variable[0]: Local variable */
34928 variable[0] = self;
34929 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction303].i]) return;
34930 /* Register variable[1]: Method return value and escape marker */
34931 return_label639: while(false);
34932 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction303].i] = 1;
34933 tracehead = trace.prev;
34934 return;
34935 }
34936 void parser___ReduceAction304___action(val_t self, val_t param0) {
34937 struct trace_t trace = {NULL, NULL, 14041, LOCATE_parser___ReduceAction304___action};
34938 val_t variable[8];
34939 struct WBT_ **closurevariable = NULL;
34940 trace.prev = tracehead; tracehead = &trace;
34941 trace.file = LOCATE_parser;
34942 /* Register variable[0]: Local variable */
34943 variable[0] = self;
34944 /* Register variable[1]: Local variable */
34945 variable[1] = param0;
34946 /* Register variable[2]: Method return value and escape marker */
34947 /* Register variable[3]: Local variable */
34948 variable[3] = NIT_NULL /*null*/;
34949 /* Register variable[4]: Local variable */
34950 /* Register variable[5]: Result */
34951 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
34952 variable[4] = variable[5];
34953 /* Register variable[5]: Local variable */
34954 /* Register variable[6]: Result */
34955 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
34956 variable[5] = variable[6];
34957 /* Register variable[6]: Local variable */
34958 variable[6] = variable[4] /*nodearraylist1*/;
34959 /* Register variable[7]: Result */
34960 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
34961 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction304___action, LOCATE_parser, 14047); nit_exit(1);}
34962 /* Register variable[7]: Result */
34963 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::==*/)))))));
34964 if (UNTAG_Bool(variable[7])) { /*if*/
34965 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
34966 }
34967 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
34968 /* Register variable[7]: Result */
34969 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
34970 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
34971 return_label640: while(false);
34972 tracehead = trace.prev;
34973 return;
34974 }
34975 void parser___ReduceAction304___init(val_t self, int* init_table) {
34976 struct trace_t trace = {NULL, NULL, 14054, LOCATE_parser___ReduceAction304___init};
34977 val_t variable[2];
34978 struct WBT_ **closurevariable = NULL;
34979 trace.prev = tracehead; tracehead = &trace;
34980 trace.file = LOCATE_parser;
34981 /* Register variable[0]: Local variable */
34982 variable[0] = self;
34983 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction304].i]) return;
34984 /* Register variable[1]: Method return value and escape marker */
34985 return_label641: while(false);
34986 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction304].i] = 1;
34987 tracehead = trace.prev;
34988 return;
34989 }
34990 void parser___ReduceAction305___action(val_t self, val_t param0) {
34991 struct trace_t trace = {NULL, NULL, 14058, LOCATE_parser___ReduceAction305___action};
34992 val_t variable[10];
34993 struct WBT_ **closurevariable = NULL;
34994 trace.prev = tracehead; tracehead = &trace;
34995 trace.file = LOCATE_parser;
34996 /* Register variable[0]: Local variable */
34997 variable[0] = self;
34998 /* Register variable[1]: Local variable */
34999 variable[1] = param0;
35000 /* Register variable[2]: Method return value and escape marker */
35001 /* Register variable[3]: Local variable */
35002 variable[3] = NIT_NULL /*null*/;
35003 /* Register variable[4]: Local variable */
35004 /* Register variable[5]: Result */
35005 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35006 variable[4] = variable[5];
35007 /* Register variable[5]: Local variable */
35008 /* Register variable[6]: Result */
35009 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35010 variable[5] = variable[6];
35011 /* Register variable[6]: Local variable */
35012 /* Register variable[7]: Result */
35013 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
35014 variable[6] = variable[7];
35015 /* Register variable[7]: Local variable */
35016 variable[7] = variable[5] /*nodearraylist1*/;
35017 /* Register variable[8]: Result */
35018 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
35019 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 14065); nit_exit(1);}
35020 /* Register variable[8]: Local variable */
35021 variable[8] = variable[4] /*nodearraylist2*/;
35022 /* Register variable[9]: Result */
35023 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35024 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction305___action, LOCATE_parser, 14067); nit_exit(1);}
35025 /* Register variable[9]: Result */
35026 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::==*/)))))));
35027 if (UNTAG_Bool(variable[9])) { /*if*/
35028 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*ptypenode1*/) /*AbstractArray::add*/;
35029 }
35030 /* Register variable[9]: Result */
35031 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::==*/)))))));
35032 if (UNTAG_Bool(variable[9])) { /*if*/
35033 /* Register variable[9]: Result */
35034 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
35035 if (UNTAG_Bool(variable[9])) { /*if*/
35036 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
35037 } else { /*if*/
35038 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
35039 }
35040 }
35041 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
35042 /* Register variable[9]: Result */
35043 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(23)) /*Parser::go_to*/;
35044 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35045 return_label642: while(false);
35046 tracehead = trace.prev;
35047 return;
35048 }
35049 void parser___ReduceAction305___init(val_t self, int* init_table) {
35050 struct trace_t trace = {NULL, NULL, 14081, LOCATE_parser___ReduceAction305___init};
35051 val_t variable[2];
35052 struct WBT_ **closurevariable = NULL;
35053 trace.prev = tracehead; tracehead = &trace;
35054 trace.file = LOCATE_parser;
35055 /* Register variable[0]: Local variable */
35056 variable[0] = self;
35057 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction305].i]) return;
35058 /* Register variable[1]: Method return value and escape marker */
35059 return_label643: while(false);
35060 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction305].i] = 1;
35061 tracehead = trace.prev;
35062 return;
35063 }
35064 void parser___ReduceAction306___action(val_t self, val_t param0) {
35065 struct trace_t trace = {NULL, NULL, 14085, LOCATE_parser___ReduceAction306___action};
35066 val_t variable[9];
35067 struct WBT_ **closurevariable = NULL;
35068 trace.prev = tracehead; tracehead = &trace;
35069 trace.file = LOCATE_parser;
35070 /* Register variable[0]: Local variable */
35071 variable[0] = self;
35072 /* Register variable[1]: Local variable */
35073 variable[1] = param0;
35074 /* Register variable[2]: Method return value and escape marker */
35075 /* Register variable[3]: Local variable */
35076 variable[3] = NIT_NULL /*null*/;
35077 /* Register variable[4]: Local variable */
35078 /* Register variable[5]: Result */
35079 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35080 variable[4] = variable[5];
35081 /* Register variable[5]: Local variable */
35082 /* Register variable[6]: Result */
35083 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35084 variable[5] = variable[6];
35085 /* Register variable[6]: Local variable */
35086 /* Register variable[7]: Result */
35087 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35088 variable[6] = variable[7];
35089 /* Register variable[7]: Local variable */
35090 variable[7] = variable[4] /*nodearraylist3*/;
35091 /* Register variable[8]: Result */
35092 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
35093 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction306___action, LOCATE_parser, 14092); nit_exit(1);}
35094 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
35095 /* Register variable[8]: Result */
35096 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(24)) /*Parser::go_to*/;
35097 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
35098 return_label644: while(false);
35099 tracehead = trace.prev;
35100 return;
35101 }
35102 void parser___ReduceAction306___init(val_t self, int* init_table) {
35103 struct trace_t trace = {NULL, NULL, 14096, LOCATE_parser___ReduceAction306___init};
35104 val_t variable[2];
35105 struct WBT_ **closurevariable = NULL;
35106 trace.prev = tracehead; tracehead = &trace;
35107 trace.file = LOCATE_parser;
35108 /* Register variable[0]: Local variable */
35109 variable[0] = self;
35110 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction306].i]) return;
35111 /* Register variable[1]: Method return value and escape marker */
35112 return_label645: while(false);
35113 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction306].i] = 1;
35114 tracehead = trace.prev;
35115 return;
35116 }
35117 void parser___ReduceAction307___action(val_t self, val_t param0) {
35118 struct trace_t trace = {NULL, NULL, 14100, LOCATE_parser___ReduceAction307___action};
35119 val_t variable[9];
35120 struct WBT_ **closurevariable = NULL;
35121 trace.prev = tracehead; tracehead = &trace;
35122 trace.file = LOCATE_parser;
35123 /* Register variable[0]: Local variable */
35124 variable[0] = self;
35125 /* Register variable[1]: Local variable */
35126 variable[1] = param0;
35127 /* Register variable[2]: Method return value and escape marker */
35128 /* Register variable[3]: Local variable */
35129 variable[3] = NIT_NULL /*null*/;
35130 /* Register variable[4]: Local variable */
35131 /* Register variable[5]: Result */
35132 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35133 variable[4] = variable[5];
35134 /* Register variable[5]: Local variable */
35135 /* Register variable[6]: Result */
35136 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35137 variable[5] = variable[6];
35138 /* Register variable[6]: Local variable */
35139 /* Register variable[7]: Result */
35140 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35141 variable[6] = variable[7];
35142 /* Register variable[7]: Local variable */
35143 variable[7] = variable[4] /*nodearraylist3*/;
35144 /* Register variable[8]: Result */
35145 variable[8] = TAG_Bool(( variable[7] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[7] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
35146 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction307___action, LOCATE_parser, 14107); nit_exit(1);}
35147 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
35148 /* Register variable[8]: Result */
35149 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(25)) /*Parser::go_to*/;
35150 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
35151 return_label646: while(false);
35152 tracehead = trace.prev;
35153 return;
35154 }
35155 void parser___ReduceAction307___init(val_t self, int* init_table) {
35156 struct trace_t trace = {NULL, NULL, 14111, LOCATE_parser___ReduceAction307___init};
35157 val_t variable[2];
35158 struct WBT_ **closurevariable = NULL;
35159 trace.prev = tracehead; tracehead = &trace;
35160 trace.file = LOCATE_parser;
35161 /* Register variable[0]: Local variable */
35162 variable[0] = self;
35163 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction307].i]) return;
35164 /* Register variable[1]: Method return value and escape marker */
35165 return_label647: while(false);
35166 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction307].i] = 1;
35167 tracehead = trace.prev;
35168 return;
35169 }
35170 void parser___ReduceAction308___action(val_t self, val_t param0) {
35171 struct trace_t trace = {NULL, NULL, 14115, LOCATE_parser___ReduceAction308___action};
35172 val_t variable[7];
35173 struct WBT_ **closurevariable = NULL;
35174 trace.prev = tracehead; tracehead = &trace;
35175 trace.file = LOCATE_parser;
35176 /* Register variable[0]: Local variable */
35177 variable[0] = self;
35178 /* Register variable[1]: Local variable */
35179 variable[1] = param0;
35180 /* Register variable[2]: Method return value and escape marker */
35181 /* Register variable[3]: Local variable */
35182 variable[3] = NIT_NULL /*null*/;
35183 /* Register variable[4]: Local variable */
35184 /* Register variable[5]: Result */
35185 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35186 variable[4] = variable[5];
35187 /* Register variable[5]: Local variable */
35188 variable[5] = variable[4] /*nodearraylist1*/;
35189 /* Register variable[6]: Result */
35190 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35191 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction308___action, LOCATE_parser, 14120); nit_exit(1);}
35192 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35193 /* Register variable[6]: Result */
35194 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
35195 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35196 return_label648: while(false);
35197 tracehead = trace.prev;
35198 return;
35199 }
35200 void parser___ReduceAction308___init(val_t self, int* init_table) {
35201 struct trace_t trace = {NULL, NULL, 14124, LOCATE_parser___ReduceAction308___init};
35202 val_t variable[2];
35203 struct WBT_ **closurevariable = NULL;
35204 trace.prev = tracehead; tracehead = &trace;
35205 trace.file = LOCATE_parser;
35206 /* Register variable[0]: Local variable */
35207 variable[0] = self;
35208 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction308].i]) return;
35209 /* Register variable[1]: Method return value and escape marker */
35210 return_label649: while(false);
35211 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction308].i] = 1;
35212 tracehead = trace.prev;
35213 return;
35214 }
35215 void parser___ReduceAction309___action(val_t self, val_t param0) {
35216 struct trace_t trace = {NULL, NULL, 14128, LOCATE_parser___ReduceAction309___action};
35217 val_t variable[12];
35218 struct WBT_ **closurevariable = NULL;
35219 trace.prev = tracehead; tracehead = &trace;
35220 trace.file = LOCATE_parser;
35221 /* Register variable[0]: Local variable */
35222 variable[0] = self;
35223 /* Register variable[1]: Local variable */
35224 variable[1] = param0;
35225 /* Register variable[2]: Method return value and escape marker */
35226 /* Register variable[3]: Local variable */
35227 variable[3] = NIT_NULL /*null*/;
35228 /* Register variable[4]: Local variable */
35229 /* Register variable[5]: Result */
35230 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35231 variable[4] = variable[5];
35232 /* Register variable[5]: Local variable */
35233 /* Register variable[6]: Result */
35234 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35235 variable[5] = variable[6];
35236 /* Register variable[6]: Local variable */
35237 /* Register variable[7]: Result */
35238 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35239 variable[6] = variable[7];
35240 /* Register variable[7]: Local variable */
35241 /* Register variable[8]: Result */
35242 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35243 variable[7] = variable[8];
35244 /* Register variable[8]: Local variable */
35245 /* Register variable[9]: Result */
35246 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
35247 variable[8] = variable[9];
35248 /* Register variable[9]: Local variable */
35249 variable[9] = variable[6] /*nodearraylist2*/;
35250 /* Register variable[10]: Result */
35251 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35252 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction309___action, LOCATE_parser, 14137); nit_exit(1);}
35253 /* Register variable[10]: Result */
35254 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::==*/)))))));
35255 if (UNTAG_Bool(variable[10])) { /*if*/
35256 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
35257 }
35258 /* Register variable[10]: Local variable */
35259 /* Register variable[11]: Result */
35260 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/) /*new ABlockExpr*/;
35261 variable[10] = variable[11];
35262 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
35263 /* Register variable[11]: Result */
35264 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
35265 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
35266 return_label650: while(false);
35267 tracehead = trace.prev;
35268 return;
35269 }
35270 void parser___ReduceAction309___init(val_t self, int* init_table) {
35271 struct trace_t trace = {NULL, NULL, 14147, LOCATE_parser___ReduceAction309___init};
35272 val_t variable[2];
35273 struct WBT_ **closurevariable = NULL;
35274 trace.prev = tracehead; tracehead = &trace;
35275 trace.file = LOCATE_parser;
35276 /* Register variable[0]: Local variable */
35277 variable[0] = self;
35278 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction309].i]) return;
35279 /* Register variable[1]: Method return value and escape marker */
35280 return_label651: while(false);
35281 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction309].i] = 1;
35282 tracehead = trace.prev;
35283 return;
35284 }
35285 void parser___ReduceAction310___action(val_t self, val_t param0) {
35286 struct trace_t trace = {NULL, NULL, 14151, LOCATE_parser___ReduceAction310___action};
35287 val_t variable[14];
35288 struct WBT_ **closurevariable = NULL;
35289 trace.prev = tracehead; tracehead = &trace;
35290 trace.file = LOCATE_parser;
35291 /* Register variable[0]: Local variable */
35292 variable[0] = self;
35293 /* Register variable[1]: Local variable */
35294 variable[1] = param0;
35295 /* Register variable[2]: Method return value and escape marker */
35296 /* Register variable[3]: Local variable */
35297 variable[3] = NIT_NULL /*null*/;
35298 /* Register variable[4]: Local variable */
35299 /* Register variable[5]: Result */
35300 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35301 variable[4] = variable[5];
35302 /* Register variable[5]: Local variable */
35303 /* Register variable[6]: Result */
35304 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35305 variable[5] = variable[6];
35306 /* Register variable[6]: Local variable */
35307 /* Register variable[7]: Result */
35308 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35309 variable[6] = variable[7];
35310 /* Register variable[7]: Local variable */
35311 /* Register variable[8]: Result */
35312 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35313 variable[7] = variable[8];
35314 /* Register variable[8]: Local variable */
35315 /* Register variable[9]: Result */
35316 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35317 variable[8] = variable[9];
35318 /* Register variable[9]: Local variable */
35319 /* Register variable[10]: Result */
35320 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
35321 variable[9] = variable[10];
35322 /* Register variable[10]: Local variable */
35323 variable[10] = variable[7] /*nodearraylist2*/;
35324 /* Register variable[11]: Result */
35325 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35326 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 14161); nit_exit(1);}
35327 /* Register variable[11]: Local variable */
35328 variable[11] = variable[6] /*nodearraylist3*/;
35329 /* Register variable[12]: Result */
35330 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
35331 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction310___action, LOCATE_parser, 14163); nit_exit(1);}
35332 /* Register variable[12]: Result */
35333 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::==*/)))))));
35334 if (UNTAG_Bool(variable[12])) { /*if*/
35335 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
35336 }
35337 /* Register variable[12]: Result */
35338 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::==*/)))))));
35339 if (UNTAG_Bool(variable[12])) { /*if*/
35340 /* Register variable[12]: Result */
35341 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
35342 if (UNTAG_Bool(variable[12])) { /*if*/
35343 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
35344 } else { /*if*/
35345 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
35346 }
35347 }
35348 /* Register variable[12]: Local variable */
35349 /* Register variable[13]: Result */
35350 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/) /*new ABlockExpr*/;
35351 variable[12] = variable[13];
35352 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
35353 /* Register variable[13]: Result */
35354 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
35355 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
35356 return_label652: while(false);
35357 tracehead = trace.prev;
35358 return;
35359 }
35360 void parser___ReduceAction310___init(val_t self, int* init_table) {
35361 struct trace_t trace = {NULL, NULL, 14180, LOCATE_parser___ReduceAction310___init};
35362 val_t variable[2];
35363 struct WBT_ **closurevariable = NULL;
35364 trace.prev = tracehead; tracehead = &trace;
35365 trace.file = LOCATE_parser;
35366 /* Register variable[0]: Local variable */
35367 variable[0] = self;
35368 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction310].i]) return;
35369 /* Register variable[1]: Method return value and escape marker */
35370 return_label653: while(false);
35371 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction310].i] = 1;
35372 tracehead = trace.prev;
35373 return;
35374 }
35375 void parser___ReduceAction311___action(val_t self, val_t param0) {
35376 struct trace_t trace = {NULL, NULL, 14184, LOCATE_parser___ReduceAction311___action};
35377 val_t variable[9];
35378 struct WBT_ **closurevariable = NULL;
35379 trace.prev = tracehead; tracehead = &trace;
35380 trace.file = LOCATE_parser;
35381 /* Register variable[0]: Local variable */
35382 variable[0] = self;
35383 /* Register variable[1]: Local variable */
35384 variable[1] = param0;
35385 /* Register variable[2]: Method return value and escape marker */
35386 /* Register variable[3]: Local variable */
35387 variable[3] = NIT_NULL /*null*/;
35388 /* Register variable[4]: Local variable */
35389 /* Register variable[5]: Result */
35390 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35391 variable[4] = variable[5];
35392 /* Register variable[5]: Local variable */
35393 /* Register variable[6]: Result */
35394 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35395 variable[5] = variable[6];
35396 /* Register variable[6]: Local variable */
35397 /* Register variable[7]: Result */
35398 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
35399 variable[6] = variable[7];
35400 /* Register variable[7]: Local variable */
35401 /* Register variable[8]: Result */
35402 variable[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[6] /*listnode2*/) /*new ABlockExpr*/;
35403 variable[7] = variable[8];
35404 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
35405 /* Register variable[8]: Result */
35406 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
35407 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
35408 return_label654: while(false);
35409 tracehead = trace.prev;
35410 return;
35411 }
35412 void parser___ReduceAction311___init(val_t self, int* init_table) {
35413 struct trace_t trace = {NULL, NULL, 14196, LOCATE_parser___ReduceAction311___init};
35414 val_t variable[2];
35415 struct WBT_ **closurevariable = NULL;
35416 trace.prev = tracehead; tracehead = &trace;
35417 trace.file = LOCATE_parser;
35418 /* Register variable[0]: Local variable */
35419 variable[0] = self;
35420 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction311].i]) return;
35421 /* Register variable[1]: Method return value and escape marker */
35422 return_label655: while(false);
35423 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction311].i] = 1;
35424 tracehead = trace.prev;
35425 return;
35426 }
35427 void parser___ReduceAction312___action(val_t self, val_t param0) {
35428 struct trace_t trace = {NULL, NULL, 14200, LOCATE_parser___ReduceAction312___action};
35429 val_t variable[8];
35430 struct WBT_ **closurevariable = NULL;
35431 trace.prev = tracehead; tracehead = &trace;
35432 trace.file = LOCATE_parser;
35433 /* Register variable[0]: Local variable */
35434 variable[0] = self;
35435 /* Register variable[1]: Local variable */
35436 variable[1] = param0;
35437 /* Register variable[2]: Method return value and escape marker */
35438 /* Register variable[3]: Local variable */
35439 variable[3] = NIT_NULL /*null*/;
35440 /* Register variable[4]: Local variable */
35441 /* Register variable[5]: Result */
35442 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35443 variable[4] = variable[5];
35444 /* Register variable[5]: Local variable */
35445 /* Register variable[6]: Result */
35446 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
35447 variable[5] = variable[6];
35448 /* Register variable[6]: Local variable */
35449 /* Register variable[7]: Result */
35450 variable[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[5] /*listnode2*/) /*new ABlockExpr*/;
35451 variable[6] = variable[7];
35452 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35453 /* Register variable[7]: Result */
35454 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(26)) /*Parser::go_to*/;
35455 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35456 return_label656: while(false);
35457 tracehead = trace.prev;
35458 return;
35459 }
35460 void parser___ReduceAction312___init(val_t self, int* init_table) {
35461 struct trace_t trace = {NULL, NULL, 14211, LOCATE_parser___ReduceAction312___init};
35462 val_t variable[2];
35463 struct WBT_ **closurevariable = NULL;
35464 trace.prev = tracehead; tracehead = &trace;
35465 trace.file = LOCATE_parser;
35466 /* Register variable[0]: Local variable */
35467 variable[0] = self;
35468 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction312].i]) return;
35469 /* Register variable[1]: Method return value and escape marker */
35470 return_label657: while(false);
35471 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction312].i] = 1;
35472 tracehead = trace.prev;
35473 return;
35474 }
35475 void parser___ReduceAction313___action(val_t self, val_t param0) {
35476 struct trace_t trace = {NULL, NULL, 14215, LOCATE_parser___ReduceAction313___action};
35477 val_t variable[8];
35478 struct WBT_ **closurevariable = NULL;
35479 trace.prev = tracehead; tracehead = &trace;
35480 trace.file = LOCATE_parser;
35481 /* Register variable[0]: Local variable */
35482 variable[0] = self;
35483 /* Register variable[1]: Local variable */
35484 variable[1] = param0;
35485 /* Register variable[2]: Method return value and escape marker */
35486 /* Register variable[3]: Local variable */
35487 variable[3] = NIT_NULL /*null*/;
35488 /* Register variable[4]: Local variable */
35489 /* Register variable[5]: Result */
35490 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35491 variable[4] = variable[5];
35492 /* Register variable[5]: Local variable */
35493 /* Register variable[6]: Result */
35494 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35495 variable[5] = variable[6];
35496 /* Register variable[6]: Local variable */
35497 variable[6] = variable[4] /*nodearraylist2*/;
35498 /* Register variable[7]: Result */
35499 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35500 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction313___action, LOCATE_parser, 14221); nit_exit(1);}
35501 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35502 /* Register variable[7]: Result */
35503 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(27)) /*Parser::go_to*/;
35504 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35505 return_label658: while(false);
35506 tracehead = trace.prev;
35507 return;
35508 }
35509 void parser___ReduceAction313___init(val_t self, int* init_table) {
35510 struct trace_t trace = {NULL, NULL, 14225, LOCATE_parser___ReduceAction313___init};
35511 val_t variable[2];
35512 struct WBT_ **closurevariable = NULL;
35513 trace.prev = tracehead; tracehead = &trace;
35514 trace.file = LOCATE_parser;
35515 /* Register variable[0]: Local variable */
35516 variable[0] = self;
35517 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction313].i]) return;
35518 /* Register variable[1]: Method return value and escape marker */
35519 return_label659: while(false);
35520 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction313].i] = 1;
35521 tracehead = trace.prev;
35522 return;
35523 }
35524 void parser___ReduceAction314___action(val_t self, val_t param0) {
35525 struct trace_t trace = {NULL, NULL, 14229, LOCATE_parser___ReduceAction314___action};
35526 val_t variable[7];
35527 struct WBT_ **closurevariable = NULL;
35528 trace.prev = tracehead; tracehead = &trace;
35529 trace.file = LOCATE_parser;
35530 /* Register variable[0]: Local variable */
35531 variable[0] = self;
35532 /* Register variable[1]: Local variable */
35533 variable[1] = param0;
35534 /* Register variable[2]: Method return value and escape marker */
35535 /* Register variable[3]: Local variable */
35536 variable[3] = NIT_NULL /*null*/;
35537 /* Register variable[4]: Local variable */
35538 /* Register variable[5]: Result */
35539 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35540 variable[4] = variable[5];
35541 /* Register variable[5]: Local variable */
35542 variable[5] = variable[4] /*nodearraylist1*/;
35543 /* Register variable[6]: Result */
35544 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35545 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction314___action, LOCATE_parser, 14234); nit_exit(1);}
35546 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35547 /* Register variable[6]: Result */
35548 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35549 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35550 return_label660: while(false);
35551 tracehead = trace.prev;
35552 return;
35553 }
35554 void parser___ReduceAction314___init(val_t self, int* init_table) {
35555 struct trace_t trace = {NULL, NULL, 14238, LOCATE_parser___ReduceAction314___init};
35556 val_t variable[2];
35557 struct WBT_ **closurevariable = NULL;
35558 trace.prev = tracehead; tracehead = &trace;
35559 trace.file = LOCATE_parser;
35560 /* Register variable[0]: Local variable */
35561 variable[0] = self;
35562 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction314].i]) return;
35563 /* Register variable[1]: Method return value and escape marker */
35564 return_label661: while(false);
35565 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction314].i] = 1;
35566 tracehead = trace.prev;
35567 return;
35568 }
35569 void parser___ReduceAction315___action(val_t self, val_t param0) {
35570 struct trace_t trace = {NULL, NULL, 14242, LOCATE_parser___ReduceAction315___action};
35571 val_t variable[7];
35572 struct WBT_ **closurevariable = NULL;
35573 trace.prev = tracehead; tracehead = &trace;
35574 trace.file = LOCATE_parser;
35575 /* Register variable[0]: Local variable */
35576 variable[0] = self;
35577 /* Register variable[1]: Local variable */
35578 variable[1] = param0;
35579 /* Register variable[2]: Method return value and escape marker */
35580 /* Register variable[3]: Local variable */
35581 variable[3] = NIT_NULL /*null*/;
35582 /* Register variable[4]: Local variable */
35583 /* Register variable[5]: Result */
35584 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35585 variable[4] = variable[5];
35586 /* Register variable[5]: Local variable */
35587 variable[5] = variable[4] /*nodearraylist1*/;
35588 /* Register variable[6]: Result */
35589 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35590 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction315___action, LOCATE_parser, 14247); nit_exit(1);}
35591 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
35592 /* Register variable[6]: Result */
35593 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35594 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
35595 return_label662: while(false);
35596 tracehead = trace.prev;
35597 return;
35598 }
35599 void parser___ReduceAction315___init(val_t self, int* init_table) {
35600 struct trace_t trace = {NULL, NULL, 14251, LOCATE_parser___ReduceAction315___init};
35601 val_t variable[2];
35602 struct WBT_ **closurevariable = NULL;
35603 trace.prev = tracehead; tracehead = &trace;
35604 trace.file = LOCATE_parser;
35605 /* Register variable[0]: Local variable */
35606 variable[0] = self;
35607 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction315].i]) return;
35608 /* Register variable[1]: Method return value and escape marker */
35609 return_label663: while(false);
35610 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction315].i] = 1;
35611 tracehead = trace.prev;
35612 return;
35613 }
35614 void parser___ReduceAction316___action(val_t self, val_t param0) {
35615 struct trace_t trace = {NULL, NULL, 14255, LOCATE_parser___ReduceAction316___action};
35616 val_t variable[8];
35617 struct WBT_ **closurevariable = NULL;
35618 trace.prev = tracehead; tracehead = &trace;
35619 trace.file = LOCATE_parser;
35620 /* Register variable[0]: Local variable */
35621 variable[0] = self;
35622 /* Register variable[1]: Local variable */
35623 variable[1] = param0;
35624 /* Register variable[2]: Method return value and escape marker */
35625 /* Register variable[3]: Local variable */
35626 variable[3] = NIT_NULL /*null*/;
35627 /* Register variable[4]: Local variable */
35628 /* Register variable[5]: Result */
35629 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35630 variable[4] = variable[5];
35631 /* Register variable[5]: Local variable */
35632 variable[5] = variable[4] /*nodearraylist1*/;
35633 /* Register variable[6]: Result */
35634 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
35635 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction316___action, LOCATE_parser, 14260); nit_exit(1);}
35636 /* Register variable[6]: Local variable */
35637 /* Register variable[7]: Result */
35638 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/) /*new AReturnExpr*/;
35639 variable[6] = variable[7];
35640 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35641 /* Register variable[7]: Result */
35642 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35643 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35644 return_label664: while(false);
35645 tracehead = trace.prev;
35646 return;
35647 }
35648 void parser___ReduceAction316___init(val_t self, int* init_table) {
35649 struct trace_t trace = {NULL, NULL, 14268, LOCATE_parser___ReduceAction316___init};
35650 val_t variable[2];
35651 struct WBT_ **closurevariable = NULL;
35652 trace.prev = tracehead; tracehead = &trace;
35653 trace.file = LOCATE_parser;
35654 /* Register variable[0]: Local variable */
35655 variable[0] = self;
35656 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction316].i]) return;
35657 /* Register variable[1]: Method return value and escape marker */
35658 return_label665: while(false);
35659 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction316].i] = 1;
35660 tracehead = trace.prev;
35661 return;
35662 }
35663 void parser___ReduceAction317___action(val_t self, val_t param0) {
35664 struct trace_t trace = {NULL, NULL, 14272, LOCATE_parser___ReduceAction317___action};
35665 val_t variable[10];
35666 struct WBT_ **closurevariable = NULL;
35667 trace.prev = tracehead; tracehead = &trace;
35668 trace.file = LOCATE_parser;
35669 /* Register variable[0]: Local variable */
35670 variable[0] = self;
35671 /* Register variable[1]: Local variable */
35672 variable[1] = param0;
35673 /* Register variable[2]: Method return value and escape marker */
35674 /* Register variable[3]: Local variable */
35675 variable[3] = NIT_NULL /*null*/;
35676 /* Register variable[4]: Local variable */
35677 /* Register variable[5]: Result */
35678 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35679 variable[4] = variable[5];
35680 /* Register variable[5]: Local variable */
35681 /* Register variable[6]: Result */
35682 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35683 variable[5] = variable[6];
35684 /* Register variable[6]: Local variable */
35685 variable[6] = variable[5] /*nodearraylist1*/;
35686 /* Register variable[7]: Result */
35687 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
35688 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 14278); nit_exit(1);}
35689 /* Register variable[7]: Local variable */
35690 variable[7] = variable[4] /*nodearraylist2*/;
35691 /* Register variable[8]: Result */
35692 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35693 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction317___action, LOCATE_parser, 14280); nit_exit(1);}
35694 /* Register variable[8]: Local variable */
35695 /* Register variable[9]: Result */
35696 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/) /*new AReturnExpr*/;
35697 variable[8] = variable[9];
35698 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
35699 /* Register variable[9]: Result */
35700 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35701 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35702 return_label666: while(false);
35703 tracehead = trace.prev;
35704 return;
35705 }
35706 void parser___ReduceAction317___init(val_t self, int* init_table) {
35707 struct trace_t trace = {NULL, NULL, 14288, LOCATE_parser___ReduceAction317___init};
35708 val_t variable[2];
35709 struct WBT_ **closurevariable = NULL;
35710 trace.prev = tracehead; tracehead = &trace;
35711 trace.file = LOCATE_parser;
35712 /* Register variable[0]: Local variable */
35713 variable[0] = self;
35714 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction317].i]) return;
35715 /* Register variable[1]: Method return value and escape marker */
35716 return_label667: while(false);
35717 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction317].i] = 1;
35718 tracehead = trace.prev;
35719 return;
35720 }
35721 void parser___ReduceAction318___action(val_t self, val_t param0) {
35722 struct trace_t trace = {NULL, NULL, 14292, LOCATE_parser___ReduceAction318___action};
35723 val_t variable[8];
35724 struct WBT_ **closurevariable = NULL;
35725 trace.prev = tracehead; tracehead = &trace;
35726 trace.file = LOCATE_parser;
35727 /* Register variable[0]: Local variable */
35728 variable[0] = self;
35729 /* Register variable[1]: Local variable */
35730 variable[1] = param0;
35731 /* Register variable[2]: Method return value and escape marker */
35732 /* Register variable[3]: Local variable */
35733 variable[3] = NIT_NULL /*null*/;
35734 /* Register variable[4]: Local variable */
35735 /* Register variable[5]: Result */
35736 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35737 variable[4] = variable[5];
35738 /* Register variable[5]: Local variable */
35739 variable[5] = variable[4] /*nodearraylist1*/;
35740 /* Register variable[6]: Result */
35741 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
35742 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction318___action, LOCATE_parser, 14297); nit_exit(1);}
35743 /* Register variable[6]: Local variable */
35744 /* Register variable[7]: Result */
35745 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/) /*new ABreakExpr*/;
35746 variable[6] = variable[7];
35747 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35748 /* Register variable[7]: Result */
35749 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35750 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35751 return_label668: while(false);
35752 tracehead = trace.prev;
35753 return;
35754 }
35755 void parser___ReduceAction318___init(val_t self, int* init_table) {
35756 struct trace_t trace = {NULL, NULL, 14305, LOCATE_parser___ReduceAction318___init};
35757 val_t variable[2];
35758 struct WBT_ **closurevariable = NULL;
35759 trace.prev = tracehead; tracehead = &trace;
35760 trace.file = LOCATE_parser;
35761 /* Register variable[0]: Local variable */
35762 variable[0] = self;
35763 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction318].i]) return;
35764 /* Register variable[1]: Method return value and escape marker */
35765 return_label669: while(false);
35766 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction318].i] = 1;
35767 tracehead = trace.prev;
35768 return;
35769 }
35770 void parser___ReduceAction319___action(val_t self, val_t param0) {
35771 struct trace_t trace = {NULL, NULL, 14309, LOCATE_parser___ReduceAction319___action};
35772 val_t variable[10];
35773 struct WBT_ **closurevariable = NULL;
35774 trace.prev = tracehead; tracehead = &trace;
35775 trace.file = LOCATE_parser;
35776 /* Register variable[0]: Local variable */
35777 variable[0] = self;
35778 /* Register variable[1]: Local variable */
35779 variable[1] = param0;
35780 /* Register variable[2]: Method return value and escape marker */
35781 /* Register variable[3]: Local variable */
35782 variable[3] = NIT_NULL /*null*/;
35783 /* Register variable[4]: Local variable */
35784 /* Register variable[5]: Result */
35785 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35786 variable[4] = variable[5];
35787 /* Register variable[5]: Local variable */
35788 /* Register variable[6]: Result */
35789 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35790 variable[5] = variable[6];
35791 /* Register variable[6]: Local variable */
35792 variable[6] = variable[5] /*nodearraylist1*/;
35793 /* Register variable[7]: Result */
35794 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
35795 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 14315); nit_exit(1);}
35796 /* Register variable[7]: Local variable */
35797 variable[7] = variable[4] /*nodearraylist2*/;
35798 /* Register variable[8]: Result */
35799 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35800 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction319___action, LOCATE_parser, 14317); nit_exit(1);}
35801 /* Register variable[8]: Local variable */
35802 /* Register variable[9]: Result */
35803 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/) /*new ABreakExpr*/;
35804 variable[8] = variable[9];
35805 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
35806 /* Register variable[9]: Result */
35807 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35808 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35809 return_label670: while(false);
35810 tracehead = trace.prev;
35811 return;
35812 }
35813 void parser___ReduceAction319___init(val_t self, int* init_table) {
35814 struct trace_t trace = {NULL, NULL, 14325, LOCATE_parser___ReduceAction319___init};
35815 val_t variable[2];
35816 struct WBT_ **closurevariable = NULL;
35817 trace.prev = tracehead; tracehead = &trace;
35818 trace.file = LOCATE_parser;
35819 /* Register variable[0]: Local variable */
35820 variable[0] = self;
35821 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction319].i]) return;
35822 /* Register variable[1]: Method return value and escape marker */
35823 return_label671: while(false);
35824 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction319].i] = 1;
35825 tracehead = trace.prev;
35826 return;
35827 }
35828 void parser___ReduceAction320___action(val_t self, val_t param0) {
35829 struct trace_t trace = {NULL, NULL, 14329, LOCATE_parser___ReduceAction320___action};
35830 val_t variable[8];
35831 struct WBT_ **closurevariable = NULL;
35832 trace.prev = tracehead; tracehead = &trace;
35833 trace.file = LOCATE_parser;
35834 /* Register variable[0]: Local variable */
35835 variable[0] = self;
35836 /* Register variable[1]: Local variable */
35837 variable[1] = param0;
35838 /* Register variable[2]: Method return value and escape marker */
35839 /* Register variable[3]: Local variable */
35840 variable[3] = NIT_NULL /*null*/;
35841 /* Register variable[4]: Local variable */
35842 /* Register variable[5]: Result */
35843 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35844 variable[4] = variable[5];
35845 /* Register variable[5]: Local variable */
35846 variable[5] = variable[4] /*nodearraylist1*/;
35847 /* Register variable[6]: Result */
35848 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
35849 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction320___action, LOCATE_parser, 14334); nit_exit(1);}
35850 /* Register variable[6]: Local variable */
35851 /* Register variable[7]: Result */
35852 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/) /*new AAbortExpr*/;
35853 variable[6] = variable[7];
35854 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35855 /* Register variable[7]: Result */
35856 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35857 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35858 return_label672: while(false);
35859 tracehead = trace.prev;
35860 return;
35861 }
35862 void parser___ReduceAction320___init(val_t self, int* init_table) {
35863 struct trace_t trace = {NULL, NULL, 14341, LOCATE_parser___ReduceAction320___init};
35864 val_t variable[2];
35865 struct WBT_ **closurevariable = NULL;
35866 trace.prev = tracehead; tracehead = &trace;
35867 trace.file = LOCATE_parser;
35868 /* Register variable[0]: Local variable */
35869 variable[0] = self;
35870 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction320].i]) return;
35871 /* Register variable[1]: Method return value and escape marker */
35872 return_label673: while(false);
35873 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction320].i] = 1;
35874 tracehead = trace.prev;
35875 return;
35876 }
35877 void parser___ReduceAction321___action(val_t self, val_t param0) {
35878 struct trace_t trace = {NULL, NULL, 14345, LOCATE_parser___ReduceAction321___action};
35879 val_t variable[8];
35880 struct WBT_ **closurevariable = NULL;
35881 trace.prev = tracehead; tracehead = &trace;
35882 trace.file = LOCATE_parser;
35883 /* Register variable[0]: Local variable */
35884 variable[0] = self;
35885 /* Register variable[1]: Local variable */
35886 variable[1] = param0;
35887 /* Register variable[2]: Method return value and escape marker */
35888 /* Register variable[3]: Local variable */
35889 variable[3] = NIT_NULL /*null*/;
35890 /* Register variable[4]: Local variable */
35891 /* Register variable[5]: Result */
35892 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35893 variable[4] = variable[5];
35894 /* Register variable[5]: Local variable */
35895 variable[5] = variable[4] /*nodearraylist1*/;
35896 /* Register variable[6]: Result */
35897 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
35898 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction321___action, LOCATE_parser, 14350); nit_exit(1);}
35899 /* Register variable[6]: Local variable */
35900 /* Register variable[7]: Result */
35901 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/) /*new AContinueExpr*/;
35902 variable[6] = variable[7];
35903 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
35904 /* Register variable[7]: Result */
35905 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35906 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
35907 return_label674: while(false);
35908 tracehead = trace.prev;
35909 return;
35910 }
35911 void parser___ReduceAction321___init(val_t self, int* init_table) {
35912 struct trace_t trace = {NULL, NULL, 14358, LOCATE_parser___ReduceAction321___init};
35913 val_t variable[2];
35914 struct WBT_ **closurevariable = NULL;
35915 trace.prev = tracehead; tracehead = &trace;
35916 trace.file = LOCATE_parser;
35917 /* Register variable[0]: Local variable */
35918 variable[0] = self;
35919 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction321].i]) return;
35920 /* Register variable[1]: Method return value and escape marker */
35921 return_label675: while(false);
35922 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction321].i] = 1;
35923 tracehead = trace.prev;
35924 return;
35925 }
35926 void parser___ReduceAction322___action(val_t self, val_t param0) {
35927 struct trace_t trace = {NULL, NULL, 14362, LOCATE_parser___ReduceAction322___action};
35928 val_t variable[10];
35929 struct WBT_ **closurevariable = NULL;
35930 trace.prev = tracehead; tracehead = &trace;
35931 trace.file = LOCATE_parser;
35932 /* Register variable[0]: Local variable */
35933 variable[0] = self;
35934 /* Register variable[1]: Local variable */
35935 variable[1] = param0;
35936 /* Register variable[2]: Method return value and escape marker */
35937 /* Register variable[3]: Local variable */
35938 variable[3] = NIT_NULL /*null*/;
35939 /* Register variable[4]: Local variable */
35940 /* Register variable[5]: Result */
35941 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35942 variable[4] = variable[5];
35943 /* Register variable[5]: Local variable */
35944 /* Register variable[6]: Result */
35945 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
35946 variable[5] = variable[6];
35947 /* Register variable[6]: Local variable */
35948 variable[6] = variable[5] /*nodearraylist1*/;
35949 /* Register variable[7]: Result */
35950 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
35951 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 14368); nit_exit(1);}
35952 /* Register variable[7]: Local variable */
35953 variable[7] = variable[4] /*nodearraylist2*/;
35954 /* Register variable[8]: Result */
35955 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
35956 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction322___action, LOCATE_parser, 14370); nit_exit(1);}
35957 /* Register variable[8]: Local variable */
35958 /* Register variable[9]: Result */
35959 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/) /*new AContinueExpr*/;
35960 variable[8] = variable[9];
35961 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
35962 /* Register variable[9]: Result */
35963 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
35964 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
35965 return_label676: while(false);
35966 tracehead = trace.prev;
35967 return;
35968 }
35969 void parser___ReduceAction322___init(val_t self, int* init_table) {
35970 struct trace_t trace = {NULL, NULL, 14378, LOCATE_parser___ReduceAction322___init};
35971 val_t variable[2];
35972 struct WBT_ **closurevariable = NULL;
35973 trace.prev = tracehead; tracehead = &trace;
35974 trace.file = LOCATE_parser;
35975 /* Register variable[0]: Local variable */
35976 variable[0] = self;
35977 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction322].i]) return;
35978 /* Register variable[1]: Method return value and escape marker */
35979 return_label677: while(false);
35980 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction322].i] = 1;
35981 tracehead = trace.prev;
35982 return;
35983 }
35984 void parser___ReduceAction323___action(val_t self, val_t param0) {
35985 struct trace_t trace = {NULL, NULL, 14382, LOCATE_parser___ReduceAction323___action};
35986 val_t variable[7];
35987 struct WBT_ **closurevariable = NULL;
35988 trace.prev = tracehead; tracehead = &trace;
35989 trace.file = LOCATE_parser;
35990 /* Register variable[0]: Local variable */
35991 variable[0] = self;
35992 /* Register variable[1]: Local variable */
35993 variable[1] = param0;
35994 /* Register variable[2]: Method return value and escape marker */
35995 /* Register variable[3]: Local variable */
35996 variable[3] = NIT_NULL /*null*/;
35997 /* Register variable[4]: Local variable */
35998 /* Register variable[5]: Result */
35999 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36000 variable[4] = variable[5];
36001 /* Register variable[5]: Local variable */
36002 variable[5] = variable[4] /*nodearraylist1*/;
36003 /* Register variable[6]: Result */
36004 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36005 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction323___action, LOCATE_parser, 14387); nit_exit(1);}
36006 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36007 /* Register variable[6]: Result */
36008 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36009 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36010 return_label678: while(false);
36011 tracehead = trace.prev;
36012 return;
36013 }
36014 void parser___ReduceAction323___init(val_t self, int* init_table) {
36015 struct trace_t trace = {NULL, NULL, 14391, LOCATE_parser___ReduceAction323___init};
36016 val_t variable[2];
36017 struct WBT_ **closurevariable = NULL;
36018 trace.prev = tracehead; tracehead = &trace;
36019 trace.file = LOCATE_parser;
36020 /* Register variable[0]: Local variable */
36021 variable[0] = self;
36022 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction323].i]) return;
36023 /* Register variable[1]: Method return value and escape marker */
36024 return_label679: while(false);
36025 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction323].i] = 1;
36026 tracehead = trace.prev;
36027 return;
36028 }
36029 void parser___ReduceAction324___action(val_t self, val_t param0) {
36030 struct trace_t trace = {NULL, NULL, 14395, LOCATE_parser___ReduceAction324___action};
36031 val_t variable[7];
36032 struct WBT_ **closurevariable = NULL;
36033 trace.prev = tracehead; tracehead = &trace;
36034 trace.file = LOCATE_parser;
36035 /* Register variable[0]: Local variable */
36036 variable[0] = self;
36037 /* Register variable[1]: Local variable */
36038 variable[1] = param0;
36039 /* Register variable[2]: Method return value and escape marker */
36040 /* Register variable[3]: Local variable */
36041 variable[3] = NIT_NULL /*null*/;
36042 /* Register variable[4]: Local variable */
36043 /* Register variable[5]: Result */
36044 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36045 variable[4] = variable[5];
36046 /* Register variable[5]: Local variable */
36047 variable[5] = variable[4] /*nodearraylist1*/;
36048 /* Register variable[6]: Result */
36049 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36050 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction324___action, LOCATE_parser, 14400); nit_exit(1);}
36051 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36052 /* Register variable[6]: Result */
36053 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36054 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36055 return_label680: while(false);
36056 tracehead = trace.prev;
36057 return;
36058 }
36059 void parser___ReduceAction324___init(val_t self, int* init_table) {
36060 struct trace_t trace = {NULL, NULL, 14404, LOCATE_parser___ReduceAction324___init};
36061 val_t variable[2];
36062 struct WBT_ **closurevariable = NULL;
36063 trace.prev = tracehead; tracehead = &trace;
36064 trace.file = LOCATE_parser;
36065 /* Register variable[0]: Local variable */
36066 variable[0] = self;
36067 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction324].i]) return;
36068 /* Register variable[1]: Method return value and escape marker */
36069 return_label681: while(false);
36070 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction324].i] = 1;
36071 tracehead = trace.prev;
36072 return;
36073 }
36074 void parser___ReduceAction325___action(val_t self, val_t param0) {
36075 struct trace_t trace = {NULL, NULL, 14408, LOCATE_parser___ReduceAction325___action};
36076 val_t variable[7];
36077 struct WBT_ **closurevariable = NULL;
36078 trace.prev = tracehead; tracehead = &trace;
36079 trace.file = LOCATE_parser;
36080 /* Register variable[0]: Local variable */
36081 variable[0] = self;
36082 /* Register variable[1]: Local variable */
36083 variable[1] = param0;
36084 /* Register variable[2]: Method return value and escape marker */
36085 /* Register variable[3]: Local variable */
36086 variable[3] = NIT_NULL /*null*/;
36087 /* Register variable[4]: Local variable */
36088 /* Register variable[5]: Result */
36089 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36090 variable[4] = variable[5];
36091 /* Register variable[5]: Local variable */
36092 variable[5] = variable[4] /*nodearraylist1*/;
36093 /* Register variable[6]: Result */
36094 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36095 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction325___action, LOCATE_parser, 14413); nit_exit(1);}
36096 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36097 /* Register variable[6]: Result */
36098 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36099 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36100 return_label682: while(false);
36101 tracehead = trace.prev;
36102 return;
36103 }
36104 void parser___ReduceAction325___init(val_t self, int* init_table) {
36105 struct trace_t trace = {NULL, NULL, 14417, LOCATE_parser___ReduceAction325___init};
36106 val_t variable[2];
36107 struct WBT_ **closurevariable = NULL;
36108 trace.prev = tracehead; tracehead = &trace;
36109 trace.file = LOCATE_parser;
36110 /* Register variable[0]: Local variable */
36111 variable[0] = self;
36112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction325].i]) return;
36113 /* Register variable[1]: Method return value and escape marker */
36114 return_label683: while(false);
36115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction325].i] = 1;
36116 tracehead = trace.prev;
36117 return;
36118 }
36119 void parser___ReduceAction326___action(val_t self, val_t param0) {
36120 struct trace_t trace = {NULL, NULL, 14421, LOCATE_parser___ReduceAction326___action};
36121 val_t variable[7];
36122 struct WBT_ **closurevariable = NULL;
36123 trace.prev = tracehead; tracehead = &trace;
36124 trace.file = LOCATE_parser;
36125 /* Register variable[0]: Local variable */
36126 variable[0] = self;
36127 /* Register variable[1]: Local variable */
36128 variable[1] = param0;
36129 /* Register variable[2]: Method return value and escape marker */
36130 /* Register variable[3]: Local variable */
36131 variable[3] = NIT_NULL /*null*/;
36132 /* Register variable[4]: Local variable */
36133 /* Register variable[5]: Result */
36134 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36135 variable[4] = variable[5];
36136 /* Register variable[5]: Local variable */
36137 variable[5] = variable[4] /*nodearraylist1*/;
36138 /* Register variable[6]: Result */
36139 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36140 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction326___action, LOCATE_parser, 14426); nit_exit(1);}
36141 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36142 /* Register variable[6]: Result */
36143 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36144 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36145 return_label684: while(false);
36146 tracehead = trace.prev;
36147 return;
36148 }
36149 void parser___ReduceAction326___init(val_t self, int* init_table) {
36150 struct trace_t trace = {NULL, NULL, 14430, LOCATE_parser___ReduceAction326___init};
36151 val_t variable[2];
36152 struct WBT_ **closurevariable = NULL;
36153 trace.prev = tracehead; tracehead = &trace;
36154 trace.file = LOCATE_parser;
36155 /* Register variable[0]: Local variable */
36156 variable[0] = self;
36157 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction326].i]) return;
36158 /* Register variable[1]: Method return value and escape marker */
36159 return_label685: while(false);
36160 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction326].i] = 1;
36161 tracehead = trace.prev;
36162 return;
36163 }
36164 void parser___ReduceAction327___action(val_t self, val_t param0) {
36165 struct trace_t trace = {NULL, NULL, 14434, LOCATE_parser___ReduceAction327___action};
36166 val_t variable[7];
36167 struct WBT_ **closurevariable = NULL;
36168 trace.prev = tracehead; tracehead = &trace;
36169 trace.file = LOCATE_parser;
36170 /* Register variable[0]: Local variable */
36171 variable[0] = self;
36172 /* Register variable[1]: Local variable */
36173 variable[1] = param0;
36174 /* Register variable[2]: Method return value and escape marker */
36175 /* Register variable[3]: Local variable */
36176 variable[3] = NIT_NULL /*null*/;
36177 /* Register variable[4]: Local variable */
36178 /* Register variable[5]: Result */
36179 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36180 variable[4] = variable[5];
36181 /* Register variable[5]: Local variable */
36182 variable[5] = variable[4] /*nodearraylist1*/;
36183 /* Register variable[6]: Result */
36184 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36185 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction327___action, LOCATE_parser, 14439); nit_exit(1);}
36186 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
36187 /* Register variable[6]: Result */
36188 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36189 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
36190 return_label686: while(false);
36191 tracehead = trace.prev;
36192 return;
36193 }
36194 void parser___ReduceAction327___init(val_t self, int* init_table) {
36195 struct trace_t trace = {NULL, NULL, 14443, LOCATE_parser___ReduceAction327___init};
36196 val_t variable[2];
36197 struct WBT_ **closurevariable = NULL;
36198 trace.prev = tracehead; tracehead = &trace;
36199 trace.file = LOCATE_parser;
36200 /* Register variable[0]: Local variable */
36201 variable[0] = self;
36202 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction327].i]) return;
36203 /* Register variable[1]: Method return value and escape marker */
36204 return_label687: while(false);
36205 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction327].i] = 1;
36206 tracehead = trace.prev;
36207 return;
36208 }
36209 void parser___ReduceAction328___action(val_t self, val_t param0) {
36210 struct trace_t trace = {NULL, NULL, 14447, LOCATE_parser___ReduceAction328___action};
36211 val_t variable[16];
36212 struct WBT_ **closurevariable = NULL;
36213 trace.prev = tracehead; tracehead = &trace;
36214 trace.file = LOCATE_parser;
36215 /* Register variable[0]: Local variable */
36216 variable[0] = self;
36217 /* Register variable[1]: Local variable */
36218 variable[1] = param0;
36219 /* Register variable[2]: Method return value and escape marker */
36220 /* Register variable[3]: Local variable */
36221 variable[3] = NIT_NULL /*null*/;
36222 /* Register variable[4]: Local variable */
36223 /* Register variable[5]: Result */
36224 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36225 variable[4] = variable[5];
36226 /* Register variable[5]: Local variable */
36227 /* Register variable[6]: Result */
36228 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36229 variable[5] = variable[6];
36230 /* Register variable[6]: Local variable */
36231 /* Register variable[7]: Result */
36232 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36233 variable[6] = variable[7];
36234 /* Register variable[7]: Local variable */
36235 /* Register variable[8]: Result */
36236 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36237 variable[7] = variable[8];
36238 /* Register variable[8]: Local variable */
36239 /* Register variable[9]: Result */
36240 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36241 variable[8] = variable[9];
36242 /* Register variable[9]: Local variable */
36243 /* Register variable[10]: Result */
36244 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36245 variable[9] = variable[10];
36246 /* Register variable[10]: Local variable */
36247 /* Register variable[11]: Result */
36248 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36249 variable[10] = variable[11];
36250 /* Register variable[11]: Local variable */
36251 variable[11] = variable[8] /*nodearraylist1*/;
36252 /* Register variable[12]: Result */
36253 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36254 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 14458); nit_exit(1);}
36255 /* Register variable[12]: Local variable */
36256 variable[12] = variable[5] /*nodearraylist4*/;
36257 /* Register variable[13]: Result */
36258 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36259 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 14460); nit_exit(1);}
36260 /* Register variable[13]: Local variable */
36261 variable[13] = variable[4] /*nodearraylist5*/;
36262 /* Register variable[14]: Result */
36263 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36264 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction328___action, LOCATE_parser, 14462); nit_exit(1);}
36265 /* Register variable[14]: Result */
36266 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::==*/)))))));
36267 if (UNTAG_Bool(variable[14])) { /*if*/
36268 /* Register variable[14]: Result */
36269 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36270 if (UNTAG_Bool(variable[14])) { /*if*/
36271 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
36272 } else { /*if*/
36273 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
36274 }
36275 }
36276 /* Register variable[14]: Local variable */
36277 /* Register variable[15]: Result */
36278 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/) /*new ACallExpr*/;
36279 variable[14] = variable[15];
36280 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
36281 /* Register variable[15]: Result */
36282 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36283 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
36284 return_label688: while(false);
36285 tracehead = trace.prev;
36286 return;
36287 }
36288 void parser___ReduceAction328___init(val_t self, int* init_table) {
36289 struct trace_t trace = {NULL, NULL, 14479, LOCATE_parser___ReduceAction328___init};
36290 val_t variable[2];
36291 struct WBT_ **closurevariable = NULL;
36292 trace.prev = tracehead; tracehead = &trace;
36293 trace.file = LOCATE_parser;
36294 /* Register variable[0]: Local variable */
36295 variable[0] = self;
36296 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction328].i]) return;
36297 /* Register variable[1]: Method return value and escape marker */
36298 return_label689: while(false);
36299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction328].i] = 1;
36300 tracehead = trace.prev;
36301 return;
36302 }
36303 void parser___ReduceAction329___action(val_t self, val_t param0) {
36304 struct trace_t trace = {NULL, NULL, 14483, LOCATE_parser___ReduceAction329___action};
36305 val_t variable[13];
36306 struct WBT_ **closurevariable = NULL;
36307 trace.prev = tracehead; tracehead = &trace;
36308 trace.file = LOCATE_parser;
36309 /* Register variable[0]: Local variable */
36310 variable[0] = self;
36311 /* Register variable[1]: Local variable */
36312 variable[1] = param0;
36313 /* Register variable[2]: Method return value and escape marker */
36314 /* Register variable[3]: Local variable */
36315 variable[3] = NIT_NULL /*null*/;
36316 /* Register variable[4]: Local variable */
36317 /* Register variable[5]: Result */
36318 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36319 variable[4] = variable[5];
36320 /* Register variable[5]: Local variable */
36321 /* Register variable[6]: Result */
36322 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36323 variable[5] = variable[6];
36324 /* Register variable[6]: Local variable */
36325 /* Register variable[7]: Result */
36326 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36327 variable[6] = variable[7];
36328 /* Register variable[7]: Local variable */
36329 /* Register variable[8]: Result */
36330 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36331 variable[7] = variable[8];
36332 /* Register variable[8]: Local variable */
36333 /* Register variable[9]: Result */
36334 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
36335 variable[8] = variable[9];
36336 /* Register variable[9]: Local variable */
36337 variable[9] = variable[5] /*nodearraylist1*/;
36338 /* Register variable[10]: Result */
36339 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36340 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 14493); nit_exit(1);}
36341 /* Register variable[10]: Local variable */
36342 variable[10] = variable[4] /*nodearraylist2*/;
36343 /* Register variable[11]: Result */
36344 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36345 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction329___action, LOCATE_parser, 14495); nit_exit(1);}
36346 /* Register variable[11]: Result */
36347 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::==*/)))))));
36348 if (UNTAG_Bool(variable[11])) { /*if*/
36349 /* Register variable[11]: Result */
36350 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36351 if (UNTAG_Bool(variable[11])) { /*if*/
36352 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
36353 } else { /*if*/
36354 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
36355 }
36356 }
36357 /* Register variable[11]: Local variable */
36358 /* Register variable[12]: Result */
36359 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/) /*new ACallExpr*/;
36360 variable[11] = variable[12];
36361 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
36362 /* Register variable[12]: Result */
36363 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36364 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
36365 return_label690: while(false);
36366 tracehead = trace.prev;
36367 return;
36368 }
36369 void parser___ReduceAction329___init(val_t self, int* init_table) {
36370 struct trace_t trace = {NULL, NULL, 14512, LOCATE_parser___ReduceAction329___init};
36371 val_t variable[2];
36372 struct WBT_ **closurevariable = NULL;
36373 trace.prev = tracehead; tracehead = &trace;
36374 trace.file = LOCATE_parser;
36375 /* Register variable[0]: Local variable */
36376 variable[0] = self;
36377 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction329].i]) return;
36378 /* Register variable[1]: Method return value and escape marker */
36379 return_label691: while(false);
36380 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction329].i] = 1;
36381 tracehead = trace.prev;
36382 return;
36383 }
36384 void parser___ReduceAction330___action(val_t self, val_t param0) {
36385 struct trace_t trace = {NULL, NULL, 14516, LOCATE_parser___ReduceAction330___action};
36386 val_t variable[18];
36387 struct WBT_ **closurevariable = NULL;
36388 trace.prev = tracehead; tracehead = &trace;
36389 trace.file = LOCATE_parser;
36390 /* Register variable[0]: Local variable */
36391 variable[0] = self;
36392 /* Register variable[1]: Local variable */
36393 variable[1] = param0;
36394 /* Register variable[2]: Method return value and escape marker */
36395 /* Register variable[3]: Local variable */
36396 variable[3] = NIT_NULL /*null*/;
36397 /* Register variable[4]: Local variable */
36398 /* Register variable[5]: Result */
36399 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36400 variable[4] = variable[5];
36401 /* Register variable[5]: Local variable */
36402 /* Register variable[6]: Result */
36403 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36404 variable[5] = variable[6];
36405 /* Register variable[6]: Local variable */
36406 /* Register variable[7]: Result */
36407 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36408 variable[6] = variable[7];
36409 /* Register variable[7]: Local variable */
36410 /* Register variable[8]: Result */
36411 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36412 variable[7] = variable[8];
36413 /* Register variable[8]: Local variable */
36414 /* Register variable[9]: Result */
36415 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36416 variable[8] = variable[9];
36417 /* Register variable[9]: Local variable */
36418 /* Register variable[10]: Result */
36419 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36420 variable[9] = variable[10];
36421 /* Register variable[10]: Local variable */
36422 /* Register variable[11]: Result */
36423 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36424 variable[10] = variable[11];
36425 /* Register variable[11]: Local variable */
36426 /* Register variable[12]: Result */
36427 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36428 variable[11] = variable[12];
36429 /* Register variable[12]: Local variable */
36430 variable[12] = variable[9] /*nodearraylist1*/;
36431 /* Register variable[13]: Result */
36432 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36433 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 14528); nit_exit(1);}
36434 /* Register variable[13]: Local variable */
36435 variable[13] = variable[6] /*nodearraylist4*/;
36436 /* Register variable[14]: Result */
36437 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36438 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 14530); nit_exit(1);}
36439 /* Register variable[14]: Local variable */
36440 variable[14] = variable[5] /*nodearraylist5*/;
36441 /* Register variable[15]: Result */
36442 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36443 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 14532); nit_exit(1);}
36444 /* Register variable[15]: Result */
36445 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::==*/)))))));
36446 if (UNTAG_Bool(variable[15])) { /*if*/
36447 /* Register variable[15]: Result */
36448 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36449 if (UNTAG_Bool(variable[15])) { /*if*/
36450 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
36451 } else { /*if*/
36452 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
36453 }
36454 }
36455 /* Register variable[15]: Local variable */
36456 variable[15] = variable[4] /*nodearraylist6*/;
36457 /* Register variable[16]: Result */
36458 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36459 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction330___action, LOCATE_parser, 14541); nit_exit(1);}
36460 /* Register variable[16]: Result */
36461 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::==*/)))))));
36462 if (UNTAG_Bool(variable[16])) { /*if*/
36463 /* Register variable[16]: Result */
36464 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
36465 if (UNTAG_Bool(variable[16])) { /*if*/
36466 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
36467 } else { /*if*/
36468 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
36469 }
36470 }
36471 /* Register variable[16]: Local variable */
36472 /* Register variable[17]: Result */
36473 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
36474 variable[16] = variable[17];
36475 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
36476 /* Register variable[17]: Result */
36477 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36478 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
36479 return_label692: while(false);
36480 tracehead = trace.prev;
36481 return;
36482 }
36483 void parser___ReduceAction330___init(val_t self, int* init_table) {
36484 struct trace_t trace = {NULL, NULL, 14558, LOCATE_parser___ReduceAction330___init};
36485 val_t variable[2];
36486 struct WBT_ **closurevariable = NULL;
36487 trace.prev = tracehead; tracehead = &trace;
36488 trace.file = LOCATE_parser;
36489 /* Register variable[0]: Local variable */
36490 variable[0] = self;
36491 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction330].i]) return;
36492 /* Register variable[1]: Method return value and escape marker */
36493 return_label693: while(false);
36494 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction330].i] = 1;
36495 tracehead = trace.prev;
36496 return;
36497 }
36498 void parser___ReduceAction331___action(val_t self, val_t param0) {
36499 struct trace_t trace = {NULL, NULL, 14562, LOCATE_parser___ReduceAction331___action};
36500 val_t variable[15];
36501 struct WBT_ **closurevariable = NULL;
36502 trace.prev = tracehead; tracehead = &trace;
36503 trace.file = LOCATE_parser;
36504 /* Register variable[0]: Local variable */
36505 variable[0] = self;
36506 /* Register variable[1]: Local variable */
36507 variable[1] = param0;
36508 /* Register variable[2]: Method return value and escape marker */
36509 /* Register variable[3]: Local variable */
36510 variable[3] = NIT_NULL /*null*/;
36511 /* Register variable[4]: Local variable */
36512 /* Register variable[5]: Result */
36513 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36514 variable[4] = variable[5];
36515 /* Register variable[5]: Local variable */
36516 /* Register variable[6]: Result */
36517 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36518 variable[5] = variable[6];
36519 /* Register variable[6]: Local variable */
36520 /* Register variable[7]: Result */
36521 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36522 variable[6] = variable[7];
36523 /* Register variable[7]: Local variable */
36524 /* Register variable[8]: Result */
36525 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36526 variable[7] = variable[8];
36527 /* Register variable[8]: Local variable */
36528 /* Register variable[9]: Result */
36529 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36530 variable[8] = variable[9];
36531 /* Register variable[9]: Local variable */
36532 /* Register variable[10]: Result */
36533 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
36534 variable[9] = variable[10];
36535 /* Register variable[10]: Local variable */
36536 variable[10] = variable[6] /*nodearraylist1*/;
36537 /* Register variable[11]: Result */
36538 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
36539 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 14573); nit_exit(1);}
36540 /* Register variable[11]: Local variable */
36541 variable[11] = variable[5] /*nodearraylist2*/;
36542 /* Register variable[12]: Result */
36543 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36544 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 14575); nit_exit(1);}
36545 /* Register variable[12]: Result */
36546 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::==*/)))))));
36547 if (UNTAG_Bool(variable[12])) { /*if*/
36548 /* Register variable[12]: Result */
36549 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36550 if (UNTAG_Bool(variable[12])) { /*if*/
36551 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
36552 } else { /*if*/
36553 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
36554 }
36555 }
36556 /* Register variable[12]: Local variable */
36557 variable[12] = variable[4] /*nodearraylist3*/;
36558 /* Register variable[13]: Result */
36559 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36560 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction331___action, LOCATE_parser, 14584); nit_exit(1);}
36561 /* Register variable[13]: Result */
36562 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::==*/)))))));
36563 if (UNTAG_Bool(variable[13])) { /*if*/
36564 /* Register variable[13]: Result */
36565 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
36566 if (UNTAG_Bool(variable[13])) { /*if*/
36567 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
36568 } else { /*if*/
36569 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
36570 }
36571 }
36572 /* Register variable[13]: Local variable */
36573 /* Register variable[14]: Result */
36574 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
36575 variable[13] = variable[14];
36576 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
36577 /* Register variable[14]: Result */
36578 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36579 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
36580 return_label694: while(false);
36581 tracehead = trace.prev;
36582 return;
36583 }
36584 void parser___ReduceAction331___init(val_t self, int* init_table) {
36585 struct trace_t trace = {NULL, NULL, 14601, LOCATE_parser___ReduceAction331___init};
36586 val_t variable[2];
36587 struct WBT_ **closurevariable = NULL;
36588 trace.prev = tracehead; tracehead = &trace;
36589 trace.file = LOCATE_parser;
36590 /* Register variable[0]: Local variable */
36591 variable[0] = self;
36592 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction331].i]) return;
36593 /* Register variable[1]: Method return value and escape marker */
36594 return_label695: while(false);
36595 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction331].i] = 1;
36596 tracehead = trace.prev;
36597 return;
36598 }
36599 void parser___ReduceAction332___action(val_t self, val_t param0) {
36600 struct trace_t trace = {NULL, NULL, 14605, LOCATE_parser___ReduceAction332___action};
36601 val_t variable[11];
36602 struct WBT_ **closurevariable = NULL;
36603 trace.prev = tracehead; tracehead = &trace;
36604 trace.file = LOCATE_parser;
36605 /* Register variable[0]: Local variable */
36606 variable[0] = self;
36607 /* Register variable[1]: Local variable */
36608 variable[1] = param0;
36609 /* Register variable[2]: Method return value and escape marker */
36610 /* Register variable[3]: Local variable */
36611 variable[3] = NIT_NULL /*null*/;
36612 /* Register variable[4]: Local variable */
36613 /* Register variable[5]: Result */
36614 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36615 variable[4] = variable[5];
36616 /* Register variable[5]: Local variable */
36617 /* Register variable[6]: Result */
36618 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36619 variable[5] = variable[6];
36620 /* Register variable[6]: Local variable */
36621 /* Register variable[7]: Result */
36622 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36623 variable[6] = variable[7];
36624 /* Register variable[7]: Local variable */
36625 variable[7] = variable[5] /*nodearraylist1*/;
36626 /* Register variable[8]: Result */
36627 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
36628 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 14612); nit_exit(1);}
36629 /* Register variable[8]: Local variable */
36630 variable[8] = variable[4] /*nodearraylist2*/;
36631 /* Register variable[9]: Result */
36632 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36633 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction332___action, LOCATE_parser, 14614); nit_exit(1);}
36634 /* Register variable[9]: Result */
36635 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::==*/)))))));
36636 if (UNTAG_Bool(variable[9])) { /*if*/
36637 /* Register variable[9]: Result */
36638 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36639 if (UNTAG_Bool(variable[9])) { /*if*/
36640 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
36641 } else { /*if*/
36642 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
36643 }
36644 }
36645 /* Register variable[9]: Local variable */
36646 /* Register variable[10]: Result */
36647 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
36648 variable[9] = variable[10];
36649 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
36650 /* Register variable[10]: Result */
36651 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36652 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
36653 return_label696: while(false);
36654 tracehead = trace.prev;
36655 return;
36656 }
36657 void parser___ReduceAction332___init(val_t self, int* init_table) {
36658 struct trace_t trace = {NULL, NULL, 14630, LOCATE_parser___ReduceAction332___init};
36659 val_t variable[2];
36660 struct WBT_ **closurevariable = NULL;
36661 trace.prev = tracehead; tracehead = &trace;
36662 trace.file = LOCATE_parser;
36663 /* Register variable[0]: Local variable */
36664 variable[0] = self;
36665 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction332].i]) return;
36666 /* Register variable[1]: Method return value and escape marker */
36667 return_label697: while(false);
36668 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction332].i] = 1;
36669 tracehead = trace.prev;
36670 return;
36671 }
36672 void parser___ReduceAction333___action(val_t self, val_t param0) {
36673 struct trace_t trace = {NULL, NULL, 14634, LOCATE_parser___ReduceAction333___action};
36674 val_t variable[13];
36675 struct WBT_ **closurevariable = NULL;
36676 trace.prev = tracehead; tracehead = &trace;
36677 trace.file = LOCATE_parser;
36678 /* Register variable[0]: Local variable */
36679 variable[0] = self;
36680 /* Register variable[1]: Local variable */
36681 variable[1] = param0;
36682 /* Register variable[2]: Method return value and escape marker */
36683 /* Register variable[3]: Local variable */
36684 variable[3] = NIT_NULL /*null*/;
36685 /* Register variable[4]: Local variable */
36686 /* Register variable[5]: Result */
36687 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36688 variable[4] = variable[5];
36689 /* Register variable[5]: Local variable */
36690 /* Register variable[6]: Result */
36691 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36692 variable[5] = variable[6];
36693 /* Register variable[6]: Local variable */
36694 /* Register variable[7]: Result */
36695 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36696 variable[6] = variable[7];
36697 /* Register variable[7]: Local variable */
36698 /* Register variable[8]: Result */
36699 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36700 variable[7] = variable[8];
36701 /* Register variable[8]: Local variable */
36702 variable[8] = variable[6] /*nodearraylist1*/;
36703 /* Register variable[9]: Result */
36704 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
36705 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 14642); nit_exit(1);}
36706 /* Register variable[9]: Local variable */
36707 variable[9] = variable[5] /*nodearraylist2*/;
36708 /* Register variable[10]: Result */
36709 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
36710 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 14644); nit_exit(1);}
36711 /* Register variable[10]: Local variable */
36712 variable[10] = variable[4] /*nodearraylist3*/;
36713 /* Register variable[11]: Result */
36714 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36715 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction333___action, LOCATE_parser, 14646); nit_exit(1);}
36716 /* Register variable[11]: Result */
36717 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::==*/)))))));
36718 if (UNTAG_Bool(variable[11])) { /*if*/
36719 /* Register variable[11]: Result */
36720 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36721 if (UNTAG_Bool(variable[11])) { /*if*/
36722 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
36723 } else { /*if*/
36724 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
36725 }
36726 }
36727 /* Register variable[11]: Local variable */
36728 /* Register variable[12]: Result */
36729 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
36730 variable[11] = variable[12];
36731 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
36732 /* Register variable[12]: Result */
36733 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36734 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
36735 return_label698: while(false);
36736 tracehead = trace.prev;
36737 return;
36738 }
36739 void parser___ReduceAction333___init(val_t self, int* init_table) {
36740 struct trace_t trace = {NULL, NULL, 14662, LOCATE_parser___ReduceAction333___init};
36741 val_t variable[2];
36742 struct WBT_ **closurevariable = NULL;
36743 trace.prev = tracehead; tracehead = &trace;
36744 trace.file = LOCATE_parser;
36745 /* Register variable[0]: Local variable */
36746 variable[0] = self;
36747 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction333].i]) return;
36748 /* Register variable[1]: Method return value and escape marker */
36749 return_label699: while(false);
36750 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction333].i] = 1;
36751 tracehead = trace.prev;
36752 return;
36753 }
36754 void parser___ReduceAction334___action(val_t self, val_t param0) {
36755 struct trace_t trace = {NULL, NULL, 14666, LOCATE_parser___ReduceAction334___action};
36756 val_t variable[15];
36757 struct WBT_ **closurevariable = NULL;
36758 trace.prev = tracehead; tracehead = &trace;
36759 trace.file = LOCATE_parser;
36760 /* Register variable[0]: Local variable */
36761 variable[0] = self;
36762 /* Register variable[1]: Local variable */
36763 variable[1] = param0;
36764 /* Register variable[2]: Method return value and escape marker */
36765 /* Register variable[3]: Local variable */
36766 variable[3] = NIT_NULL /*null*/;
36767 /* Register variable[4]: Local variable */
36768 /* Register variable[5]: Result */
36769 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36770 variable[4] = variable[5];
36771 /* Register variable[5]: Local variable */
36772 /* Register variable[6]: Result */
36773 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36774 variable[5] = variable[6];
36775 /* Register variable[6]: Local variable */
36776 /* Register variable[7]: Result */
36777 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36778 variable[6] = variable[7];
36779 /* Register variable[7]: Local variable */
36780 /* Register variable[8]: Result */
36781 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36782 variable[7] = variable[8];
36783 /* Register variable[8]: Local variable */
36784 /* Register variable[9]: Result */
36785 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36786 variable[8] = variable[9];
36787 /* Register variable[9]: Local variable */
36788 /* Register variable[10]: Result */
36789 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36790 variable[9] = variable[10];
36791 /* Register variable[10]: Local variable */
36792 variable[10] = variable[8] /*nodearraylist1*/;
36793 /* Register variable[11]: Result */
36794 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
36795 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 14676); nit_exit(1);}
36796 /* Register variable[11]: Local variable */
36797 variable[11] = variable[5] /*nodearraylist4*/;
36798 /* Register variable[12]: Result */
36799 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
36800 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 14678); nit_exit(1);}
36801 /* Register variable[12]: Local variable */
36802 variable[12] = variable[4] /*nodearraylist5*/;
36803 /* Register variable[13]: Result */
36804 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36805 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction334___action, LOCATE_parser, 14680); nit_exit(1);}
36806 /* Register variable[13]: Result */
36807 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::==*/)))))));
36808 if (UNTAG_Bool(variable[13])) { /*if*/
36809 /* Register variable[13]: Result */
36810 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36811 if (UNTAG_Bool(variable[13])) { /*if*/
36812 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
36813 } else { /*if*/
36814 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
36815 }
36816 }
36817 /* Register variable[13]: Local variable */
36818 /* Register variable[14]: Result */
36819 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/) /*new AInitExpr*/;
36820 variable[13] = variable[14];
36821 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
36822 /* Register variable[14]: Result */
36823 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36824 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
36825 return_label700: while(false);
36826 tracehead = trace.prev;
36827 return;
36828 }
36829 void parser___ReduceAction334___init(val_t self, int* init_table) {
36830 struct trace_t trace = {NULL, NULL, 14696, LOCATE_parser___ReduceAction334___init};
36831 val_t variable[2];
36832 struct WBT_ **closurevariable = NULL;
36833 trace.prev = tracehead; tracehead = &trace;
36834 trace.file = LOCATE_parser;
36835 /* Register variable[0]: Local variable */
36836 variable[0] = self;
36837 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction334].i]) return;
36838 /* Register variable[1]: Method return value and escape marker */
36839 return_label701: while(false);
36840 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction334].i] = 1;
36841 tracehead = trace.prev;
36842 return;
36843 }
36844 void parser___ReduceAction335___action(val_t self, val_t param0) {
36845 struct trace_t trace = {NULL, NULL, 14700, LOCATE_parser___ReduceAction335___action};
36846 val_t variable[12];
36847 struct WBT_ **closurevariable = NULL;
36848 trace.prev = tracehead; tracehead = &trace;
36849 trace.file = LOCATE_parser;
36850 /* Register variable[0]: Local variable */
36851 variable[0] = self;
36852 /* Register variable[1]: Local variable */
36853 variable[1] = param0;
36854 /* Register variable[2]: Method return value and escape marker */
36855 /* Register variable[3]: Local variable */
36856 variable[3] = NIT_NULL /*null*/;
36857 /* Register variable[4]: Local variable */
36858 /* Register variable[5]: Result */
36859 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36860 variable[4] = variable[5];
36861 /* Register variable[5]: Local variable */
36862 /* Register variable[6]: Result */
36863 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36864 variable[5] = variable[6];
36865 /* Register variable[6]: Local variable */
36866 /* Register variable[7]: Result */
36867 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36868 variable[6] = variable[7];
36869 /* Register variable[7]: Local variable */
36870 /* Register variable[8]: Result */
36871 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
36872 variable[7] = variable[8];
36873 /* Register variable[8]: Local variable */
36874 variable[8] = variable[5] /*nodearraylist1*/;
36875 /* Register variable[9]: Result */
36876 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
36877 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 14709); nit_exit(1);}
36878 /* Register variable[9]: Local variable */
36879 variable[9] = variable[4] /*nodearraylist2*/;
36880 /* Register variable[10]: Result */
36881 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
36882 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction335___action, LOCATE_parser, 14711); nit_exit(1);}
36883 /* Register variable[10]: Result */
36884 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::==*/)))))));
36885 if (UNTAG_Bool(variable[10])) { /*if*/
36886 /* Register variable[10]: Result */
36887 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
36888 if (UNTAG_Bool(variable[10])) { /*if*/
36889 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
36890 } else { /*if*/
36891 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
36892 }
36893 }
36894 /* Register variable[10]: Local variable */
36895 /* Register variable[11]: Result */
36896 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/) /*new AInitExpr*/;
36897 variable[10] = variable[11];
36898 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
36899 /* Register variable[11]: Result */
36900 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(28)) /*Parser::go_to*/;
36901 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
36902 return_label702: while(false);
36903 tracehead = trace.prev;
36904 return;
36905 }
36906 void parser___ReduceAction335___init(val_t self, int* init_table) {
36907 struct trace_t trace = {NULL, NULL, 14727, LOCATE_parser___ReduceAction335___init};
36908 val_t variable[2];
36909 struct WBT_ **closurevariable = NULL;
36910 trace.prev = tracehead; tracehead = &trace;
36911 trace.file = LOCATE_parser;
36912 /* Register variable[0]: Local variable */
36913 variable[0] = self;
36914 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction335].i]) return;
36915 /* Register variable[1]: Method return value and escape marker */
36916 return_label703: while(false);
36917 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction335].i] = 1;
36918 tracehead = trace.prev;
36919 return;
36920 }
36921 void parser___ReduceAction336___action(val_t self, val_t param0) {
36922 struct trace_t trace = {NULL, NULL, 14731, LOCATE_parser___ReduceAction336___action};
36923 val_t variable[8];
36924 struct WBT_ **closurevariable = NULL;
36925 trace.prev = tracehead; tracehead = &trace;
36926 trace.file = LOCATE_parser;
36927 /* Register variable[0]: Local variable */
36928 variable[0] = self;
36929 /* Register variable[1]: Local variable */
36930 variable[1] = param0;
36931 /* Register variable[2]: Method return value and escape marker */
36932 /* Register variable[3]: Local variable */
36933 variable[3] = NIT_NULL /*null*/;
36934 /* Register variable[4]: Local variable */
36935 /* Register variable[5]: Result */
36936 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36937 variable[4] = variable[5];
36938 /* Register variable[5]: Local variable */
36939 /* Register variable[6]: Result */
36940 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36941 variable[5] = variable[6];
36942 /* Register variable[6]: Local variable */
36943 variable[6] = variable[4] /*nodearraylist1*/;
36944 /* Register variable[7]: Result */
36945 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
36946 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction336___action, LOCATE_parser, 14737); nit_exit(1);}
36947 /* Register variable[7]: Result */
36948 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::==*/)))))));
36949 if (UNTAG_Bool(variable[7])) { /*if*/
36950 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
36951 }
36952 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
36953 /* Register variable[7]: Result */
36954 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(29)) /*Parser::go_to*/;
36955 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
36956 return_label704: while(false);
36957 tracehead = trace.prev;
36958 return;
36959 }
36960 void parser___ReduceAction336___init(val_t self, int* init_table) {
36961 struct trace_t trace = {NULL, NULL, 14744, LOCATE_parser___ReduceAction336___init};
36962 val_t variable[2];
36963 struct WBT_ **closurevariable = NULL;
36964 trace.prev = tracehead; tracehead = &trace;
36965 trace.file = LOCATE_parser;
36966 /* Register variable[0]: Local variable */
36967 variable[0] = self;
36968 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction336].i]) return;
36969 /* Register variable[1]: Method return value and escape marker */
36970 return_label705: while(false);
36971 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction336].i] = 1;
36972 tracehead = trace.prev;
36973 return;
36974 }
36975 void parser___ReduceAction337___action(val_t self, val_t param0) {
36976 struct trace_t trace = {NULL, NULL, 14748, LOCATE_parser___ReduceAction337___action};
36977 val_t variable[10];
36978 struct WBT_ **closurevariable = NULL;
36979 trace.prev = tracehead; tracehead = &trace;
36980 trace.file = LOCATE_parser;
36981 /* Register variable[0]: Local variable */
36982 variable[0] = self;
36983 /* Register variable[1]: Local variable */
36984 variable[1] = param0;
36985 /* Register variable[2]: Method return value and escape marker */
36986 /* Register variable[3]: Local variable */
36987 variable[3] = NIT_NULL /*null*/;
36988 /* Register variable[4]: Local variable */
36989 /* Register variable[5]: Result */
36990 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36991 variable[4] = variable[5];
36992 /* Register variable[5]: Local variable */
36993 /* Register variable[6]: Result */
36994 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
36995 variable[5] = variable[6];
36996 /* Register variable[6]: Local variable */
36997 /* Register variable[7]: Result */
36998 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
36999 variable[6] = variable[7];
37000 /* Register variable[7]: Local variable */
37001 variable[7] = variable[5] /*nodearraylist1*/;
37002 /* Register variable[8]: Result */
37003 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
37004 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 14755); nit_exit(1);}
37005 /* Register variable[8]: Local variable */
37006 variable[8] = variable[4] /*nodearraylist2*/;
37007 /* Register variable[9]: Result */
37008 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37009 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction337___action, LOCATE_parser, 14757); nit_exit(1);}
37010 /* Register variable[9]: Result */
37011 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::==*/)))))));
37012 if (UNTAG_Bool(variable[9])) { /*if*/
37013 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
37014 }
37015 /* Register variable[9]: Result */
37016 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::==*/)))))));
37017 if (UNTAG_Bool(variable[9])) { /*if*/
37018 /* Register variable[9]: Result */
37019 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
37020 if (UNTAG_Bool(variable[9])) { /*if*/
37021 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
37022 } else { /*if*/
37023 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
37024 }
37025 }
37026 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
37027 /* Register variable[9]: Result */
37028 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(29)) /*Parser::go_to*/;
37029 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
37030 return_label706: while(false);
37031 tracehead = trace.prev;
37032 return;
37033 }
37034 void parser___ReduceAction337___init(val_t self, int* init_table) {
37035 struct trace_t trace = {NULL, NULL, 14771, LOCATE_parser___ReduceAction337___init};
37036 val_t variable[2];
37037 struct WBT_ **closurevariable = NULL;
37038 trace.prev = tracehead; tracehead = &trace;
37039 trace.file = LOCATE_parser;
37040 /* Register variable[0]: Local variable */
37041 variable[0] = self;
37042 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction337].i]) return;
37043 /* Register variable[1]: Method return value and escape marker */
37044 return_label707: while(false);
37045 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction337].i] = 1;
37046 tracehead = trace.prev;
37047 return;
37048 }
37049 void parser___ReduceAction338___action(val_t self, val_t param0) {
37050 struct trace_t trace = {NULL, NULL, 14775, LOCATE_parser___ReduceAction338___action};
37051 val_t variable[13];
37052 struct WBT_ **closurevariable = NULL;
37053 trace.prev = tracehead; tracehead = &trace;
37054 trace.file = LOCATE_parser;
37055 /* Register variable[0]: Local variable */
37056 variable[0] = self;
37057 /* Register variable[1]: Local variable */
37058 variable[1] = param0;
37059 /* Register variable[2]: Method return value and escape marker */
37060 /* Register variable[3]: Local variable */
37061 variable[3] = NIT_NULL /*null*/;
37062 /* Register variable[4]: Local variable */
37063 /* Register variable[5]: Result */
37064 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37065 variable[4] = variable[5];
37066 /* Register variable[5]: Local variable */
37067 /* Register variable[6]: Result */
37068 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37069 variable[5] = variable[6];
37070 /* Register variable[6]: Local variable */
37071 /* Register variable[7]: Result */
37072 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37073 variable[6] = variable[7];
37074 /* Register variable[7]: Local variable */
37075 /* Register variable[8]: Result */
37076 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37077 variable[7] = variable[8];
37078 /* Register variable[8]: Local variable */
37079 variable[8] = variable[6] /*nodearraylist1*/;
37080 /* Register variable[9]: Result */
37081 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37082 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 14783); nit_exit(1);}
37083 /* Register variable[9]: Local variable */
37084 variable[9] = variable[5] /*nodearraylist2*/;
37085 /* Register variable[10]: Result */
37086 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37087 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 14785); nit_exit(1);}
37088 /* Register variable[10]: Local variable */
37089 variable[10] = variable[4] /*nodearraylist3*/;
37090 /* Register variable[11]: Result */
37091 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37092 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction338___action, LOCATE_parser, 14787); nit_exit(1);}
37093 /* Register variable[11]: Local variable */
37094 /* Register variable[12]: Result */
37095 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/) /*new AClosureDef*/;
37096 variable[11] = variable[12];
37097 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
37098 /* Register variable[12]: Result */
37099 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
37100 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
37101 return_label708: while(false);
37102 tracehead = trace.prev;
37103 return;
37104 }
37105 void parser___ReduceAction338___init(val_t self, int* init_table) {
37106 struct trace_t trace = {NULL, NULL, 14797, LOCATE_parser___ReduceAction338___init};
37107 val_t variable[2];
37108 struct WBT_ **closurevariable = NULL;
37109 trace.prev = tracehead; tracehead = &trace;
37110 trace.file = LOCATE_parser;
37111 /* Register variable[0]: Local variable */
37112 variable[0] = self;
37113 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction338].i]) return;
37114 /* Register variable[1]: Method return value and escape marker */
37115 return_label709: while(false);
37116 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction338].i] = 1;
37117 tracehead = trace.prev;
37118 return;
37119 }
37120 void parser___ReduceAction339___action(val_t self, val_t param0) {
37121 struct trace_t trace = {NULL, NULL, 14801, LOCATE_parser___ReduceAction339___action};
37122 val_t variable[15];
37123 struct WBT_ **closurevariable = NULL;
37124 trace.prev = tracehead; tracehead = &trace;
37125 trace.file = LOCATE_parser;
37126 /* Register variable[0]: Local variable */
37127 variable[0] = self;
37128 /* Register variable[1]: Local variable */
37129 variable[1] = param0;
37130 /* Register variable[2]: Method return value and escape marker */
37131 /* Register variable[3]: Local variable */
37132 variable[3] = NIT_NULL /*null*/;
37133 /* Register variable[4]: Local variable */
37134 /* Register variable[5]: Result */
37135 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37136 variable[4] = variable[5];
37137 /* Register variable[5]: Local variable */
37138 /* Register variable[6]: Result */
37139 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37140 variable[5] = variable[6];
37141 /* Register variable[6]: Local variable */
37142 /* Register variable[7]: Result */
37143 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37144 variable[6] = variable[7];
37145 /* Register variable[7]: Local variable */
37146 /* Register variable[8]: Result */
37147 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37148 variable[7] = variable[8];
37149 /* Register variable[8]: Local variable */
37150 /* Register variable[9]: Result */
37151 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37152 variable[8] = variable[9];
37153 /* Register variable[9]: Local variable */
37154 variable[9] = variable[7] /*nodearraylist1*/;
37155 /* Register variable[10]: Result */
37156 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37157 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 14810); nit_exit(1);}
37158 /* Register variable[10]: Local variable */
37159 variable[10] = variable[6] /*nodearraylist2*/;
37160 /* Register variable[11]: Result */
37161 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37162 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 14812); nit_exit(1);}
37163 /* Register variable[11]: Result */
37164 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::==*/)))))));
37165 if (UNTAG_Bool(variable[11])) { /*if*/
37166 /* Register variable[11]: Result */
37167 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
37168 if (UNTAG_Bool(variable[11])) { /*if*/
37169 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
37170 } else { /*if*/
37171 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
37172 }
37173 }
37174 /* Register variable[11]: Local variable */
37175 variable[11] = variable[5] /*nodearraylist3*/;
37176 /* Register variable[12]: Result */
37177 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37178 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 14821); nit_exit(1);}
37179 /* Register variable[12]: Local variable */
37180 variable[12] = variable[4] /*nodearraylist4*/;
37181 /* Register variable[13]: Result */
37182 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37183 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction339___action, LOCATE_parser, 14823); nit_exit(1);}
37184 /* Register variable[13]: Local variable */
37185 /* Register variable[14]: Result */
37186 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/) /*new AClosureDef*/;
37187 variable[13] = variable[14];
37188 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
37189 /* Register variable[14]: Result */
37190 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(30)) /*Parser::go_to*/;
37191 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
37192 return_label710: while(false);
37193 tracehead = trace.prev;
37194 return;
37195 }
37196 void parser___ReduceAction339___init(val_t self, int* init_table) {
37197 struct trace_t trace = {NULL, NULL, 14833, LOCATE_parser___ReduceAction339___init};
37198 val_t variable[2];
37199 struct WBT_ **closurevariable = NULL;
37200 trace.prev = tracehead; tracehead = &trace;
37201 trace.file = LOCATE_parser;
37202 /* Register variable[0]: Local variable */
37203 variable[0] = self;
37204 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction339].i]) return;
37205 /* Register variable[1]: Method return value and escape marker */
37206 return_label711: while(false);
37207 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction339].i] = 1;
37208 tracehead = trace.prev;
37209 return;
37210 }
37211 void parser___ReduceAction340___action(val_t self, val_t param0) {
37212 struct trace_t trace = {NULL, NULL, 14837, LOCATE_parser___ReduceAction340___action};
37213 val_t variable[17];
37214 struct WBT_ **closurevariable = NULL;
37215 trace.prev = tracehead; tracehead = &trace;
37216 trace.file = LOCATE_parser;
37217 /* Register variable[0]: Local variable */
37218 variable[0] = self;
37219 /* Register variable[1]: Local variable */
37220 variable[1] = param0;
37221 /* Register variable[2]: Method return value and escape marker */
37222 /* Register variable[3]: Local variable */
37223 variable[3] = NIT_NULL /*null*/;
37224 /* Register variable[4]: Local variable */
37225 /* Register variable[5]: Result */
37226 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37227 variable[4] = variable[5];
37228 /* Register variable[5]: Local variable */
37229 /* Register variable[6]: Result */
37230 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37231 variable[5] = variable[6];
37232 /* Register variable[6]: Local variable */
37233 /* Register variable[7]: Result */
37234 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37235 variable[6] = variable[7];
37236 /* Register variable[7]: Local variable */
37237 /* Register variable[8]: Result */
37238 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37239 variable[7] = variable[8];
37240 /* Register variable[8]: Local variable */
37241 /* Register variable[9]: Result */
37242 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37243 variable[8] = variable[9];
37244 /* Register variable[9]: Local variable */
37245 /* Register variable[10]: Result */
37246 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37247 variable[9] = variable[10];
37248 /* Register variable[10]: Local variable */
37249 variable[10] = variable[8] /*nodearraylist1*/;
37250 /* Register variable[11]: Result */
37251 variable[11] = TAG_Bool(( variable[10] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37252 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 14847); nit_exit(1);}
37253 /* Register variable[11]: Local variable */
37254 variable[11] = variable[7] /*nodearraylist2*/;
37255 /* Register variable[12]: Result */
37256 variable[12] = TAG_Bool(( variable[11] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37257 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 14849); nit_exit(1);}
37258 /* Register variable[12]: Local variable */
37259 /* Register variable[13]: Result */
37260 variable[13] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37261 variable[12] = variable[13];
37262 /* Register variable[13]: Local variable */
37263 variable[13] = variable[5] /*nodearraylist4*/;
37264 /* Register variable[14]: Result */
37265 variable[14] = TAG_Bool(( variable[13] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37266 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction340___action, LOCATE_parser, 14852); nit_exit(1);}
37267 /* Register variable[14]: Result */
37268 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::==*/)))))));
37269 if (UNTAG_Bool(variable[14])) { /*if*/
37270 CALL_abstract_collection___SimpleCollection___add( variable[12] /*listnode7*/)( variable[12] /*listnode7*/, variable[13] /*pexprnode6*/) /*AbstractArray::add*/;
37271 }
37272 /* Register variable[14]: Local variable */
37273 /* Register variable[15]: Result */
37274 variable[15] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[12] /*listnode7*/) /*new ABlockExpr*/;
37275 variable[14] = variable[15];
37276 /* Register variable[15]: Local variable */
37277 /* Register variable[16]: Result */
37278 variable[16] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[10] /*tkwwithnode2*/, variable[9] /*listnode3*/, variable[11] /*tkwdonode4*/, variable[14] /*pexprnode5*/) /*new AClosureDef*/;
37279 variable[15] = variable[16];
37280 variable[3] = variable[15] /*pclosuredefnode1*/ /*node_list=*/;
37281 /* Register variable[16]: Result */
37282 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37283 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
37284 return_label712: while(false);
37285 tracehead = trace.prev;
37286 return;
37287 }
37288 void parser___ReduceAction340___init(val_t self, int* init_table) {
37289 struct trace_t trace = {NULL, NULL, 14868, LOCATE_parser___ReduceAction340___init};
37290 val_t variable[2];
37291 struct WBT_ **closurevariable = NULL;
37292 trace.prev = tracehead; tracehead = &trace;
37293 trace.file = LOCATE_parser;
37294 /* Register variable[0]: Local variable */
37295 variable[0] = self;
37296 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction340].i]) return;
37297 /* Register variable[1]: Method return value and escape marker */
37298 return_label713: while(false);
37299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction340].i] = 1;
37300 tracehead = trace.prev;
37301 return;
37302 }
37303 void parser___ReduceAction341___action(val_t self, val_t param0) {
37304 struct trace_t trace = {NULL, NULL, 14872, LOCATE_parser___ReduceAction341___action};
37305 val_t variable[19];
37306 struct WBT_ **closurevariable = NULL;
37307 trace.prev = tracehead; tracehead = &trace;
37308 trace.file = LOCATE_parser;
37309 /* Register variable[0]: Local variable */
37310 variable[0] = self;
37311 /* Register variable[1]: Local variable */
37312 variable[1] = param0;
37313 /* Register variable[2]: Method return value and escape marker */
37314 /* Register variable[3]: Local variable */
37315 variable[3] = NIT_NULL /*null*/;
37316 /* Register variable[4]: Local variable */
37317 /* Register variable[5]: Result */
37318 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37319 variable[4] = variable[5];
37320 /* Register variable[5]: Local variable */
37321 /* Register variable[6]: Result */
37322 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37323 variable[5] = variable[6];
37324 /* Register variable[6]: Local variable */
37325 /* Register variable[7]: Result */
37326 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37327 variable[6] = variable[7];
37328 /* Register variable[7]: Local variable */
37329 /* Register variable[8]: Result */
37330 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37331 variable[7] = variable[8];
37332 /* Register variable[8]: Local variable */
37333 /* Register variable[9]: Result */
37334 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37335 variable[8] = variable[9];
37336 /* Register variable[9]: Local variable */
37337 /* Register variable[10]: Result */
37338 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37339 variable[9] = variable[10];
37340 /* Register variable[10]: Local variable */
37341 /* Register variable[11]: Result */
37342 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37343 variable[10] = variable[11];
37344 /* Register variable[11]: Local variable */
37345 variable[11] = variable[9] /*nodearraylist1*/;
37346 /* Register variable[12]: Result */
37347 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37348 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 14883); nit_exit(1);}
37349 /* Register variable[12]: Local variable */
37350 variable[12] = variable[8] /*nodearraylist2*/;
37351 /* Register variable[13]: Result */
37352 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37353 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 14885); nit_exit(1);}
37354 /* Register variable[13]: Local variable */
37355 /* Register variable[14]: Result */
37356 variable[14] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37357 variable[13] = variable[14];
37358 /* Register variable[14]: Local variable */
37359 variable[14] = variable[6] /*nodearraylist4*/;
37360 /* Register variable[15]: Result */
37361 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37362 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 14888); nit_exit(1);}
37363 /* Register variable[15]: Local variable */
37364 variable[15] = variable[5] /*nodearraylist5*/;
37365 /* Register variable[16]: Result */
37366 variable[16] = TAG_Bool(( variable[15] /*listnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode7*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37367 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction341___action, LOCATE_parser, 14890); nit_exit(1);}
37368 /* Register variable[16]: Result */
37369 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::==*/)))))));
37370 if (UNTAG_Bool(variable[16])) { /*if*/
37371 CALL_abstract_collection___SimpleCollection___add( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[14] /*pexprnode6*/) /*AbstractArray::add*/;
37372 }
37373 /* Register variable[16]: Result */
37374 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::==*/)))))));
37375 if (UNTAG_Bool(variable[16])) { /*if*/
37376 /* Register variable[16]: Result */
37377 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[13] /*listnode8*/)( variable[13] /*listnode8*/) /*AbstractArrayRead::is_empty*/;
37378 if (UNTAG_Bool(variable[16])) { /*if*/
37379 variable[13] = variable[15] /*listnode7*/ /*listnode8=*/;
37380 } else { /*if*/
37381 CALL_abstract_collection___IndexedCollection___append( variable[13] /*listnode8*/)( variable[13] /*listnode8*/, variable[15] /*listnode7*/) /*IndexedCollection::append*/;
37382 }
37383 }
37384 /* Register variable[16]: Local variable */
37385 /* Register variable[17]: Result */
37386 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[13] /*listnode8*/) /*new ABlockExpr*/;
37387 variable[16] = variable[17];
37388 /* Register variable[17]: Local variable */
37389 /* Register variable[18]: Result */
37390 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode3*/, variable[12] /*tkwdonode4*/, variable[16] /*pexprnode5*/) /*new AClosureDef*/;
37391 variable[17] = variable[18];
37392 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
37393 /* Register variable[18]: Result */
37394 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37395 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
37396 return_label714: while(false);
37397 tracehead = trace.prev;
37398 return;
37399 }
37400 void parser___ReduceAction341___init(val_t self, int* init_table) {
37401 struct trace_t trace = {NULL, NULL, 14913, LOCATE_parser___ReduceAction341___init};
37402 val_t variable[2];
37403 struct WBT_ **closurevariable = NULL;
37404 trace.prev = tracehead; tracehead = &trace;
37405 trace.file = LOCATE_parser;
37406 /* Register variable[0]: Local variable */
37407 variable[0] = self;
37408 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction341].i]) return;
37409 /* Register variable[1]: Method return value and escape marker */
37410 return_label715: while(false);
37411 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction341].i] = 1;
37412 tracehead = trace.prev;
37413 return;
37414 }
37415 void parser___ReduceAction342___action(val_t self, val_t param0) {
37416 struct trace_t trace = {NULL, NULL, 14917, LOCATE_parser___ReduceAction342___action};
37417 val_t variable[19];
37418 struct WBT_ **closurevariable = NULL;
37419 trace.prev = tracehead; tracehead = &trace;
37420 trace.file = LOCATE_parser;
37421 /* Register variable[0]: Local variable */
37422 variable[0] = self;
37423 /* Register variable[1]: Local variable */
37424 variable[1] = param0;
37425 /* Register variable[2]: Method return value and escape marker */
37426 /* Register variable[3]: Local variable */
37427 variable[3] = NIT_NULL /*null*/;
37428 /* Register variable[4]: Local variable */
37429 /* Register variable[5]: Result */
37430 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37431 variable[4] = variable[5];
37432 /* Register variable[5]: Local variable */
37433 /* Register variable[6]: Result */
37434 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37435 variable[5] = variable[6];
37436 /* Register variable[6]: Local variable */
37437 /* Register variable[7]: Result */
37438 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37439 variable[6] = variable[7];
37440 /* Register variable[7]: Local variable */
37441 /* Register variable[8]: Result */
37442 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37443 variable[7] = variable[8];
37444 /* Register variable[8]: Local variable */
37445 /* Register variable[9]: Result */
37446 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37447 variable[8] = variable[9];
37448 /* Register variable[9]: Local variable */
37449 /* Register variable[10]: Result */
37450 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37451 variable[9] = variable[10];
37452 /* Register variable[10]: Local variable */
37453 /* Register variable[11]: Result */
37454 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37455 variable[10] = variable[11];
37456 /* Register variable[11]: Local variable */
37457 variable[11] = variable[9] /*nodearraylist1*/;
37458 /* Register variable[12]: Result */
37459 variable[12] = TAG_Bool(( variable[11] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37460 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 14928); nit_exit(1);}
37461 /* Register variable[12]: Local variable */
37462 variable[12] = variable[8] /*nodearraylist2*/;
37463 /* Register variable[13]: Result */
37464 variable[13] = TAG_Bool(( variable[12] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37465 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 14930); nit_exit(1);}
37466 /* Register variable[13]: Result */
37467 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::==*/)))))));
37468 if (UNTAG_Bool(variable[13])) { /*if*/
37469 /* Register variable[13]: Result */
37470 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode4*/)( variable[10] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
37471 if (UNTAG_Bool(variable[13])) { /*if*/
37472 variable[10] = variable[12] /*listnode3*/ /*listnode4=*/;
37473 } else { /*if*/
37474 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode4*/)( variable[10] /*listnode4*/, variable[12] /*listnode3*/) /*IndexedCollection::append*/;
37475 }
37476 }
37477 /* Register variable[13]: Local variable */
37478 variable[13] = variable[7] /*nodearraylist3*/;
37479 /* Register variable[14]: Result */
37480 variable[14] = TAG_Bool(( variable[13] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37481 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 14939); nit_exit(1);}
37482 /* Register variable[14]: Local variable */
37483 /* Register variable[15]: Result */
37484 variable[15] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37485 variable[14] = variable[15];
37486 /* Register variable[15]: Local variable */
37487 variable[15] = variable[5] /*nodearraylist5*/;
37488 /* Register variable[16]: Result */
37489 variable[16] = TAG_Bool(( variable[15] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37490 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction342___action, LOCATE_parser, 14942); nit_exit(1);}
37491 /* Register variable[16]: Result */
37492 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::==*/)))))));
37493 if (UNTAG_Bool(variable[16])) { /*if*/
37494 CALL_abstract_collection___SimpleCollection___add( variable[14] /*listnode8*/)( variable[14] /*listnode8*/, variable[15] /*pexprnode7*/) /*AbstractArray::add*/;
37495 }
37496 /* Register variable[16]: Local variable */
37497 /* Register variable[17]: Result */
37498 variable[17] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[14] /*listnode8*/) /*new ABlockExpr*/;
37499 variable[16] = variable[17];
37500 /* Register variable[17]: Local variable */
37501 /* Register variable[18]: Result */
37502 variable[18] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[11] /*tkwwithnode2*/, variable[10] /*listnode4*/, variable[13] /*tkwdonode5*/, variable[16] /*pexprnode6*/) /*new AClosureDef*/;
37503 variable[17] = variable[18];
37504 variable[3] = variable[17] /*pclosuredefnode1*/ /*node_list=*/;
37505 /* Register variable[18]: Result */
37506 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37507 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
37508 return_label716: while(false);
37509 tracehead = trace.prev;
37510 return;
37511 }
37512 void parser___ReduceAction342___init(val_t self, int* init_table) {
37513 struct trace_t trace = {NULL, NULL, 14958, LOCATE_parser___ReduceAction342___init};
37514 val_t variable[2];
37515 struct WBT_ **closurevariable = NULL;
37516 trace.prev = tracehead; tracehead = &trace;
37517 trace.file = LOCATE_parser;
37518 /* Register variable[0]: Local variable */
37519 variable[0] = self;
37520 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction342].i]) return;
37521 /* Register variable[1]: Method return value and escape marker */
37522 return_label717: while(false);
37523 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction342].i] = 1;
37524 tracehead = trace.prev;
37525 return;
37526 }
37527 void parser___ReduceAction343___action(val_t self, val_t param0) {
37528 struct trace_t trace = {NULL, NULL, 14962, LOCATE_parser___ReduceAction343___action};
37529 val_t variable[21];
37530 struct WBT_ **closurevariable = NULL;
37531 trace.prev = tracehead; tracehead = &trace;
37532 trace.file = LOCATE_parser;
37533 /* Register variable[0]: Local variable */
37534 variable[0] = self;
37535 /* Register variable[1]: Local variable */
37536 variable[1] = param0;
37537 /* Register variable[2]: Method return value and escape marker */
37538 /* Register variable[3]: Local variable */
37539 variable[3] = NIT_NULL /*null*/;
37540 /* Register variable[4]: Local variable */
37541 /* Register variable[5]: Result */
37542 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37543 variable[4] = variable[5];
37544 /* Register variable[5]: Local variable */
37545 /* Register variable[6]: Result */
37546 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37547 variable[5] = variable[6];
37548 /* Register variable[6]: Local variable */
37549 /* Register variable[7]: Result */
37550 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37551 variable[6] = variable[7];
37552 /* Register variable[7]: Local variable */
37553 /* Register variable[8]: Result */
37554 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37555 variable[7] = variable[8];
37556 /* Register variable[8]: Local variable */
37557 /* Register variable[9]: Result */
37558 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37559 variable[8] = variable[9];
37560 /* Register variable[9]: Local variable */
37561 /* Register variable[10]: Result */
37562 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37563 variable[9] = variable[10];
37564 /* Register variable[10]: Local variable */
37565 /* Register variable[11]: Result */
37566 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37567 variable[10] = variable[11];
37568 /* Register variable[11]: Local variable */
37569 /* Register variable[12]: Result */
37570 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37571 variable[11] = variable[12];
37572 /* Register variable[12]: Local variable */
37573 variable[12] = variable[10] /*nodearraylist1*/;
37574 /* Register variable[13]: Result */
37575 variable[13] = TAG_Bool(( variable[12] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37576 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 14974); nit_exit(1);}
37577 /* Register variable[13]: Local variable */
37578 variable[13] = variable[9] /*nodearraylist2*/;
37579 /* Register variable[14]: Result */
37580 variable[14] = TAG_Bool(( variable[13] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37581 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 14976); nit_exit(1);}
37582 /* Register variable[14]: Result */
37583 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::==*/)))))));
37584 if (UNTAG_Bool(variable[14])) { /*if*/
37585 /* Register variable[14]: Result */
37586 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode4*/)( variable[11] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
37587 if (UNTAG_Bool(variable[14])) { /*if*/
37588 variable[11] = variable[13] /*listnode3*/ /*listnode4=*/;
37589 } else { /*if*/
37590 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode4*/)( variable[11] /*listnode4*/, variable[13] /*listnode3*/) /*IndexedCollection::append*/;
37591 }
37592 }
37593 /* Register variable[14]: Local variable */
37594 variable[14] = variable[8] /*nodearraylist3*/;
37595 /* Register variable[15]: Result */
37596 variable[15] = TAG_Bool(( variable[14] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37597 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 14985); nit_exit(1);}
37598 /* Register variable[15]: Local variable */
37599 /* Register variable[16]: Result */
37600 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37601 variable[15] = variable[16];
37602 /* Register variable[16]: Local variable */
37603 variable[16] = variable[6] /*nodearraylist5*/;
37604 /* Register variable[17]: Result */
37605 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37606 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 14988); nit_exit(1);}
37607 /* Register variable[17]: Local variable */
37608 variable[17] = variable[5] /*nodearraylist6*/;
37609 /* Register variable[18]: Result */
37610 variable[18] = TAG_Bool(( variable[17] /*listnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*listnode8*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37611 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction343___action, LOCATE_parser, 14990); nit_exit(1);}
37612 /* Register variable[18]: Result */
37613 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::==*/)))))));
37614 if (UNTAG_Bool(variable[18])) { /*if*/
37615 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[16] /*pexprnode7*/) /*AbstractArray::add*/;
37616 }
37617 /* Register variable[18]: Result */
37618 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::==*/)))))));
37619 if (UNTAG_Bool(variable[18])) { /*if*/
37620 /* Register variable[18]: Result */
37621 variable[18] = CALL_abstract_collection___Collection___is_empty( variable[15] /*listnode9*/)( variable[15] /*listnode9*/) /*AbstractArrayRead::is_empty*/;
37622 if (UNTAG_Bool(variable[18])) { /*if*/
37623 variable[15] = variable[17] /*listnode8*/ /*listnode9=*/;
37624 } else { /*if*/
37625 CALL_abstract_collection___IndexedCollection___append( variable[15] /*listnode9*/)( variable[15] /*listnode9*/, variable[17] /*listnode8*/) /*IndexedCollection::append*/;
37626 }
37627 }
37628 /* Register variable[18]: Local variable */
37629 /* Register variable[19]: Result */
37630 variable[19] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode9*/) /*new ABlockExpr*/;
37631 variable[18] = variable[19];
37632 /* Register variable[19]: Local variable */
37633 /* Register variable[20]: Result */
37634 variable[20] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[12] /*tkwwithnode2*/, variable[11] /*listnode4*/, variable[14] /*tkwdonode5*/, variable[18] /*pexprnode6*/) /*new AClosureDef*/;
37635 variable[19] = variable[20];
37636 variable[3] = variable[19] /*pclosuredefnode1*/ /*node_list=*/;
37637 /* Register variable[20]: Result */
37638 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37639 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
37640 return_label718: while(false);
37641 tracehead = trace.prev;
37642 return;
37643 }
37644 void parser___ReduceAction343___init(val_t self, int* init_table) {
37645 struct trace_t trace = {NULL, NULL, 15013, LOCATE_parser___ReduceAction343___init};
37646 val_t variable[2];
37647 struct WBT_ **closurevariable = NULL;
37648 trace.prev = tracehead; tracehead = &trace;
37649 trace.file = LOCATE_parser;
37650 /* Register variable[0]: Local variable */
37651 variable[0] = self;
37652 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction343].i]) return;
37653 /* Register variable[1]: Method return value and escape marker */
37654 return_label719: while(false);
37655 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction343].i] = 1;
37656 tracehead = trace.prev;
37657 return;
37658 }
37659 void parser___ReduceAction344___action(val_t self, val_t param0) {
37660 struct trace_t trace = {NULL, NULL, 15017, LOCATE_parser___ReduceAction344___action};
37661 val_t variable[12];
37662 struct WBT_ **closurevariable = NULL;
37663 trace.prev = tracehead; tracehead = &trace;
37664 trace.file = LOCATE_parser;
37665 /* Register variable[0]: Local variable */
37666 variable[0] = self;
37667 /* Register variable[1]: Local variable */
37668 variable[1] = param0;
37669 /* Register variable[2]: Method return value and escape marker */
37670 /* Register variable[3]: Local variable */
37671 variable[3] = NIT_NULL /*null*/;
37672 /* Register variable[4]: Local variable */
37673 /* Register variable[5]: Result */
37674 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37675 variable[4] = variable[5];
37676 /* Register variable[5]: Local variable */
37677 /* Register variable[6]: Result */
37678 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37679 variable[5] = variable[6];
37680 /* Register variable[6]: Local variable */
37681 /* Register variable[7]: Result */
37682 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37683 variable[6] = variable[7];
37684 /* Register variable[7]: Local variable */
37685 /* Register variable[8]: Result */
37686 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37687 variable[7] = variable[8];
37688 /* Register variable[8]: Local variable */
37689 variable[8] = variable[6] /*nodearraylist1*/;
37690 /* Register variable[9]: Result */
37691 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37692 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 15025); nit_exit(1);}
37693 /* Register variable[9]: Local variable */
37694 variable[9] = variable[5] /*nodearraylist2*/;
37695 /* Register variable[10]: Result */
37696 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37697 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction344___action, LOCATE_parser, 15027); nit_exit(1);}
37698 /* Register variable[10]: Local variable */
37699 /* Register variable[11]: Result */
37700 variable[11] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, NIT_NULL /*null*/) /*new AClosureDef*/;
37701 variable[10] = variable[11];
37702 variable[3] = variable[10] /*pclosuredefnode1*/ /*node_list=*/;
37703 /* Register variable[11]: Result */
37704 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37705 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37706 return_label720: while(false);
37707 tracehead = trace.prev;
37708 return;
37709 }
37710 void parser___ReduceAction344___init(val_t self, int* init_table) {
37711 struct trace_t trace = {NULL, NULL, 15037, LOCATE_parser___ReduceAction344___init};
37712 val_t variable[2];
37713 struct WBT_ **closurevariable = NULL;
37714 trace.prev = tracehead; tracehead = &trace;
37715 trace.file = LOCATE_parser;
37716 /* Register variable[0]: Local variable */
37717 variable[0] = self;
37718 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction344].i]) return;
37719 /* Register variable[1]: Method return value and escape marker */
37720 return_label721: while(false);
37721 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction344].i] = 1;
37722 tracehead = trace.prev;
37723 return;
37724 }
37725 void parser___ReduceAction345___action(val_t self, val_t param0) {
37726 struct trace_t trace = {NULL, NULL, 15041, LOCATE_parser___ReduceAction345___action};
37727 val_t variable[14];
37728 struct WBT_ **closurevariable = NULL;
37729 trace.prev = tracehead; tracehead = &trace;
37730 trace.file = LOCATE_parser;
37731 /* Register variable[0]: Local variable */
37732 variable[0] = self;
37733 /* Register variable[1]: Local variable */
37734 variable[1] = param0;
37735 /* Register variable[2]: Method return value and escape marker */
37736 /* Register variable[3]: Local variable */
37737 variable[3] = NIT_NULL /*null*/;
37738 /* Register variable[4]: Local variable */
37739 /* Register variable[5]: Result */
37740 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37741 variable[4] = variable[5];
37742 /* Register variable[5]: Local variable */
37743 /* Register variable[6]: Result */
37744 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37745 variable[5] = variable[6];
37746 /* Register variable[6]: Local variable */
37747 /* Register variable[7]: Result */
37748 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37749 variable[6] = variable[7];
37750 /* Register variable[7]: Local variable */
37751 /* Register variable[8]: Result */
37752 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37753 variable[7] = variable[8];
37754 /* Register variable[8]: Local variable */
37755 /* Register variable[9]: Result */
37756 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
37757 variable[8] = variable[9];
37758 /* Register variable[9]: Local variable */
37759 variable[9] = variable[7] /*nodearraylist1*/;
37760 /* Register variable[10]: Result */
37761 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
37762 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 15050); nit_exit(1);}
37763 /* Register variable[10]: Local variable */
37764 variable[10] = variable[6] /*nodearraylist2*/;
37765 /* Register variable[11]: Result */
37766 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
37767 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 15052); nit_exit(1);}
37768 /* Register variable[11]: Result */
37769 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::==*/)))))));
37770 if (UNTAG_Bool(variable[11])) { /*if*/
37771 /* Register variable[11]: Result */
37772 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
37773 if (UNTAG_Bool(variable[11])) { /*if*/
37774 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
37775 } else { /*if*/
37776 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
37777 }
37778 }
37779 /* Register variable[11]: Local variable */
37780 variable[11] = variable[5] /*nodearraylist3*/;
37781 /* Register variable[12]: Result */
37782 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
37783 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction345___action, LOCATE_parser, 15061); nit_exit(1);}
37784 /* Register variable[12]: Local variable */
37785 /* Register variable[13]: Result */
37786 variable[13] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, NIT_NULL /*null*/) /*new AClosureDef*/;
37787 variable[12] = variable[13];
37788 variable[3] = variable[12] /*pclosuredefnode1*/ /*node_list=*/;
37789 /* Register variable[13]: Result */
37790 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(31)) /*Parser::go_to*/;
37791 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
37792 return_label722: while(false);
37793 tracehead = trace.prev;
37794 return;
37795 }
37796 void parser___ReduceAction345___init(val_t self, int* init_table) {
37797 struct trace_t trace = {NULL, NULL, 15071, LOCATE_parser___ReduceAction345___init};
37798 val_t variable[2];
37799 struct WBT_ **closurevariable = NULL;
37800 trace.prev = tracehead; tracehead = &trace;
37801 trace.file = LOCATE_parser;
37802 /* Register variable[0]: Local variable */
37803 variable[0] = self;
37804 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction345].i]) return;
37805 /* Register variable[1]: Method return value and escape marker */
37806 return_label723: while(false);
37807 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction345].i] = 1;
37808 tracehead = trace.prev;
37809 return;
37810 }
37811 void parser___ReduceAction346___action(val_t self, val_t param0) {
37812 struct trace_t trace = {NULL, NULL, 15075, LOCATE_parser___ReduceAction346___action};
37813 val_t variable[10];
37814 struct WBT_ **closurevariable = NULL;
37815 trace.prev = tracehead; tracehead = &trace;
37816 trace.file = LOCATE_parser;
37817 /* Register variable[0]: Local variable */
37818 variable[0] = self;
37819 /* Register variable[1]: Local variable */
37820 variable[1] = param0;
37821 /* Register variable[2]: Method return value and escape marker */
37822 /* Register variable[3]: Local variable */
37823 variable[3] = NIT_NULL /*null*/;
37824 /* Register variable[4]: Local variable */
37825 /* Register variable[5]: Result */
37826 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37827 variable[4] = variable[5];
37828 /* Register variable[5]: Local variable */
37829 /* Register variable[6]: Result */
37830 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37831 variable[5] = variable[6];
37832 /* Register variable[6]: Local variable */
37833 variable[6] = variable[5] /*nodearraylist1*/;
37834 /* Register variable[7]: Result */
37835 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
37836 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 15081); nit_exit(1);}
37837 /* Register variable[7]: Local variable */
37838 variable[7] = variable[4] /*nodearraylist2*/;
37839 /* Register variable[8]: Result */
37840 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
37841 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction346___action, LOCATE_parser, 15083); nit_exit(1);}
37842 /* Register variable[8]: Local variable */
37843 /* Register variable[9]: Result */
37844 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*/;
37845 variable[8] = variable[9];
37846 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
37847 /* Register variable[9]: Result */
37848 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
37849 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
37850 return_label724: while(false);
37851 tracehead = trace.prev;
37852 return;
37853 }
37854 void parser___ReduceAction346___init(val_t self, int* init_table) {
37855 struct trace_t trace = {NULL, NULL, 15094, LOCATE_parser___ReduceAction346___init};
37856 val_t variable[2];
37857 struct WBT_ **closurevariable = NULL;
37858 trace.prev = tracehead; tracehead = &trace;
37859 trace.file = LOCATE_parser;
37860 /* Register variable[0]: Local variable */
37861 variable[0] = self;
37862 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction346].i]) return;
37863 /* Register variable[1]: Method return value and escape marker */
37864 return_label725: while(false);
37865 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction346].i] = 1;
37866 tracehead = trace.prev;
37867 return;
37868 }
37869 void parser___ReduceAction347___action(val_t self, val_t param0) {
37870 struct trace_t trace = {NULL, NULL, 15098, LOCATE_parser___ReduceAction347___action};
37871 val_t variable[12];
37872 struct WBT_ **closurevariable = NULL;
37873 trace.prev = tracehead; tracehead = &trace;
37874 trace.file = LOCATE_parser;
37875 /* Register variable[0]: Local variable */
37876 variable[0] = self;
37877 /* Register variable[1]: Local variable */
37878 variable[1] = param0;
37879 /* Register variable[2]: Method return value and escape marker */
37880 /* Register variable[3]: Local variable */
37881 variable[3] = NIT_NULL /*null*/;
37882 /* Register variable[4]: Local variable */
37883 /* Register variable[5]: Result */
37884 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37885 variable[4] = variable[5];
37886 /* Register variable[5]: Local variable */
37887 /* Register variable[6]: Result */
37888 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37889 variable[5] = variable[6];
37890 /* Register variable[6]: Local variable */
37891 /* Register variable[7]: Result */
37892 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37893 variable[6] = variable[7];
37894 /* Register variable[7]: Local variable */
37895 variable[7] = variable[6] /*nodearraylist1*/;
37896 /* Register variable[8]: Result */
37897 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
37898 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 15105); nit_exit(1);}
37899 /* Register variable[8]: Local variable */
37900 variable[8] = variable[5] /*nodearraylist2*/;
37901 /* Register variable[9]: Result */
37902 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
37903 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 15107); nit_exit(1);}
37904 /* Register variable[9]: Local variable */
37905 variable[9] = variable[4] /*nodearraylist3*/;
37906 /* Register variable[10]: Result */
37907 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
37908 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction347___action, LOCATE_parser, 15109); nit_exit(1);}
37909 /* Register variable[10]: Local variable */
37910 /* Register variable[11]: Result */
37911 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*/;
37912 variable[10] = variable[11];
37913 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
37914 /* Register variable[11]: Result */
37915 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
37916 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
37917 return_label726: while(false);
37918 tracehead = trace.prev;
37919 return;
37920 }
37921 void parser___ReduceAction347___init(val_t self, int* init_table) {
37922 struct trace_t trace = {NULL, NULL, 15120, LOCATE_parser___ReduceAction347___init};
37923 val_t variable[2];
37924 struct WBT_ **closurevariable = NULL;
37925 trace.prev = tracehead; tracehead = &trace;
37926 trace.file = LOCATE_parser;
37927 /* Register variable[0]: Local variable */
37928 variable[0] = self;
37929 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction347].i]) return;
37930 /* Register variable[1]: Method return value and escape marker */
37931 return_label727: while(false);
37932 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction347].i] = 1;
37933 tracehead = trace.prev;
37934 return;
37935 }
37936 void parser___ReduceAction348___action(val_t self, val_t param0) {
37937 struct trace_t trace = {NULL, NULL, 15124, LOCATE_parser___ReduceAction348___action};
37938 val_t variable[15];
37939 struct WBT_ **closurevariable = NULL;
37940 trace.prev = tracehead; tracehead = &trace;
37941 trace.file = LOCATE_parser;
37942 /* Register variable[0]: Local variable */
37943 variable[0] = self;
37944 /* Register variable[1]: Local variable */
37945 variable[1] = param0;
37946 /* Register variable[2]: Method return value and escape marker */
37947 /* Register variable[3]: Local variable */
37948 variable[3] = NIT_NULL /*null*/;
37949 /* Register variable[4]: Local variable */
37950 /* Register variable[5]: Result */
37951 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37952 variable[4] = variable[5];
37953 /* Register variable[5]: Local variable */
37954 /* Register variable[6]: Result */
37955 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37956 variable[5] = variable[6];
37957 /* Register variable[6]: Local variable */
37958 /* Register variable[7]: Result */
37959 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37960 variable[6] = variable[7];
37961 /* Register variable[7]: Local variable */
37962 /* Register variable[8]: Result */
37963 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37964 variable[7] = variable[8];
37965 /* Register variable[8]: Local variable */
37966 /* Register variable[9]: Result */
37967 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
37968 variable[8] = variable[9];
37969 /* Register variable[9]: Local variable */
37970 variable[9] = variable[8] /*nodearraylist1*/;
37971 /* Register variable[10]: Result */
37972 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
37973 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 15133); nit_exit(1);}
37974 /* Register variable[10]: Local variable */
37975 variable[10] = variable[7] /*nodearraylist2*/;
37976 /* Register variable[11]: Result */
37977 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
37978 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 15135); nit_exit(1);}
37979 /* Register variable[11]: Local variable */
37980 variable[11] = variable[6] /*nodearraylist3*/;
37981 /* Register variable[12]: Result */
37982 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
37983 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 15137); nit_exit(1);}
37984 /* Register variable[12]: Local variable */
37985 variable[12] = variable[4] /*nodearraylist5*/;
37986 /* Register variable[13]: Result */
37987 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
37988 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction348___action, LOCATE_parser, 15139); nit_exit(1);}
37989 /* Register variable[13]: Local variable */
37990 /* Register variable[14]: Result */
37991 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*/;
37992 variable[13] = variable[14];
37993 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
37994 /* Register variable[14]: Result */
37995 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
37996 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
37997 return_label728: while(false);
37998 tracehead = trace.prev;
37999 return;
38000 }
38001 void parser___ReduceAction348___init(val_t self, int* init_table) {
38002 struct trace_t trace = {NULL, NULL, 15150, LOCATE_parser___ReduceAction348___init};
38003 val_t variable[2];
38004 struct WBT_ **closurevariable = NULL;
38005 trace.prev = tracehead; tracehead = &trace;
38006 trace.file = LOCATE_parser;
38007 /* Register variable[0]: Local variable */
38008 variable[0] = self;
38009 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction348].i]) return;
38010 /* Register variable[1]: Method return value and escape marker */
38011 return_label729: while(false);
38012 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction348].i] = 1;
38013 tracehead = trace.prev;
38014 return;
38015 }
38016 void parser___ReduceAction349___action(val_t self, val_t param0) {
38017 struct trace_t trace = {NULL, NULL, 15154, LOCATE_parser___ReduceAction349___action};
38018 val_t variable[17];
38019 struct WBT_ **closurevariable = NULL;
38020 trace.prev = tracehead; tracehead = &trace;
38021 trace.file = LOCATE_parser;
38022 /* Register variable[0]: Local variable */
38023 variable[0] = self;
38024 /* Register variable[1]: Local variable */
38025 variable[1] = param0;
38026 /* Register variable[2]: Method return value and escape marker */
38027 /* Register variable[3]: Local variable */
38028 variable[3] = NIT_NULL /*null*/;
38029 /* Register variable[4]: Local variable */
38030 /* Register variable[5]: Result */
38031 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38032 variable[4] = variable[5];
38033 /* Register variable[5]: Local variable */
38034 /* Register variable[6]: Result */
38035 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38036 variable[5] = variable[6];
38037 /* Register variable[6]: Local variable */
38038 /* Register variable[7]: Result */
38039 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38040 variable[6] = variable[7];
38041 /* Register variable[7]: Local variable */
38042 /* Register variable[8]: Result */
38043 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38044 variable[7] = variable[8];
38045 /* Register variable[8]: Local variable */
38046 /* Register variable[9]: Result */
38047 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38048 variable[8] = variable[9];
38049 /* Register variable[9]: Local variable */
38050 /* Register variable[10]: Result */
38051 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38052 variable[9] = variable[10];
38053 /* Register variable[10]: Local variable */
38054 variable[10] = variable[9] /*nodearraylist1*/;
38055 /* Register variable[11]: Result */
38056 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
38057 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 15164); nit_exit(1);}
38058 /* Register variable[11]: Local variable */
38059 variable[11] = variable[8] /*nodearraylist2*/;
38060 /* Register variable[12]: Result */
38061 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38062 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 15166); nit_exit(1);}
38063 /* Register variable[12]: Local variable */
38064 variable[12] = variable[7] /*nodearraylist3*/;
38065 /* Register variable[13]: Result */
38066 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
38067 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 15168); nit_exit(1);}
38068 /* Register variable[13]: Local variable */
38069 variable[13] = variable[6] /*nodearraylist4*/;
38070 /* Register variable[14]: Result */
38071 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38072 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 15170); nit_exit(1);}
38073 /* Register variable[14]: Local variable */
38074 variable[14] = variable[4] /*nodearraylist6*/;
38075 /* Register variable[15]: Result */
38076 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38077 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction349___action, LOCATE_parser, 15172); nit_exit(1);}
38078 /* Register variable[15]: Local variable */
38079 /* Register variable[16]: Result */
38080 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*/;
38081 variable[15] = variable[16];
38082 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
38083 /* Register variable[16]: Result */
38084 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(32)) /*Parser::go_to*/;
38085 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
38086 return_label730: while(false);
38087 tracehead = trace.prev;
38088 return;
38089 }
38090 void parser___ReduceAction349___init(val_t self, int* init_table) {
38091 struct trace_t trace = {NULL, NULL, 15183, LOCATE_parser___ReduceAction349___init};
38092 val_t variable[2];
38093 struct WBT_ **closurevariable = NULL;
38094 trace.prev = tracehead; tracehead = &trace;
38095 trace.file = LOCATE_parser;
38096 /* Register variable[0]: Local variable */
38097 variable[0] = self;
38098 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction349].i]) return;
38099 /* Register variable[1]: Method return value and escape marker */
38100 return_label731: while(false);
38101 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction349].i] = 1;
38102 tracehead = trace.prev;
38103 return;
38104 }
38105 void parser___ReduceAction350___action(val_t self, val_t param0) {
38106 struct trace_t trace = {NULL, NULL, 15187, LOCATE_parser___ReduceAction350___action};
38107 val_t variable[16];
38108 struct WBT_ **closurevariable = NULL;
38109 trace.prev = tracehead; tracehead = &trace;
38110 trace.file = LOCATE_parser;
38111 /* Register variable[0]: Local variable */
38112 variable[0] = self;
38113 /* Register variable[1]: Local variable */
38114 variable[1] = param0;
38115 /* Register variable[2]: Method return value and escape marker */
38116 /* Register variable[3]: Local variable */
38117 variable[3] = NIT_NULL /*null*/;
38118 /* Register variable[4]: Local variable */
38119 /* Register variable[5]: Result */
38120 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38121 variable[4] = variable[5];
38122 /* Register variable[5]: Local variable */
38123 /* Register variable[6]: Result */
38124 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38125 variable[5] = variable[6];
38126 /* Register variable[6]: Local variable */
38127 /* Register variable[7]: Result */
38128 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38129 variable[6] = variable[7];
38130 /* Register variable[7]: Local variable */
38131 /* Register variable[8]: Result */
38132 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38133 variable[7] = variable[8];
38134 /* Register variable[8]: Local variable */
38135 /* Register variable[9]: Result */
38136 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38137 variable[8] = variable[9];
38138 /* Register variable[9]: Local variable */
38139 /* Register variable[10]: Result */
38140 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38141 variable[9] = variable[10];
38142 /* Register variable[10]: Local variable */
38143 variable[10] = variable[9] /*nodearraylist1*/;
38144 /* Register variable[11]: Result */
38145 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38146 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 15197); nit_exit(1);}
38147 /* Register variable[11]: Local variable */
38148 variable[11] = variable[6] /*nodearraylist4*/;
38149 /* Register variable[12]: Result */
38150 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38151 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 15199); nit_exit(1);}
38152 /* Register variable[12]: Local variable */
38153 variable[12] = variable[5] /*nodearraylist5*/;
38154 /* Register variable[13]: Result */
38155 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38156 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 15201); nit_exit(1);}
38157 /* Register variable[13]: Local variable */
38158 variable[13] = variable[4] /*nodearraylist6*/;
38159 /* Register variable[14]: Result */
38160 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38161 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction350___action, LOCATE_parser, 15203); nit_exit(1);}
38162 /* Register variable[14]: Local variable */
38163 /* Register variable[15]: Result */
38164 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/) /*new AAttrAssignExpr*/;
38165 variable[14] = variable[15];
38166 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
38167 /* Register variable[15]: Result */
38168 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38169 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
38170 return_label732: while(false);
38171 tracehead = trace.prev;
38172 return;
38173 }
38174 void parser___ReduceAction350___init(val_t self, int* init_table) {
38175 struct trace_t trace = {NULL, NULL, 15213, LOCATE_parser___ReduceAction350___init};
38176 val_t variable[2];
38177 struct WBT_ **closurevariable = NULL;
38178 trace.prev = tracehead; tracehead = &trace;
38179 trace.file = LOCATE_parser;
38180 /* Register variable[0]: Local variable */
38181 variable[0] = self;
38182 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction350].i]) return;
38183 /* Register variable[1]: Method return value and escape marker */
38184 return_label733: while(false);
38185 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction350].i] = 1;
38186 tracehead = trace.prev;
38187 return;
38188 }
38189 void parser___ReduceAction351___action(val_t self, val_t param0) {
38190 struct trace_t trace = {NULL, NULL, 15217, LOCATE_parser___ReduceAction351___action};
38191 val_t variable[13];
38192 struct WBT_ **closurevariable = NULL;
38193 trace.prev = tracehead; tracehead = &trace;
38194 trace.file = LOCATE_parser;
38195 /* Register variable[0]: Local variable */
38196 variable[0] = self;
38197 /* Register variable[1]: Local variable */
38198 variable[1] = param0;
38199 /* Register variable[2]: Method return value and escape marker */
38200 /* Register variable[3]: Local variable */
38201 variable[3] = NIT_NULL /*null*/;
38202 /* Register variable[4]: Local variable */
38203 /* Register variable[5]: Result */
38204 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38205 variable[4] = variable[5];
38206 /* Register variable[5]: Local variable */
38207 /* Register variable[6]: Result */
38208 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38209 variable[5] = variable[6];
38210 /* Register variable[6]: Local variable */
38211 /* Register variable[7]: Result */
38212 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38213 variable[6] = variable[7];
38214 /* Register variable[7]: Local variable */
38215 /* Register variable[8]: Result */
38216 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
38217 variable[7] = variable[8];
38218 /* Register variable[8]: Local variable */
38219 variable[8] = variable[6] /*nodearraylist1*/;
38220 /* Register variable[9]: Result */
38221 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38222 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 15226); nit_exit(1);}
38223 /* Register variable[9]: Local variable */
38224 variable[9] = variable[5] /*nodearraylist2*/;
38225 /* Register variable[10]: Result */
38226 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38227 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 15228); nit_exit(1);}
38228 /* Register variable[10]: Local variable */
38229 variable[10] = variable[4] /*nodearraylist3*/;
38230 /* Register variable[11]: Result */
38231 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38232 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction351___action, LOCATE_parser, 15230); nit_exit(1);}
38233 /* Register variable[11]: Local variable */
38234 /* Register variable[12]: Result */
38235 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/) /*new AAttrAssignExpr*/;
38236 variable[11] = variable[12];
38237 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
38238 /* Register variable[12]: Result */
38239 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38240 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
38241 return_label734: while(false);
38242 tracehead = trace.prev;
38243 return;
38244 }
38245 void parser___ReduceAction351___init(val_t self, int* init_table) {
38246 struct trace_t trace = {NULL, NULL, 15240, LOCATE_parser___ReduceAction351___init};
38247 val_t variable[2];
38248 struct WBT_ **closurevariable = NULL;
38249 trace.prev = tracehead; tracehead = &trace;
38250 trace.file = LOCATE_parser;
38251 /* Register variable[0]: Local variable */
38252 variable[0] = self;
38253 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction351].i]) return;
38254 /* Register variable[1]: Method return value and escape marker */
38255 return_label735: while(false);
38256 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction351].i] = 1;
38257 tracehead = trace.prev;
38258 return;
38259 }
38260 void parser___ReduceAction352___action(val_t self, val_t param0) {
38261 struct trace_t trace = {NULL, NULL, 15244, LOCATE_parser___ReduceAction352___action};
38262 val_t variable[19];
38263 struct WBT_ **closurevariable = NULL;
38264 trace.prev = tracehead; tracehead = &trace;
38265 trace.file = LOCATE_parser;
38266 /* Register variable[0]: Local variable */
38267 variable[0] = self;
38268 /* Register variable[1]: Local variable */
38269 variable[1] = param0;
38270 /* Register variable[2]: Method return value and escape marker */
38271 /* Register variable[3]: Local variable */
38272 variable[3] = NIT_NULL /*null*/;
38273 /* Register variable[4]: Local variable */
38274 /* Register variable[5]: Result */
38275 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38276 variable[4] = variable[5];
38277 /* Register variable[5]: Local variable */
38278 /* Register variable[6]: Result */
38279 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38280 variable[5] = variable[6];
38281 /* Register variable[6]: Local variable */
38282 /* Register variable[7]: Result */
38283 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38284 variable[6] = variable[7];
38285 /* Register variable[7]: Local variable */
38286 /* Register variable[8]: Result */
38287 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38288 variable[7] = variable[8];
38289 /* Register variable[8]: Local variable */
38290 /* Register variable[9]: Result */
38291 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38292 variable[8] = variable[9];
38293 /* Register variable[9]: Local variable */
38294 /* Register variable[10]: Result */
38295 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38296 variable[9] = variable[10];
38297 /* Register variable[10]: Local variable */
38298 /* Register variable[11]: Result */
38299 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38300 variable[10] = variable[11];
38301 /* Register variable[11]: Local variable */
38302 /* Register variable[12]: Result */
38303 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38304 variable[11] = variable[12];
38305 /* Register variable[12]: Local variable */
38306 variable[12] = variable[10] /*nodearraylist1*/;
38307 /* Register variable[13]: Result */
38308 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38309 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 15256); nit_exit(1);}
38310 /* Register variable[13]: Local variable */
38311 variable[13] = variable[7] /*nodearraylist4*/;
38312 /* Register variable[14]: Result */
38313 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38314 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 15258); nit_exit(1);}
38315 /* Register variable[14]: Local variable */
38316 variable[14] = variable[6] /*nodearraylist5*/;
38317 /* Register variable[15]: Result */
38318 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38319 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 15260); nit_exit(1);}
38320 /* Register variable[15]: Result */
38321 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::==*/)))))));
38322 if (UNTAG_Bool(variable[15])) { /*if*/
38323 /* Register variable[15]: Result */
38324 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
38325 if (UNTAG_Bool(variable[15])) { /*if*/
38326 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
38327 } else { /*if*/
38328 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
38329 }
38330 }
38331 /* Register variable[15]: Local variable */
38332 variable[15] = variable[5] /*nodearraylist6*/;
38333 /* Register variable[16]: Result */
38334 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38335 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 15269); nit_exit(1);}
38336 /* Register variable[16]: Local variable */
38337 variable[16] = variable[4] /*nodearraylist7*/;
38338 /* Register variable[17]: Result */
38339 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38340 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction352___action, LOCATE_parser, 15271); nit_exit(1);}
38341 /* Register variable[17]: Local variable */
38342 /* Register variable[18]: Result */
38343 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*/;
38344 variable[17] = variable[18];
38345 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
38346 /* Register variable[18]: Result */
38347 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38348 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
38349 return_label736: while(false);
38350 tracehead = trace.prev;
38351 return;
38352 }
38353 void parser___ReduceAction352___init(val_t self, int* init_table) {
38354 struct trace_t trace = {NULL, NULL, 15282, LOCATE_parser___ReduceAction352___init};
38355 val_t variable[2];
38356 struct WBT_ **closurevariable = NULL;
38357 trace.prev = tracehead; tracehead = &trace;
38358 trace.file = LOCATE_parser;
38359 /* Register variable[0]: Local variable */
38360 variable[0] = self;
38361 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction352].i]) return;
38362 /* Register variable[1]: Method return value and escape marker */
38363 return_label737: while(false);
38364 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction352].i] = 1;
38365 tracehead = trace.prev;
38366 return;
38367 }
38368 void parser___ReduceAction353___action(val_t self, val_t param0) {
38369 struct trace_t trace = {NULL, NULL, 15286, LOCATE_parser___ReduceAction353___action};
38370 val_t variable[16];
38371 struct WBT_ **closurevariable = NULL;
38372 trace.prev = tracehead; tracehead = &trace;
38373 trace.file = LOCATE_parser;
38374 /* Register variable[0]: Local variable */
38375 variable[0] = self;
38376 /* Register variable[1]: Local variable */
38377 variable[1] = param0;
38378 /* Register variable[2]: Method return value and escape marker */
38379 /* Register variable[3]: Local variable */
38380 variable[3] = NIT_NULL /*null*/;
38381 /* Register variable[4]: Local variable */
38382 /* Register variable[5]: Result */
38383 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38384 variable[4] = variable[5];
38385 /* Register variable[5]: Local variable */
38386 /* Register variable[6]: Result */
38387 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38388 variable[5] = variable[6];
38389 /* Register variable[6]: Local variable */
38390 /* Register variable[7]: Result */
38391 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38392 variable[6] = variable[7];
38393 /* Register variable[7]: Local variable */
38394 /* Register variable[8]: Result */
38395 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38396 variable[7] = variable[8];
38397 /* Register variable[8]: Local variable */
38398 /* Register variable[9]: Result */
38399 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38400 variable[8] = variable[9];
38401 /* Register variable[9]: Local variable */
38402 /* Register variable[10]: Result */
38403 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
38404 variable[9] = variable[10];
38405 /* Register variable[10]: Local variable */
38406 variable[10] = variable[7] /*nodearraylist1*/;
38407 /* Register variable[11]: Result */
38408 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38409 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 15297); nit_exit(1);}
38410 /* Register variable[11]: Local variable */
38411 variable[11] = variable[6] /*nodearraylist2*/;
38412 /* Register variable[12]: Result */
38413 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38414 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 15299); nit_exit(1);}
38415 /* Register variable[12]: Result */
38416 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::==*/)))))));
38417 if (UNTAG_Bool(variable[12])) { /*if*/
38418 /* Register variable[12]: Result */
38419 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
38420 if (UNTAG_Bool(variable[12])) { /*if*/
38421 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
38422 } else { /*if*/
38423 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
38424 }
38425 }
38426 /* Register variable[12]: Local variable */
38427 variable[12] = variable[5] /*nodearraylist3*/;
38428 /* Register variable[13]: Result */
38429 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38430 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 15308); nit_exit(1);}
38431 /* Register variable[13]: Local variable */
38432 variable[13] = variable[4] /*nodearraylist4*/;
38433 /* Register variable[14]: Result */
38434 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38435 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction353___action, LOCATE_parser, 15310); nit_exit(1);}
38436 /* Register variable[14]: Local variable */
38437 /* Register variable[15]: Result */
38438 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*/;
38439 variable[14] = variable[15];
38440 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
38441 /* Register variable[15]: Result */
38442 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38443 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
38444 return_label738: while(false);
38445 tracehead = trace.prev;
38446 return;
38447 }
38448 void parser___ReduceAction353___init(val_t self, int* init_table) {
38449 struct trace_t trace = {NULL, NULL, 15321, LOCATE_parser___ReduceAction353___init};
38450 val_t variable[2];
38451 struct WBT_ **closurevariable = NULL;
38452 trace.prev = tracehead; tracehead = &trace;
38453 trace.file = LOCATE_parser;
38454 /* Register variable[0]: Local variable */
38455 variable[0] = self;
38456 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction353].i]) return;
38457 /* Register variable[1]: Method return value and escape marker */
38458 return_label739: while(false);
38459 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction353].i] = 1;
38460 tracehead = trace.prev;
38461 return;
38462 }
38463 void parser___ReduceAction354___action(val_t self, val_t param0) {
38464 struct trace_t trace = {NULL, NULL, 15325, LOCATE_parser___ReduceAction354___action};
38465 val_t variable[15];
38466 struct WBT_ **closurevariable = NULL;
38467 trace.prev = tracehead; tracehead = &trace;
38468 trace.file = LOCATE_parser;
38469 /* Register variable[0]: Local variable */
38470 variable[0] = self;
38471 /* Register variable[1]: Local variable */
38472 variable[1] = param0;
38473 /* Register variable[2]: Method return value and escape marker */
38474 /* Register variable[3]: Local variable */
38475 variable[3] = NIT_NULL /*null*/;
38476 /* Register variable[4]: Local variable */
38477 /* Register variable[5]: Result */
38478 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38479 variable[4] = variable[5];
38480 /* Register variable[5]: Local variable */
38481 /* Register variable[6]: Result */
38482 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38483 variable[5] = variable[6];
38484 /* Register variable[6]: Local variable */
38485 /* Register variable[7]: Result */
38486 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38487 variable[6] = variable[7];
38488 /* Register variable[7]: Local variable */
38489 /* Register variable[8]: Result */
38490 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38491 variable[7] = variable[8];
38492 /* Register variable[8]: Local variable */
38493 /* Register variable[9]: Result */
38494 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38495 variable[8] = variable[9];
38496 /* Register variable[9]: Local variable */
38497 variable[9] = variable[7] /*nodearraylist1*/;
38498 /* Register variable[10]: Result */
38499 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38500 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 15334); nit_exit(1);}
38501 /* Register variable[10]: Local variable */
38502 variable[10] = variable[6] /*nodearraylist2*/;
38503 /* Register variable[11]: Result */
38504 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38505 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 15336); nit_exit(1);}
38506 /* Register variable[11]: Result */
38507 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::==*/)))))));
38508 if (UNTAG_Bool(variable[11])) { /*if*/
38509 /* Register variable[11]: Result */
38510 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
38511 if (UNTAG_Bool(variable[11])) { /*if*/
38512 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
38513 } else { /*if*/
38514 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
38515 }
38516 }
38517 /* Register variable[11]: Local variable */
38518 variable[11] = variable[5] /*nodearraylist3*/;
38519 /* Register variable[12]: Result */
38520 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
38521 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 15345); nit_exit(1);}
38522 /* Register variable[12]: Local variable */
38523 variable[12] = variable[4] /*nodearraylist4*/;
38524 /* Register variable[13]: Result */
38525 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38526 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction354___action, LOCATE_parser, 15347); nit_exit(1);}
38527 /* Register variable[13]: Local variable */
38528 /* Register variable[14]: Result */
38529 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/) /*new ABraAssignExpr*/;
38530 variable[13] = variable[14];
38531 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
38532 /* Register variable[14]: Result */
38533 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38534 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
38535 return_label740: while(false);
38536 tracehead = trace.prev;
38537 return;
38538 }
38539 void parser___ReduceAction354___init(val_t self, int* init_table) {
38540 struct trace_t trace = {NULL, NULL, 15357, LOCATE_parser___ReduceAction354___init};
38541 val_t variable[2];
38542 struct WBT_ **closurevariable = NULL;
38543 trace.prev = tracehead; tracehead = &trace;
38544 trace.file = LOCATE_parser;
38545 /* Register variable[0]: Local variable */
38546 variable[0] = self;
38547 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction354].i]) return;
38548 /* Register variable[1]: Method return value and escape marker */
38549 return_label741: while(false);
38550 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction354].i] = 1;
38551 tracehead = trace.prev;
38552 return;
38553 }
38554 void parser___ReduceAction355___action(val_t self, val_t param0) {
38555 struct trace_t trace = {NULL, NULL, 15361, LOCATE_parser___ReduceAction355___action};
38556 val_t variable[16];
38557 struct WBT_ **closurevariable = NULL;
38558 trace.prev = tracehead; tracehead = &trace;
38559 trace.file = LOCATE_parser;
38560 /* Register variable[0]: Local variable */
38561 variable[0] = self;
38562 /* Register variable[1]: Local variable */
38563 variable[1] = param0;
38564 /* Register variable[2]: Method return value and escape marker */
38565 /* Register variable[3]: Local variable */
38566 variable[3] = NIT_NULL /*null*/;
38567 /* Register variable[4]: Local variable */
38568 /* Register variable[5]: Result */
38569 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38570 variable[4] = variable[5];
38571 /* Register variable[5]: Local variable */
38572 /* Register variable[6]: Result */
38573 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38574 variable[5] = variable[6];
38575 /* Register variable[6]: Local variable */
38576 /* Register variable[7]: Result */
38577 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38578 variable[6] = variable[7];
38579 /* Register variable[7]: Local variable */
38580 /* Register variable[8]: Result */
38581 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38582 variable[7] = variable[8];
38583 /* Register variable[8]: Local variable */
38584 /* Register variable[9]: Result */
38585 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38586 variable[8] = variable[9];
38587 /* Register variable[9]: Local variable */
38588 /* Register variable[10]: Result */
38589 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38590 variable[9] = variable[10];
38591 /* Register variable[10]: Local variable */
38592 variable[10] = variable[9] /*nodearraylist1*/;
38593 /* Register variable[11]: Result */
38594 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38595 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 15371); nit_exit(1);}
38596 /* Register variable[11]: Local variable */
38597 variable[11] = variable[6] /*nodearraylist4*/;
38598 /* Register variable[12]: Result */
38599 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38600 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 15373); nit_exit(1);}
38601 /* Register variable[12]: Local variable */
38602 variable[12] = variable[5] /*nodearraylist5*/;
38603 /* Register variable[13]: Result */
38604 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
38605 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 15375); nit_exit(1);}
38606 /* Register variable[13]: Local variable */
38607 variable[13] = variable[4] /*nodearraylist6*/;
38608 /* Register variable[14]: Result */
38609 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38610 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction355___action, LOCATE_parser, 15377); nit_exit(1);}
38611 /* Register variable[14]: Local variable */
38612 /* Register variable[15]: Result */
38613 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/) /*new AAttrReassignExpr*/;
38614 variable[14] = variable[15];
38615 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
38616 /* Register variable[15]: Result */
38617 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38618 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
38619 return_label742: while(false);
38620 tracehead = trace.prev;
38621 return;
38622 }
38623 void parser___ReduceAction355___init(val_t self, int* init_table) {
38624 struct trace_t trace = {NULL, NULL, 15387, LOCATE_parser___ReduceAction355___init};
38625 val_t variable[2];
38626 struct WBT_ **closurevariable = NULL;
38627 trace.prev = tracehead; tracehead = &trace;
38628 trace.file = LOCATE_parser;
38629 /* Register variable[0]: Local variable */
38630 variable[0] = self;
38631 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction355].i]) return;
38632 /* Register variable[1]: Method return value and escape marker */
38633 return_label743: while(false);
38634 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction355].i] = 1;
38635 tracehead = trace.prev;
38636 return;
38637 }
38638 void parser___ReduceAction356___action(val_t self, val_t param0) {
38639 struct trace_t trace = {NULL, NULL, 15391, LOCATE_parser___ReduceAction356___action};
38640 val_t variable[13];
38641 struct WBT_ **closurevariable = NULL;
38642 trace.prev = tracehead; tracehead = &trace;
38643 trace.file = LOCATE_parser;
38644 /* Register variable[0]: Local variable */
38645 variable[0] = self;
38646 /* Register variable[1]: Local variable */
38647 variable[1] = param0;
38648 /* Register variable[2]: Method return value and escape marker */
38649 /* Register variable[3]: Local variable */
38650 variable[3] = NIT_NULL /*null*/;
38651 /* Register variable[4]: Local variable */
38652 /* Register variable[5]: Result */
38653 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38654 variable[4] = variable[5];
38655 /* Register variable[5]: Local variable */
38656 /* Register variable[6]: Result */
38657 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38658 variable[5] = variable[6];
38659 /* Register variable[6]: Local variable */
38660 /* Register variable[7]: Result */
38661 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38662 variable[6] = variable[7];
38663 /* Register variable[7]: Local variable */
38664 /* Register variable[8]: Result */
38665 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
38666 variable[7] = variable[8];
38667 /* Register variable[8]: Local variable */
38668 variable[8] = variable[6] /*nodearraylist1*/;
38669 /* Register variable[9]: Result */
38670 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
38671 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 15400); nit_exit(1);}
38672 /* Register variable[9]: Local variable */
38673 variable[9] = variable[5] /*nodearraylist2*/;
38674 /* Register variable[10]: Result */
38675 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
38676 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 15402); nit_exit(1);}
38677 /* Register variable[10]: Local variable */
38678 variable[10] = variable[4] /*nodearraylist3*/;
38679 /* Register variable[11]: Result */
38680 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38681 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction356___action, LOCATE_parser, 15404); nit_exit(1);}
38682 /* Register variable[11]: Local variable */
38683 /* Register variable[12]: Result */
38684 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/) /*new AAttrReassignExpr*/;
38685 variable[11] = variable[12];
38686 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
38687 /* Register variable[12]: Result */
38688 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38689 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
38690 return_label744: while(false);
38691 tracehead = trace.prev;
38692 return;
38693 }
38694 void parser___ReduceAction356___init(val_t self, int* init_table) {
38695 struct trace_t trace = {NULL, NULL, 15414, LOCATE_parser___ReduceAction356___init};
38696 val_t variable[2];
38697 struct WBT_ **closurevariable = NULL;
38698 trace.prev = tracehead; tracehead = &trace;
38699 trace.file = LOCATE_parser;
38700 /* Register variable[0]: Local variable */
38701 variable[0] = self;
38702 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction356].i]) return;
38703 /* Register variable[1]: Method return value and escape marker */
38704 return_label745: while(false);
38705 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction356].i] = 1;
38706 tracehead = trace.prev;
38707 return;
38708 }
38709 void parser___ReduceAction357___action(val_t self, val_t param0) {
38710 struct trace_t trace = {NULL, NULL, 15418, LOCATE_parser___ReduceAction357___action};
38711 val_t variable[19];
38712 struct WBT_ **closurevariable = NULL;
38713 trace.prev = tracehead; tracehead = &trace;
38714 trace.file = LOCATE_parser;
38715 /* Register variable[0]: Local variable */
38716 variable[0] = self;
38717 /* Register variable[1]: Local variable */
38718 variable[1] = param0;
38719 /* Register variable[2]: Method return value and escape marker */
38720 /* Register variable[3]: Local variable */
38721 variable[3] = NIT_NULL /*null*/;
38722 /* Register variable[4]: Local variable */
38723 /* Register variable[5]: Result */
38724 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38725 variable[4] = variable[5];
38726 /* Register variable[5]: Local variable */
38727 /* Register variable[6]: Result */
38728 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38729 variable[5] = variable[6];
38730 /* Register variable[6]: Local variable */
38731 /* Register variable[7]: Result */
38732 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38733 variable[6] = variable[7];
38734 /* Register variable[7]: Local variable */
38735 /* Register variable[8]: Result */
38736 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38737 variable[7] = variable[8];
38738 /* Register variable[8]: Local variable */
38739 /* Register variable[9]: Result */
38740 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38741 variable[8] = variable[9];
38742 /* Register variable[9]: Local variable */
38743 /* Register variable[10]: Result */
38744 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38745 variable[9] = variable[10];
38746 /* Register variable[10]: Local variable */
38747 /* Register variable[11]: Result */
38748 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38749 variable[10] = variable[11];
38750 /* Register variable[11]: Local variable */
38751 /* Register variable[12]: Result */
38752 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38753 variable[11] = variable[12];
38754 /* Register variable[12]: Local variable */
38755 variable[12] = variable[10] /*nodearraylist1*/;
38756 /* Register variable[13]: Result */
38757 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38758 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 15430); nit_exit(1);}
38759 /* Register variable[13]: Local variable */
38760 variable[13] = variable[7] /*nodearraylist4*/;
38761 /* Register variable[14]: Result */
38762 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38763 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 15432); nit_exit(1);}
38764 /* Register variable[14]: Local variable */
38765 variable[14] = variable[6] /*nodearraylist5*/;
38766 /* Register variable[15]: Result */
38767 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38768 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 15434); nit_exit(1);}
38769 /* Register variable[15]: Result */
38770 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::==*/)))))));
38771 if (UNTAG_Bool(variable[15])) { /*if*/
38772 /* Register variable[15]: Result */
38773 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
38774 if (UNTAG_Bool(variable[15])) { /*if*/
38775 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
38776 } else { /*if*/
38777 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
38778 }
38779 }
38780 /* Register variable[15]: Local variable */
38781 variable[15] = variable[5] /*nodearraylist6*/;
38782 /* Register variable[16]: Result */
38783 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
38784 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 15443); nit_exit(1);}
38785 /* Register variable[16]: Local variable */
38786 variable[16] = variable[4] /*nodearraylist7*/;
38787 /* Register variable[17]: Result */
38788 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38789 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction357___action, LOCATE_parser, 15445); nit_exit(1);}
38790 /* Register variable[17]: Local variable */
38791 /* Register variable[18]: Result */
38792 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*/;
38793 variable[17] = variable[18];
38794 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
38795 /* Register variable[18]: Result */
38796 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38797 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
38798 return_label746: while(false);
38799 tracehead = trace.prev;
38800 return;
38801 }
38802 void parser___ReduceAction357___init(val_t self, int* init_table) {
38803 struct trace_t trace = {NULL, NULL, 15456, LOCATE_parser___ReduceAction357___init};
38804 val_t variable[2];
38805 struct WBT_ **closurevariable = NULL;
38806 trace.prev = tracehead; tracehead = &trace;
38807 trace.file = LOCATE_parser;
38808 /* Register variable[0]: Local variable */
38809 variable[0] = self;
38810 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction357].i]) return;
38811 /* Register variable[1]: Method return value and escape marker */
38812 return_label747: while(false);
38813 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction357].i] = 1;
38814 tracehead = trace.prev;
38815 return;
38816 }
38817 void parser___ReduceAction358___action(val_t self, val_t param0) {
38818 struct trace_t trace = {NULL, NULL, 15460, LOCATE_parser___ReduceAction358___action};
38819 val_t variable[16];
38820 struct WBT_ **closurevariable = NULL;
38821 trace.prev = tracehead; tracehead = &trace;
38822 trace.file = LOCATE_parser;
38823 /* Register variable[0]: Local variable */
38824 variable[0] = self;
38825 /* Register variable[1]: Local variable */
38826 variable[1] = param0;
38827 /* Register variable[2]: Method return value and escape marker */
38828 /* Register variable[3]: Local variable */
38829 variable[3] = NIT_NULL /*null*/;
38830 /* Register variable[4]: Local variable */
38831 /* Register variable[5]: Result */
38832 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38833 variable[4] = variable[5];
38834 /* Register variable[5]: Local variable */
38835 /* Register variable[6]: Result */
38836 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38837 variable[5] = variable[6];
38838 /* Register variable[6]: Local variable */
38839 /* Register variable[7]: Result */
38840 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38841 variable[6] = variable[7];
38842 /* Register variable[7]: Local variable */
38843 /* Register variable[8]: Result */
38844 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38845 variable[7] = variable[8];
38846 /* Register variable[8]: Local variable */
38847 /* Register variable[9]: Result */
38848 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38849 variable[8] = variable[9];
38850 /* Register variable[9]: Local variable */
38851 /* Register variable[10]: Result */
38852 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
38853 variable[9] = variable[10];
38854 /* Register variable[10]: Local variable */
38855 variable[10] = variable[7] /*nodearraylist1*/;
38856 /* Register variable[11]: Result */
38857 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
38858 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 15471); nit_exit(1);}
38859 /* Register variable[11]: Local variable */
38860 variable[11] = variable[6] /*nodearraylist2*/;
38861 /* Register variable[12]: Result */
38862 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38863 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 15473); nit_exit(1);}
38864 /* Register variable[12]: Result */
38865 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::==*/)))))));
38866 if (UNTAG_Bool(variable[12])) { /*if*/
38867 /* Register variable[12]: Result */
38868 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
38869 if (UNTAG_Bool(variable[12])) { /*if*/
38870 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
38871 } else { /*if*/
38872 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
38873 }
38874 }
38875 /* Register variable[12]: Local variable */
38876 variable[12] = variable[5] /*nodearraylist3*/;
38877 /* Register variable[13]: Result */
38878 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
38879 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 15482); nit_exit(1);}
38880 /* Register variable[13]: Local variable */
38881 variable[13] = variable[4] /*nodearraylist4*/;
38882 /* Register variable[14]: Result */
38883 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38884 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction358___action, LOCATE_parser, 15484); nit_exit(1);}
38885 /* Register variable[14]: Local variable */
38886 /* Register variable[15]: Result */
38887 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*/;
38888 variable[14] = variable[15];
38889 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
38890 /* Register variable[15]: Result */
38891 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38892 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
38893 return_label748: while(false);
38894 tracehead = trace.prev;
38895 return;
38896 }
38897 void parser___ReduceAction358___init(val_t self, int* init_table) {
38898 struct trace_t trace = {NULL, NULL, 15495, LOCATE_parser___ReduceAction358___init};
38899 val_t variable[2];
38900 struct WBT_ **closurevariable = NULL;
38901 trace.prev = tracehead; tracehead = &trace;
38902 trace.file = LOCATE_parser;
38903 /* Register variable[0]: Local variable */
38904 variable[0] = self;
38905 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction358].i]) return;
38906 /* Register variable[1]: Method return value and escape marker */
38907 return_label749: while(false);
38908 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction358].i] = 1;
38909 tracehead = trace.prev;
38910 return;
38911 }
38912 void parser___ReduceAction359___action(val_t self, val_t param0) {
38913 struct trace_t trace = {NULL, NULL, 15499, LOCATE_parser___ReduceAction359___action};
38914 val_t variable[15];
38915 struct WBT_ **closurevariable = NULL;
38916 trace.prev = tracehead; tracehead = &trace;
38917 trace.file = LOCATE_parser;
38918 /* Register variable[0]: Local variable */
38919 variable[0] = self;
38920 /* Register variable[1]: Local variable */
38921 variable[1] = param0;
38922 /* Register variable[2]: Method return value and escape marker */
38923 /* Register variable[3]: Local variable */
38924 variable[3] = NIT_NULL /*null*/;
38925 /* Register variable[4]: Local variable */
38926 /* Register variable[5]: Result */
38927 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38928 variable[4] = variable[5];
38929 /* Register variable[5]: Local variable */
38930 /* Register variable[6]: Result */
38931 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38932 variable[5] = variable[6];
38933 /* Register variable[6]: Local variable */
38934 /* Register variable[7]: Result */
38935 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38936 variable[6] = variable[7];
38937 /* Register variable[7]: Local variable */
38938 /* Register variable[8]: Result */
38939 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
38940 variable[7] = variable[8];
38941 /* Register variable[8]: Local variable */
38942 /* Register variable[9]: Result */
38943 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
38944 variable[8] = variable[9];
38945 /* Register variable[9]: Local variable */
38946 variable[9] = variable[7] /*nodearraylist1*/;
38947 /* Register variable[10]: Result */
38948 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38949 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 15508); nit_exit(1);}
38950 /* Register variable[10]: Local variable */
38951 variable[10] = variable[6] /*nodearraylist2*/;
38952 /* Register variable[11]: Result */
38953 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
38954 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 15510); nit_exit(1);}
38955 /* Register variable[11]: Result */
38956 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::==*/)))))));
38957 if (UNTAG_Bool(variable[11])) { /*if*/
38958 /* Register variable[11]: Result */
38959 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
38960 if (UNTAG_Bool(variable[11])) { /*if*/
38961 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
38962 } else { /*if*/
38963 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
38964 }
38965 }
38966 /* Register variable[11]: Local variable */
38967 variable[11] = variable[5] /*nodearraylist3*/;
38968 /* Register variable[12]: Result */
38969 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
38970 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 15519); nit_exit(1);}
38971 /* Register variable[12]: Local variable */
38972 variable[12] = variable[4] /*nodearraylist4*/;
38973 /* Register variable[13]: Result */
38974 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
38975 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction359___action, LOCATE_parser, 15521); nit_exit(1);}
38976 /* Register variable[13]: Local variable */
38977 /* Register variable[14]: Result */
38978 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/) /*new ABraReassignExpr*/;
38979 variable[13] = variable[14];
38980 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
38981 /* Register variable[14]: Result */
38982 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(33)) /*Parser::go_to*/;
38983 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
38984 return_label750: while(false);
38985 tracehead = trace.prev;
38986 return;
38987 }
38988 void parser___ReduceAction359___init(val_t self, int* init_table) {
38989 struct trace_t trace = {NULL, NULL, 15531, LOCATE_parser___ReduceAction359___init};
38990 val_t variable[2];
38991 struct WBT_ **closurevariable = NULL;
38992 trace.prev = tracehead; tracehead = &trace;
38993 trace.file = LOCATE_parser;
38994 /* Register variable[0]: Local variable */
38995 variable[0] = self;
38996 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction359].i]) return;
38997 /* Register variable[1]: Method return value and escape marker */
38998 return_label751: while(false);
38999 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction359].i] = 1;
39000 tracehead = trace.prev;
39001 return;
39002 }
39003 void parser___ReduceAction360___action(val_t self, val_t param0) {
39004 struct trace_t trace = {NULL, NULL, 15535, LOCATE_parser___ReduceAction360___action};
39005 val_t variable[8];
39006 struct WBT_ **closurevariable = NULL;
39007 trace.prev = tracehead; tracehead = &trace;
39008 trace.file = LOCATE_parser;
39009 /* Register variable[0]: Local variable */
39010 variable[0] = self;
39011 /* Register variable[1]: Local variable */
39012 variable[1] = param0;
39013 /* Register variable[2]: Method return value and escape marker */
39014 /* Register variable[3]: Local variable */
39015 variable[3] = NIT_NULL /*null*/;
39016 /* Register variable[4]: Local variable */
39017 /* Register variable[5]: Result */
39018 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39019 variable[4] = variable[5];
39020 /* Register variable[5]: Local variable */
39021 variable[5] = variable[4] /*nodearraylist1*/;
39022 /* Register variable[6]: Result */
39023 variable[6] = TAG_Bool(( variable[5] /*tpluseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tpluseqnode2*/, COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
39024 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction360___action, LOCATE_parser, 15540); nit_exit(1);}
39025 /* Register variable[6]: Local variable */
39026 /* Register variable[7]: Result */
39027 variable[7] = NEW_APlusAssignOp_parser_prod___APlusAssignOp___init_aplusassignop( variable[5] /*tpluseqnode2*/) /*new APlusAssignOp*/;
39028 variable[6] = variable[7];
39029 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
39030 /* Register variable[7]: Result */
39031 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
39032 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39033 return_label752: while(false);
39034 tracehead = trace.prev;
39035 return;
39036 }
39037 void parser___ReduceAction360___init(val_t self, int* init_table) {
39038 struct trace_t trace = {NULL, NULL, 15547, LOCATE_parser___ReduceAction360___init};
39039 val_t variable[2];
39040 struct WBT_ **closurevariable = NULL;
39041 trace.prev = tracehead; tracehead = &trace;
39042 trace.file = LOCATE_parser;
39043 /* Register variable[0]: Local variable */
39044 variable[0] = self;
39045 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction360].i]) return;
39046 /* Register variable[1]: Method return value and escape marker */
39047 return_label753: while(false);
39048 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction360].i] = 1;
39049 tracehead = trace.prev;
39050 return;
39051 }
39052 void parser___ReduceAction361___action(val_t self, val_t param0) {
39053 struct trace_t trace = {NULL, NULL, 15551, LOCATE_parser___ReduceAction361___action};
39054 val_t variable[8];
39055 struct WBT_ **closurevariable = NULL;
39056 trace.prev = tracehead; tracehead = &trace;
39057 trace.file = LOCATE_parser;
39058 /* Register variable[0]: Local variable */
39059 variable[0] = self;
39060 /* Register variable[1]: Local variable */
39061 variable[1] = param0;
39062 /* Register variable[2]: Method return value and escape marker */
39063 /* Register variable[3]: Local variable */
39064 variable[3] = NIT_NULL /*null*/;
39065 /* Register variable[4]: Local variable */
39066 /* Register variable[5]: Result */
39067 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39068 variable[4] = variable[5];
39069 /* Register variable[5]: Local variable */
39070 variable[5] = variable[4] /*nodearraylist1*/;
39071 /* Register variable[6]: Result */
39072 variable[6] = TAG_Bool(( variable[5] /*tminuseqnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tminuseqnode2*/, COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
39073 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction361___action, LOCATE_parser, 15556); nit_exit(1);}
39074 /* Register variable[6]: Local variable */
39075 /* Register variable[7]: Result */
39076 variable[7] = NEW_AMinusAssignOp_parser_prod___AMinusAssignOp___init_aminusassignop( variable[5] /*tminuseqnode2*/) /*new AMinusAssignOp*/;
39077 variable[6] = variable[7];
39078 variable[3] = variable[6] /*passignopnode1*/ /*node_list=*/;
39079 /* Register variable[7]: Result */
39080 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(34)) /*Parser::go_to*/;
39081 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39082 return_label754: while(false);
39083 tracehead = trace.prev;
39084 return;
39085 }
39086 void parser___ReduceAction361___init(val_t self, int* init_table) {
39087 struct trace_t trace = {NULL, NULL, 15563, LOCATE_parser___ReduceAction361___init};
39088 val_t variable[2];
39089 struct WBT_ **closurevariable = NULL;
39090 trace.prev = tracehead; tracehead = &trace;
39091 trace.file = LOCATE_parser;
39092 /* Register variable[0]: Local variable */
39093 variable[0] = self;
39094 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction361].i]) return;
39095 /* Register variable[1]: Method return value and escape marker */
39096 return_label755: while(false);
39097 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction361].i] = 1;
39098 tracehead = trace.prev;
39099 return;
39100 }
39101 void parser___ReduceAction362___action(val_t self, val_t param0) {
39102 struct trace_t trace = {NULL, NULL, 15567, LOCATE_parser___ReduceAction362___action};
39103 val_t variable[10];
39104 struct WBT_ **closurevariable = NULL;
39105 trace.prev = tracehead; tracehead = &trace;
39106 trace.file = LOCATE_parser;
39107 /* Register variable[0]: Local variable */
39108 variable[0] = self;
39109 /* Register variable[1]: Local variable */
39110 variable[1] = param0;
39111 /* Register variable[2]: Method return value and escape marker */
39112 /* Register variable[3]: Local variable */
39113 variable[3] = NIT_NULL /*null*/;
39114 /* Register variable[4]: Local variable */
39115 /* Register variable[5]: Result */
39116 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39117 variable[4] = variable[5];
39118 /* Register variable[5]: Local variable */
39119 /* Register variable[6]: Result */
39120 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39121 variable[5] = variable[6];
39122 /* Register variable[6]: Local variable */
39123 variable[6] = variable[5] /*nodearraylist1*/;
39124 /* Register variable[7]: Result */
39125 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
39126 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 15573); nit_exit(1);}
39127 /* Register variable[7]: Local variable */
39128 variable[7] = variable[4] /*nodearraylist2*/;
39129 /* Register variable[8]: Result */
39130 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39131 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction362___action, LOCATE_parser, 15575); nit_exit(1);}
39132 /* Register variable[8]: Local variable */
39133 /* Register variable[9]: Result */
39134 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/) /*new ADoExpr*/;
39135 variable[8] = variable[9];
39136 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
39137 /* Register variable[9]: Result */
39138 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(35)) /*Parser::go_to*/;
39139 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
39140 return_label756: while(false);
39141 tracehead = trace.prev;
39142 return;
39143 }
39144 void parser___ReduceAction362___init(val_t self, int* init_table) {
39145 struct trace_t trace = {NULL, NULL, 15583, LOCATE_parser___ReduceAction362___init};
39146 val_t variable[2];
39147 struct WBT_ **closurevariable = NULL;
39148 trace.prev = tracehead; tracehead = &trace;
39149 trace.file = LOCATE_parser;
39150 /* Register variable[0]: Local variable */
39151 variable[0] = self;
39152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction362].i]) return;
39153 /* Register variable[1]: Method return value and escape marker */
39154 return_label757: while(false);
39155 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction362].i] = 1;
39156 tracehead = trace.prev;
39157 return;
39158 }
39159 void parser___ReduceAction363___action(val_t self, val_t param0) {
39160 struct trace_t trace = {NULL, NULL, 15587, LOCATE_parser___ReduceAction363___action};
39161 val_t variable[18];
39162 struct WBT_ **closurevariable = NULL;
39163 trace.prev = tracehead; tracehead = &trace;
39164 trace.file = LOCATE_parser;
39165 /* Register variable[0]: Local variable */
39166 variable[0] = self;
39167 /* Register variable[1]: Local variable */
39168 variable[1] = param0;
39169 /* Register variable[2]: Method return value and escape marker */
39170 /* Register variable[3]: Local variable */
39171 variable[3] = NIT_NULL /*null*/;
39172 /* Register variable[4]: Local variable */
39173 /* Register variable[5]: Result */
39174 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39175 variable[4] = variable[5];
39176 /* Register variable[5]: Local variable */
39177 /* Register variable[6]: Result */
39178 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39179 variable[5] = variable[6];
39180 /* Register variable[6]: Local variable */
39181 /* Register variable[7]: Result */
39182 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39183 variable[6] = variable[7];
39184 /* Register variable[7]: Local variable */
39185 /* Register variable[8]: Result */
39186 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39187 variable[7] = variable[8];
39188 /* Register variable[8]: Local variable */
39189 /* Register variable[9]: Result */
39190 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39191 variable[8] = variable[9];
39192 /* Register variable[9]: Local variable */
39193 /* Register variable[10]: Result */
39194 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39195 variable[9] = variable[10];
39196 /* Register variable[10]: Local variable */
39197 /* Register variable[11]: Result */
39198 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39199 variable[10] = variable[11];
39200 /* Register variable[11]: Local variable */
39201 /* Register variable[12]: Result */
39202 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39203 variable[11] = variable[12];
39204 /* Register variable[12]: Local variable */
39205 variable[12] = variable[11] /*nodearraylist1*/;
39206 /* Register variable[13]: Result */
39207 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39208 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 15599); nit_exit(1);}
39209 /* Register variable[13]: Local variable */
39210 variable[13] = variable[9] /*nodearraylist3*/;
39211 /* Register variable[14]: Result */
39212 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39213 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 15601); nit_exit(1);}
39214 /* Register variable[14]: Local variable */
39215 variable[14] = variable[6] /*nodearraylist6*/;
39216 /* Register variable[15]: Result */
39217 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39218 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 15603); nit_exit(1);}
39219 /* Register variable[15]: Local variable */
39220 variable[15] = variable[4] /*nodearraylist8*/;
39221 /* Register variable[16]: Result */
39222 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39223 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction363___action, LOCATE_parser, 15605); nit_exit(1);}
39224 /* Register variable[16]: Local variable */
39225 /* Register variable[17]: Result */
39226 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/) /*new AIfExpr*/;
39227 variable[16] = variable[17];
39228 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
39229 /* Register variable[17]: Result */
39230 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39231 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
39232 return_label758: while(false);
39233 tracehead = trace.prev;
39234 return;
39235 }
39236 void parser___ReduceAction363___init(val_t self, int* init_table) {
39237 struct trace_t trace = {NULL, NULL, 15615, LOCATE_parser___ReduceAction363___init};
39238 val_t variable[2];
39239 struct WBT_ **closurevariable = NULL;
39240 trace.prev = tracehead; tracehead = &trace;
39241 trace.file = LOCATE_parser;
39242 /* Register variable[0]: Local variable */
39243 variable[0] = self;
39244 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction363].i]) return;
39245 /* Register variable[1]: Method return value and escape marker */
39246 return_label759: while(false);
39247 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction363].i] = 1;
39248 tracehead = trace.prev;
39249 return;
39250 }
39251 void parser___ReduceAction364___action(val_t self, val_t param0) {
39252 struct trace_t trace = {NULL, NULL, 15619, LOCATE_parser___ReduceAction364___action};
39253 val_t variable[15];
39254 struct WBT_ **closurevariable = NULL;
39255 trace.prev = tracehead; tracehead = &trace;
39256 trace.file = LOCATE_parser;
39257 /* Register variable[0]: Local variable */
39258 variable[0] = self;
39259 /* Register variable[1]: Local variable */
39260 variable[1] = param0;
39261 /* Register variable[2]: Method return value and escape marker */
39262 /* Register variable[3]: Local variable */
39263 variable[3] = NIT_NULL /*null*/;
39264 /* Register variable[4]: Local variable */
39265 /* Register variable[5]: Result */
39266 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39267 variable[4] = variable[5];
39268 /* Register variable[5]: Local variable */
39269 /* Register variable[6]: Result */
39270 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39271 variable[5] = variable[6];
39272 /* Register variable[6]: Local variable */
39273 /* Register variable[7]: Result */
39274 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39275 variable[6] = variable[7];
39276 /* Register variable[7]: Local variable */
39277 /* Register variable[8]: Result */
39278 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39279 variable[7] = variable[8];
39280 /* Register variable[8]: Local variable */
39281 /* Register variable[9]: Result */
39282 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39283 variable[8] = variable[9];
39284 /* Register variable[9]: Local variable */
39285 /* Register variable[10]: Result */
39286 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39287 variable[9] = variable[10];
39288 /* Register variable[10]: Local variable */
39289 variable[10] = variable[9] /*nodearraylist1*/;
39290 /* Register variable[11]: Result */
39291 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39292 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 15629); nit_exit(1);}
39293 /* Register variable[11]: Local variable */
39294 variable[11] = variable[7] /*nodearraylist3*/;
39295 /* Register variable[12]: Result */
39296 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39297 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 15631); nit_exit(1);}
39298 /* Register variable[12]: Local variable */
39299 variable[12] = variable[4] /*nodearraylist6*/;
39300 /* Register variable[13]: Result */
39301 variable[13] = TAG_Bool(( variable[12] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39302 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction364___action, LOCATE_parser, 15633); nit_exit(1);}
39303 /* Register variable[13]: Local variable */
39304 /* Register variable[14]: Result */
39305 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, variable[12] /*pexprnode4*/, NIT_NULL /*null*/) /*new AIfExpr*/;
39306 variable[13] = variable[14];
39307 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
39308 /* Register variable[14]: Result */
39309 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39310 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
39311 return_label760: while(false);
39312 tracehead = trace.prev;
39313 return;
39314 }
39315 void parser___ReduceAction364___init(val_t self, int* init_table) {
39316 struct trace_t trace = {NULL, NULL, 15643, LOCATE_parser___ReduceAction364___init};
39317 val_t variable[2];
39318 struct WBT_ **closurevariable = NULL;
39319 trace.prev = tracehead; tracehead = &trace;
39320 trace.file = LOCATE_parser;
39321 /* Register variable[0]: Local variable */
39322 variable[0] = self;
39323 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction364].i]) return;
39324 /* Register variable[1]: Method return value and escape marker */
39325 return_label761: while(false);
39326 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction364].i] = 1;
39327 tracehead = trace.prev;
39328 return;
39329 }
39330 void parser___ReduceAction365___action(val_t self, val_t param0) {
39331 struct trace_t trace = {NULL, NULL, 15647, LOCATE_parser___ReduceAction365___action};
39332 val_t variable[21];
39333 struct WBT_ **closurevariable = NULL;
39334 trace.prev = tracehead; tracehead = &trace;
39335 trace.file = LOCATE_parser;
39336 /* Register variable[0]: Local variable */
39337 variable[0] = self;
39338 /* Register variable[1]: Local variable */
39339 variable[1] = param0;
39340 /* Register variable[2]: Method return value and escape marker */
39341 /* Register variable[3]: Local variable */
39342 variable[3] = NIT_NULL /*null*/;
39343 /* Register variable[4]: Local variable */
39344 /* Register variable[5]: Result */
39345 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39346 variable[4] = variable[5];
39347 /* Register variable[5]: Local variable */
39348 /* Register variable[6]: Result */
39349 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39350 variable[5] = variable[6];
39351 /* Register variable[6]: Local variable */
39352 /* Register variable[7]: Result */
39353 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39354 variable[6] = variable[7];
39355 /* Register variable[7]: Local variable */
39356 /* Register variable[8]: Result */
39357 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39358 variable[7] = variable[8];
39359 /* Register variable[8]: Local variable */
39360 /* Register variable[9]: Result */
39361 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39362 variable[8] = variable[9];
39363 /* Register variable[9]: Local variable */
39364 /* Register variable[10]: Result */
39365 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39366 variable[9] = variable[10];
39367 /* Register variable[10]: Local variable */
39368 /* Register variable[11]: Result */
39369 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39370 variable[10] = variable[11];
39371 /* Register variable[11]: Local variable */
39372 /* Register variable[12]: Result */
39373 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39374 variable[11] = variable[12];
39375 /* Register variable[12]: Local variable */
39376 /* Register variable[13]: Result */
39377 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39378 variable[12] = variable[13];
39379 /* Register variable[13]: Local variable */
39380 variable[13] = variable[12] /*nodearraylist1*/;
39381 /* Register variable[14]: Result */
39382 variable[14] = TAG_Bool(( variable[13] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39383 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 15660); nit_exit(1);}
39384 /* Register variable[14]: Local variable */
39385 variable[14] = variable[10] /*nodearraylist3*/;
39386 /* Register variable[15]: Result */
39387 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39388 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 15662); nit_exit(1);}
39389 /* Register variable[15]: Local variable */
39390 /* Register variable[16]: Result */
39391 variable[16] = NEW_Array_array___Array___init() /*new Array[Object]*/;
39392 variable[15] = variable[16];
39393 /* Register variable[16]: Local variable */
39394 variable[16] = variable[6] /*nodearraylist7*/;
39395 /* Register variable[17]: Result */
39396 variable[17] = TAG_Bool(( variable[16] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39397 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 15665); nit_exit(1);}
39398 /* Register variable[17]: Result */
39399 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::==*/)))))));
39400 if (UNTAG_Bool(variable[17])) { /*if*/
39401 CALL_abstract_collection___SimpleCollection___add( variable[15] /*listnode6*/)( variable[15] /*listnode6*/, variable[16] /*pexprnode5*/) /*AbstractArray::add*/;
39402 }
39403 /* Register variable[17]: Local variable */
39404 /* Register variable[18]: Result */
39405 variable[18] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[15] /*listnode6*/) /*new ABlockExpr*/;
39406 variable[17] = variable[18];
39407 /* Register variable[18]: Local variable */
39408 variable[18] = variable[4] /*nodearraylist9*/;
39409 /* Register variable[19]: Result */
39410 variable[19] = TAG_Bool(( variable[18] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39411 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction365___action, LOCATE_parser, 15673); nit_exit(1);}
39412 /* Register variable[19]: Local variable */
39413 /* Register variable[20]: Result */
39414 variable[20] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[13] /*tkwifnode2*/, variable[14] /*pexprnode3*/, variable[17] /*pexprnode4*/, variable[18] /*pexprnode7*/) /*new AIfExpr*/;
39415 variable[19] = variable[20];
39416 variable[3] = variable[19] /*pexprnode1*/ /*node_list=*/;
39417 /* Register variable[20]: Result */
39418 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39419 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
39420 return_label762: while(false);
39421 tracehead = trace.prev;
39422 return;
39423 }
39424 void parser___ReduceAction365___init(val_t self, int* init_table) {
39425 struct trace_t trace = {NULL, NULL, 15683, LOCATE_parser___ReduceAction365___init};
39426 val_t variable[2];
39427 struct WBT_ **closurevariable = NULL;
39428 trace.prev = tracehead; tracehead = &trace;
39429 trace.file = LOCATE_parser;
39430 /* Register variable[0]: Local variable */
39431 variable[0] = self;
39432 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction365].i]) return;
39433 /* Register variable[1]: Method return value and escape marker */
39434 return_label763: while(false);
39435 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction365].i] = 1;
39436 tracehead = trace.prev;
39437 return;
39438 }
39439 void parser___ReduceAction366___action(val_t self, val_t param0) {
39440 struct trace_t trace = {NULL, NULL, 15687, LOCATE_parser___ReduceAction366___action};
39441 val_t variable[23];
39442 struct WBT_ **closurevariable = NULL;
39443 trace.prev = tracehead; tracehead = &trace;
39444 trace.file = LOCATE_parser;
39445 /* Register variable[0]: Local variable */
39446 variable[0] = self;
39447 /* Register variable[1]: Local variable */
39448 variable[1] = param0;
39449 /* Register variable[2]: Method return value and escape marker */
39450 /* Register variable[3]: Local variable */
39451 variable[3] = NIT_NULL /*null*/;
39452 /* Register variable[4]: Local variable */
39453 /* Register variable[5]: Result */
39454 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39455 variable[4] = variable[5];
39456 /* Register variable[5]: Local variable */
39457 /* Register variable[6]: Result */
39458 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39459 variable[5] = variable[6];
39460 /* Register variable[6]: Local variable */
39461 /* Register variable[7]: Result */
39462 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39463 variable[6] = variable[7];
39464 /* Register variable[7]: Local variable */
39465 /* Register variable[8]: Result */
39466 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39467 variable[7] = variable[8];
39468 /* Register variable[8]: Local variable */
39469 /* Register variable[9]: Result */
39470 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39471 variable[8] = variable[9];
39472 /* Register variable[9]: Local variable */
39473 /* Register variable[10]: Result */
39474 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39475 variable[9] = variable[10];
39476 /* Register variable[10]: Local variable */
39477 /* Register variable[11]: Result */
39478 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39479 variable[10] = variable[11];
39480 /* Register variable[11]: Local variable */
39481 /* Register variable[12]: Result */
39482 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39483 variable[11] = variable[12];
39484 /* Register variable[12]: Local variable */
39485 /* Register variable[13]: Result */
39486 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39487 variable[12] = variable[13];
39488 /* Register variable[13]: Local variable */
39489 /* Register variable[14]: Result */
39490 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39491 variable[13] = variable[14];
39492 /* Register variable[14]: Local variable */
39493 variable[14] = variable[13] /*nodearraylist1*/;
39494 /* Register variable[15]: Result */
39495 variable[15] = TAG_Bool(( variable[14] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39496 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 15701); nit_exit(1);}
39497 /* Register variable[15]: Local variable */
39498 variable[15] = variable[11] /*nodearraylist3*/;
39499 /* Register variable[16]: Result */
39500 variable[16] = TAG_Bool(( variable[15] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39501 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 15703); nit_exit(1);}
39502 /* Register variable[16]: Local variable */
39503 /* Register variable[17]: Result */
39504 variable[17] = NEW_Array_array___Array___init() /*new Array[Object]*/;
39505 variable[16] = variable[17];
39506 /* Register variable[17]: Local variable */
39507 variable[17] = variable[7] /*nodearraylist7*/;
39508 /* Register variable[18]: Result */
39509 variable[18] = TAG_Bool(( variable[17] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39510 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 15706); nit_exit(1);}
39511 /* Register variable[18]: Local variable */
39512 variable[18] = variable[6] /*nodearraylist8*/;
39513 /* Register variable[19]: Result */
39514 variable[19] = TAG_Bool(( variable[18] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
39515 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 15708); nit_exit(1);}
39516 /* Register variable[19]: Result */
39517 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::==*/)))))));
39518 if (UNTAG_Bool(variable[19])) { /*if*/
39519 CALL_abstract_collection___SimpleCollection___add( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, variable[17] /*pexprnode5*/) /*AbstractArray::add*/;
39520 }
39521 /* Register variable[19]: Result */
39522 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::==*/)))))));
39523 if (UNTAG_Bool(variable[19])) { /*if*/
39524 /* Register variable[19]: Result */
39525 variable[19] = CALL_abstract_collection___Collection___is_empty( variable[16] /*listnode7*/)( variable[16] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
39526 if (UNTAG_Bool(variable[19])) { /*if*/
39527 variable[16] = variable[18] /*listnode6*/ /*listnode7=*/;
39528 } else { /*if*/
39529 CALL_abstract_collection___IndexedCollection___append( variable[16] /*listnode7*/)( variable[16] /*listnode7*/, variable[18] /*listnode6*/) /*IndexedCollection::append*/;
39530 }
39531 }
39532 /* Register variable[19]: Local variable */
39533 /* Register variable[20]: Result */
39534 variable[20] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[16] /*listnode7*/) /*new ABlockExpr*/;
39535 variable[19] = variable[20];
39536 /* Register variable[20]: Local variable */
39537 variable[20] = variable[4] /*nodearraylist10*/;
39538 /* Register variable[21]: Result */
39539 variable[21] = TAG_Bool(( variable[20] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39540 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction366___action, LOCATE_parser, 15723); nit_exit(1);}
39541 /* Register variable[21]: Local variable */
39542 /* Register variable[22]: Result */
39543 variable[22] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[14] /*tkwifnode2*/, variable[15] /*pexprnode3*/, variable[19] /*pexprnode4*/, variable[20] /*pexprnode8*/) /*new AIfExpr*/;
39544 variable[21] = variable[22];
39545 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
39546 /* Register variable[22]: Result */
39547 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39548 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
39549 return_label764: while(false);
39550 tracehead = trace.prev;
39551 return;
39552 }
39553 void parser___ReduceAction366___init(val_t self, int* init_table) {
39554 struct trace_t trace = {NULL, NULL, 15733, LOCATE_parser___ReduceAction366___init};
39555 val_t variable[2];
39556 struct WBT_ **closurevariable = NULL;
39557 trace.prev = tracehead; tracehead = &trace;
39558 trace.file = LOCATE_parser;
39559 /* Register variable[0]: Local variable */
39560 variable[0] = self;
39561 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction366].i]) return;
39562 /* Register variable[1]: Method return value and escape marker */
39563 return_label765: while(false);
39564 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction366].i] = 1;
39565 tracehead = trace.prev;
39566 return;
39567 }
39568 void parser___ReduceAction367___action(val_t self, val_t param0) {
39569 struct trace_t trace = {NULL, NULL, 15737, LOCATE_parser___ReduceAction367___action};
39570 val_t variable[15];
39571 struct WBT_ **closurevariable = NULL;
39572 trace.prev = tracehead; tracehead = &trace;
39573 trace.file = LOCATE_parser;
39574 /* Register variable[0]: Local variable */
39575 variable[0] = self;
39576 /* Register variable[1]: Local variable */
39577 variable[1] = param0;
39578 /* Register variable[2]: Method return value and escape marker */
39579 /* Register variable[3]: Local variable */
39580 variable[3] = NIT_NULL /*null*/;
39581 /* Register variable[4]: Local variable */
39582 /* Register variable[5]: Result */
39583 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39584 variable[4] = variable[5];
39585 /* Register variable[5]: Local variable */
39586 /* Register variable[6]: Result */
39587 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39588 variable[5] = variable[6];
39589 /* Register variable[6]: Local variable */
39590 /* Register variable[7]: Result */
39591 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39592 variable[6] = variable[7];
39593 /* Register variable[7]: Local variable */
39594 /* Register variable[8]: Result */
39595 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39596 variable[7] = variable[8];
39597 /* Register variable[8]: Local variable */
39598 /* Register variable[9]: Result */
39599 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39600 variable[8] = variable[9];
39601 /* Register variable[9]: Local variable */
39602 /* Register variable[10]: Result */
39603 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39604 variable[9] = variable[10];
39605 /* Register variable[10]: Local variable */
39606 variable[10] = variable[9] /*nodearraylist1*/;
39607 /* Register variable[11]: Result */
39608 variable[11] = TAG_Bool(( variable[10] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39609 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 15747); nit_exit(1);}
39610 /* Register variable[11]: Local variable */
39611 variable[11] = variable[7] /*nodearraylist3*/;
39612 /* Register variable[12]: Result */
39613 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39614 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 15749); nit_exit(1);}
39615 /* Register variable[12]: Local variable */
39616 variable[12] = variable[4] /*nodearraylist6*/;
39617 /* Register variable[13]: Result */
39618 variable[13] = TAG_Bool(( variable[12] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39619 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction367___action, LOCATE_parser, 15751); nit_exit(1);}
39620 /* Register variable[13]: Local variable */
39621 /* Register variable[14]: Result */
39622 variable[14] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[10] /*tkwifnode2*/, variable[11] /*pexprnode3*/, NIT_NULL /*null*/, variable[12] /*pexprnode5*/) /*new AIfExpr*/;
39623 variable[13] = variable[14];
39624 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
39625 /* Register variable[14]: Result */
39626 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39627 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
39628 return_label766: while(false);
39629 tracehead = trace.prev;
39630 return;
39631 }
39632 void parser___ReduceAction367___init(val_t self, int* init_table) {
39633 struct trace_t trace = {NULL, NULL, 15761, LOCATE_parser___ReduceAction367___init};
39634 val_t variable[2];
39635 struct WBT_ **closurevariable = NULL;
39636 trace.prev = tracehead; tracehead = &trace;
39637 trace.file = LOCATE_parser;
39638 /* Register variable[0]: Local variable */
39639 variable[0] = self;
39640 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction367].i]) return;
39641 /* Register variable[1]: Method return value and escape marker */
39642 return_label767: while(false);
39643 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction367].i] = 1;
39644 tracehead = trace.prev;
39645 return;
39646 }
39647 void parser___ReduceAction368___action(val_t self, val_t param0) {
39648 struct trace_t trace = {NULL, NULL, 15765, LOCATE_parser___ReduceAction368___action};
39649 val_t variable[16];
39650 struct WBT_ **closurevariable = NULL;
39651 trace.prev = tracehead; tracehead = &trace;
39652 trace.file = LOCATE_parser;
39653 /* Register variable[0]: Local variable */
39654 variable[0] = self;
39655 /* Register variable[1]: Local variable */
39656 variable[1] = param0;
39657 /* Register variable[2]: Method return value and escape marker */
39658 /* Register variable[3]: Local variable */
39659 variable[3] = NIT_NULL /*null*/;
39660 /* Register variable[4]: Local variable */
39661 /* Register variable[5]: Result */
39662 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39663 variable[4] = variable[5];
39664 /* Register variable[5]: Local variable */
39665 /* Register variable[6]: Result */
39666 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39667 variable[5] = variable[6];
39668 /* Register variable[6]: Local variable */
39669 /* Register variable[7]: Result */
39670 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39671 variable[6] = variable[7];
39672 /* Register variable[7]: Local variable */
39673 /* Register variable[8]: Result */
39674 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39675 variable[7] = variable[8];
39676 /* Register variable[8]: Local variable */
39677 /* Register variable[9]: Result */
39678 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39679 variable[8] = variable[9];
39680 /* Register variable[9]: Local variable */
39681 /* Register variable[10]: Result */
39682 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39683 variable[9] = variable[10];
39684 /* Register variable[10]: Local variable */
39685 /* Register variable[11]: Result */
39686 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39687 variable[10] = variable[11];
39688 /* Register variable[11]: Local variable */
39689 variable[11] = variable[10] /*nodearraylist1*/;
39690 /* Register variable[12]: Result */
39691 variable[12] = TAG_Bool(( variable[11] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
39692 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 15776); nit_exit(1);}
39693 /* Register variable[12]: Local variable */
39694 variable[12] = variable[8] /*nodearraylist3*/;
39695 /* Register variable[13]: Result */
39696 variable[13] = TAG_Bool(( variable[12] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39697 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 15778); nit_exit(1);}
39698 /* Register variable[13]: Local variable */
39699 variable[13] = variable[4] /*nodearraylist7*/;
39700 /* Register variable[14]: Result */
39701 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39702 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction368___action, LOCATE_parser, 15780); nit_exit(1);}
39703 /* Register variable[14]: Local variable */
39704 /* Register variable[15]: Result */
39705 variable[15] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[11] /*tkwifnode2*/, variable[12] /*pexprnode3*/, NIT_NULL /*null*/, variable[13] /*pexprnode5*/) /*new AIfExpr*/;
39706 variable[14] = variable[15];
39707 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
39708 /* Register variable[15]: Result */
39709 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(36)) /*Parser::go_to*/;
39710 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
39711 return_label768: while(false);
39712 tracehead = trace.prev;
39713 return;
39714 }
39715 void parser___ReduceAction368___init(val_t self, int* init_table) {
39716 struct trace_t trace = {NULL, NULL, 15790, LOCATE_parser___ReduceAction368___init};
39717 val_t variable[2];
39718 struct WBT_ **closurevariable = NULL;
39719 trace.prev = tracehead; tracehead = &trace;
39720 trace.file = LOCATE_parser;
39721 /* Register variable[0]: Local variable */
39722 variable[0] = self;
39723 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction368].i]) return;
39724 /* Register variable[1]: Method return value and escape marker */
39725 return_label769: while(false);
39726 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction368].i] = 1;
39727 tracehead = trace.prev;
39728 return;
39729 }
39730 void parser___ReduceAction369___action(val_t self, val_t param0) {
39731 struct trace_t trace = {NULL, NULL, 15794, LOCATE_parser___ReduceAction369___action};
39732 val_t variable[8];
39733 struct WBT_ **closurevariable = NULL;
39734 trace.prev = tracehead; tracehead = &trace;
39735 trace.file = LOCATE_parser;
39736 /* Register variable[0]: Local variable */
39737 variable[0] = self;
39738 /* Register variable[1]: Local variable */
39739 variable[1] = param0;
39740 /* Register variable[2]: Method return value and escape marker */
39741 /* Register variable[3]: Local variable */
39742 variable[3] = NIT_NULL /*null*/;
39743 /* Register variable[4]: Local variable */
39744 /* Register variable[5]: Result */
39745 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39746 variable[4] = variable[5];
39747 /* Register variable[5]: Local variable */
39748 /* Register variable[6]: Result */
39749 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39750 variable[5] = variable[6];
39751 /* Register variable[6]: Local variable */
39752 variable[6] = variable[4] /*nodearraylist2*/;
39753 /* Register variable[7]: Result */
39754 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39755 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction369___action, LOCATE_parser, 15800); nit_exit(1);}
39756 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
39757 /* Register variable[7]: Result */
39758 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(37)) /*Parser::go_to*/;
39759 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
39760 return_label770: while(false);
39761 tracehead = trace.prev;
39762 return;
39763 }
39764 void parser___ReduceAction369___init(val_t self, int* init_table) {
39765 struct trace_t trace = {NULL, NULL, 15804, LOCATE_parser___ReduceAction369___init};
39766 val_t variable[2];
39767 struct WBT_ **closurevariable = NULL;
39768 trace.prev = tracehead; tracehead = &trace;
39769 trace.file = LOCATE_parser;
39770 /* Register variable[0]: Local variable */
39771 variable[0] = self;
39772 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction369].i]) return;
39773 /* Register variable[1]: Method return value and escape marker */
39774 return_label771: while(false);
39775 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction369].i] = 1;
39776 tracehead = trace.prev;
39777 return;
39778 }
39779 void parser___ReduceAction370___action(val_t self, val_t param0) {
39780 struct trace_t trace = {NULL, NULL, 15808, LOCATE_parser___ReduceAction370___action};
39781 val_t variable[6];
39782 struct WBT_ **closurevariable = NULL;
39783 trace.prev = tracehead; tracehead = &trace;
39784 trace.file = LOCATE_parser;
39785 /* Register variable[0]: Local variable */
39786 variable[0] = self;
39787 /* Register variable[1]: Local variable */
39788 variable[1] = param0;
39789 /* Register variable[2]: Method return value and escape marker */
39790 /* Register variable[3]: Local variable */
39791 variable[3] = NIT_NULL /*null*/;
39792 /* Register variable[4]: Local variable */
39793 /* Register variable[5]: Result */
39794 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39795 variable[4] = variable[5];
39796 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
39797 /* Register variable[5]: Result */
39798 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(37)) /*Parser::go_to*/;
39799 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
39800 return_label772: while(false);
39801 tracehead = trace.prev;
39802 return;
39803 }
39804 void parser___ReduceAction370___init(val_t self, int* init_table) {
39805 struct trace_t trace = {NULL, NULL, 15815, LOCATE_parser___ReduceAction370___init};
39806 val_t variable[2];
39807 struct WBT_ **closurevariable = NULL;
39808 trace.prev = tracehead; tracehead = &trace;
39809 trace.file = LOCATE_parser;
39810 /* Register variable[0]: Local variable */
39811 variable[0] = self;
39812 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction370].i]) return;
39813 /* Register variable[1]: Method return value and escape marker */
39814 return_label773: while(false);
39815 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction370].i] = 1;
39816 tracehead = trace.prev;
39817 return;
39818 }
39819 void parser___ReduceAction371___action(val_t self, val_t param0) {
39820 struct trace_t trace = {NULL, NULL, 15819, LOCATE_parser___ReduceAction371___action};
39821 val_t variable[16];
39822 struct WBT_ **closurevariable = NULL;
39823 trace.prev = tracehead; tracehead = &trace;
39824 trace.file = LOCATE_parser;
39825 /* Register variable[0]: Local variable */
39826 variable[0] = self;
39827 /* Register variable[1]: Local variable */
39828 variable[1] = param0;
39829 /* Register variable[2]: Method return value and escape marker */
39830 /* Register variable[3]: Local variable */
39831 variable[3] = NIT_NULL /*null*/;
39832 /* Register variable[4]: Local variable */
39833 /* Register variable[5]: Result */
39834 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39835 variable[4] = variable[5];
39836 /* Register variable[5]: Local variable */
39837 /* Register variable[6]: Result */
39838 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39839 variable[5] = variable[6];
39840 /* Register variable[6]: Local variable */
39841 /* Register variable[7]: Result */
39842 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39843 variable[6] = variable[7];
39844 /* Register variable[7]: Local variable */
39845 /* Register variable[8]: Result */
39846 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39847 variable[7] = variable[8];
39848 /* Register variable[8]: Local variable */
39849 /* Register variable[9]: Result */
39850 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39851 variable[8] = variable[9];
39852 /* Register variable[9]: Local variable */
39853 /* Register variable[10]: Result */
39854 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39855 variable[9] = variable[10];
39856 /* Register variable[10]: Local variable */
39857 variable[10] = variable[9] /*nodearraylist1*/;
39858 /* Register variable[11]: Result */
39859 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
39860 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 15829); nit_exit(1);}
39861 /* Register variable[11]: Local variable */
39862 variable[11] = variable[7] /*nodearraylist3*/;
39863 /* Register variable[12]: Result */
39864 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39865 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 15831); nit_exit(1);}
39866 /* Register variable[12]: Local variable */
39867 variable[12] = variable[5] /*nodearraylist5*/;
39868 /* Register variable[13]: Result */
39869 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
39870 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 15833); nit_exit(1);}
39871 /* Register variable[13]: Local variable */
39872 variable[13] = variable[4] /*nodearraylist6*/;
39873 /* Register variable[14]: Result */
39874 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39875 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction371___action, LOCATE_parser, 15835); nit_exit(1);}
39876 /* Register variable[14]: Local variable */
39877 /* Register variable[15]: Result */
39878 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/) /*new AWhileExpr*/;
39879 variable[14] = variable[15];
39880 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
39881 /* Register variable[15]: Result */
39882 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(38)) /*Parser::go_to*/;
39883 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
39884 return_label774: while(false);
39885 tracehead = trace.prev;
39886 return;
39887 }
39888 void parser___ReduceAction371___init(val_t self, int* init_table) {
39889 struct trace_t trace = {NULL, NULL, 15845, LOCATE_parser___ReduceAction371___init};
39890 val_t variable[2];
39891 struct WBT_ **closurevariable = NULL;
39892 trace.prev = tracehead; tracehead = &trace;
39893 trace.file = LOCATE_parser;
39894 /* Register variable[0]: Local variable */
39895 variable[0] = self;
39896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction371].i]) return;
39897 /* Register variable[1]: Method return value and escape marker */
39898 return_label775: while(false);
39899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction371].i] = 1;
39900 tracehead = trace.prev;
39901 return;
39902 }
39903 void parser___ReduceAction372___action(val_t self, val_t param0) {
39904 struct trace_t trace = {NULL, NULL, 15849, LOCATE_parser___ReduceAction372___action};
39905 val_t variable[21];
39906 struct WBT_ **closurevariable = NULL;
39907 trace.prev = tracehead; tracehead = &trace;
39908 trace.file = LOCATE_parser;
39909 /* Register variable[0]: Local variable */
39910 variable[0] = self;
39911 /* Register variable[1]: Local variable */
39912 variable[1] = param0;
39913 /* Register variable[2]: Method return value and escape marker */
39914 /* Register variable[3]: Local variable */
39915 variable[3] = NIT_NULL /*null*/;
39916 /* Register variable[4]: Local variable */
39917 /* Register variable[5]: Result */
39918 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39919 variable[4] = variable[5];
39920 /* Register variable[5]: Local variable */
39921 /* Register variable[6]: Result */
39922 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39923 variable[5] = variable[6];
39924 /* Register variable[6]: Local variable */
39925 /* Register variable[7]: Result */
39926 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39927 variable[6] = variable[7];
39928 /* Register variable[7]: Local variable */
39929 /* Register variable[8]: Result */
39930 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39931 variable[7] = variable[8];
39932 /* Register variable[8]: Local variable */
39933 /* Register variable[9]: Result */
39934 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39935 variable[8] = variable[9];
39936 /* Register variable[9]: Local variable */
39937 /* Register variable[10]: Result */
39938 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39939 variable[9] = variable[10];
39940 /* Register variable[10]: Local variable */
39941 /* Register variable[11]: Result */
39942 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39943 variable[10] = variable[11];
39944 /* Register variable[11]: Local variable */
39945 /* Register variable[12]: Result */
39946 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39947 variable[11] = variable[12];
39948 /* Register variable[12]: Local variable */
39949 /* Register variable[13]: Result */
39950 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39951 variable[12] = variable[13];
39952 /* Register variable[13]: Local variable */
39953 /* Register variable[14]: Result */
39954 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
39955 variable[13] = variable[14];
39956 /* Register variable[14]: Local variable */
39957 variable[14] = variable[13] /*nodearraylist1*/;
39958 /* Register variable[15]: Result */
39959 variable[15] = TAG_Bool(( variable[14] /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
39960 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 15863); nit_exit(1);}
39961 /* Register variable[15]: Local variable */
39962 variable[15] = variable[11] /*nodearraylist3*/;
39963 /* Register variable[16]: Result */
39964 variable[16] = TAG_Bool(( variable[15] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
39965 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 15865); nit_exit(1);}
39966 /* Register variable[16]: Local variable */
39967 variable[16] = variable[7] /*nodearraylist7*/;
39968 /* Register variable[17]: Result */
39969 variable[17] = TAG_Bool(( variable[16] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39970 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 15867); nit_exit(1);}
39971 /* Register variable[17]: Local variable */
39972 variable[17] = variable[5] /*nodearraylist9*/;
39973 /* Register variable[18]: Result */
39974 variable[18] = TAG_Bool(( variable[17] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
39975 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 15869); nit_exit(1);}
39976 /* Register variable[18]: Local variable */
39977 variable[18] = variable[4] /*nodearraylist10*/;
39978 /* Register variable[19]: Result */
39979 variable[19] = TAG_Bool(( variable[18] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
39980 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction372___action, LOCATE_parser, 15871); nit_exit(1);}
39981 /* Register variable[19]: Local variable */
39982 /* Register variable[20]: Result */
39983 variable[20] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[14] /*tkwfornode2*/, variable[15] /*tidnode3*/, variable[16] /*pexprnode4*/, variable[17] /*tkwdonode5*/, variable[18] /*pexprnode6*/) /*new AForExpr*/;
39984 variable[19] = variable[20];
39985 variable[3] = variable[19] /*pexprnode1*/ /*node_list=*/;
39986 /* Register variable[20]: Result */
39987 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(39)) /*Parser::go_to*/;
39988 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
39989 return_label776: while(false);
39990 tracehead = trace.prev;
39991 return;
39992 }
39993 void parser___ReduceAction372___init(val_t self, int* init_table) {
39994 struct trace_t trace = {NULL, NULL, 15882, LOCATE_parser___ReduceAction372___init};
39995 val_t variable[2];
39996 struct WBT_ **closurevariable = NULL;
39997 trace.prev = tracehead; tracehead = &trace;
39998 trace.file = LOCATE_parser;
39999 /* Register variable[0]: Local variable */
40000 variable[0] = self;
40001 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction372].i]) return;
40002 /* Register variable[1]: Method return value and escape marker */
40003 return_label777: while(false);
40004 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction372].i] = 1;
40005 tracehead = trace.prev;
40006 return;
40007 }
40008 void parser___ReduceAction373___action(val_t self, val_t param0) {
40009 struct trace_t trace = {NULL, NULL, 15886, LOCATE_parser___ReduceAction373___action};
40010 val_t variable[10];
40011 struct WBT_ **closurevariable = NULL;
40012 trace.prev = tracehead; tracehead = &trace;
40013 trace.file = LOCATE_parser;
40014 /* Register variable[0]: Local variable */
40015 variable[0] = self;
40016 /* Register variable[1]: Local variable */
40017 variable[1] = param0;
40018 /* Register variable[2]: Method return value and escape marker */
40019 /* Register variable[3]: Local variable */
40020 variable[3] = NIT_NULL /*null*/;
40021 /* Register variable[4]: Local variable */
40022 /* Register variable[5]: Result */
40023 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40024 variable[4] = variable[5];
40025 /* Register variable[5]: Local variable */
40026 /* Register variable[6]: Result */
40027 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40028 variable[5] = variable[6];
40029 /* Register variable[6]: Local variable */
40030 variable[6] = variable[5] /*nodearraylist1*/;
40031 /* Register variable[7]: Result */
40032 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
40033 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction373___action, LOCATE_parser, 15892); nit_exit(1);}
40034 /* Register variable[7]: Local variable */
40035 variable[7] = variable[4] /*nodearraylist2*/;
40036 /* Register variable[8]: Result */
40037 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40038 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction373___action, LOCATE_parser, 15894); nit_exit(1);}
40039 /* Register variable[8]: Local variable */
40040 /* Register variable[9]: Result */
40041 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/) /*new AAssertExpr*/;
40042 variable[8] = variable[9];
40043 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
40044 /* Register variable[9]: Result */
40045 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(40)) /*Parser::go_to*/;
40046 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
40047 return_label778: while(false);
40048 tracehead = trace.prev;
40049 return;
40050 }
40051 void parser___ReduceAction373___init(val_t self, int* init_table) {
40052 struct trace_t trace = {NULL, NULL, 15903, LOCATE_parser___ReduceAction373___init};
40053 val_t variable[2];
40054 struct WBT_ **closurevariable = NULL;
40055 trace.prev = tracehead; tracehead = &trace;
40056 trace.file = LOCATE_parser;
40057 /* Register variable[0]: Local variable */
40058 variable[0] = self;
40059 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction373].i]) return;
40060 /* Register variable[1]: Method return value and escape marker */
40061 return_label779: while(false);
40062 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction373].i] = 1;
40063 tracehead = trace.prev;
40064 return;
40065 }
40066 void parser___ReduceAction374___action(val_t self, val_t param0) {
40067 struct trace_t trace = {NULL, NULL, 15907, LOCATE_parser___ReduceAction374___action};
40068 val_t variable[12];
40069 struct WBT_ **closurevariable = NULL;
40070 trace.prev = tracehead; tracehead = &trace;
40071 trace.file = LOCATE_parser;
40072 /* Register variable[0]: Local variable */
40073 variable[0] = self;
40074 /* Register variable[1]: Local variable */
40075 variable[1] = param0;
40076 /* Register variable[2]: Method return value and escape marker */
40077 /* Register variable[3]: Local variable */
40078 variable[3] = NIT_NULL /*null*/;
40079 /* Register variable[4]: Local variable */
40080 /* Register variable[5]: Result */
40081 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40082 variable[4] = variable[5];
40083 /* Register variable[5]: Local variable */
40084 /* Register variable[6]: Result */
40085 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40086 variable[5] = variable[6];
40087 /* Register variable[6]: Local variable */
40088 /* Register variable[7]: Result */
40089 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40090 variable[6] = variable[7];
40091 /* Register variable[7]: Local variable */
40092 variable[7] = variable[6] /*nodearraylist1*/;
40093 /* Register variable[8]: Result */
40094 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
40095 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 15914); nit_exit(1);}
40096 /* Register variable[8]: Local variable */
40097 variable[8] = variable[5] /*nodearraylist2*/;
40098 /* Register variable[9]: Result */
40099 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
40100 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 15916); nit_exit(1);}
40101 /* Register variable[9]: Local variable */
40102 variable[9] = variable[4] /*nodearraylist3*/;
40103 /* Register variable[10]: Result */
40104 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40105 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction374___action, LOCATE_parser, 15918); nit_exit(1);}
40106 /* Register variable[10]: Local variable */
40107 /* Register variable[11]: Result */
40108 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/) /*new AAssertExpr*/;
40109 variable[10] = variable[11];
40110 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
40111 /* Register variable[11]: Result */
40112 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(40)) /*Parser::go_to*/;
40113 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
40114 return_label780: while(false);
40115 tracehead = trace.prev;
40116 return;
40117 }
40118 void parser___ReduceAction374___init(val_t self, int* init_table) {
40119 struct trace_t trace = {NULL, NULL, 15927, LOCATE_parser___ReduceAction374___init};
40120 val_t variable[2];
40121 struct WBT_ **closurevariable = NULL;
40122 trace.prev = tracehead; tracehead = &trace;
40123 trace.file = LOCATE_parser;
40124 /* Register variable[0]: Local variable */
40125 variable[0] = self;
40126 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction374].i]) return;
40127 /* Register variable[1]: Method return value and escape marker */
40128 return_label781: while(false);
40129 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction374].i] = 1;
40130 tracehead = trace.prev;
40131 return;
40132 }
40133 void parser___ReduceAction375___action(val_t self, val_t param0) {
40134 struct trace_t trace = {NULL, NULL, 15931, LOCATE_parser___ReduceAction375___action};
40135 val_t variable[8];
40136 struct WBT_ **closurevariable = NULL;
40137 trace.prev = tracehead; tracehead = &trace;
40138 trace.file = LOCATE_parser;
40139 /* Register variable[0]: Local variable */
40140 variable[0] = self;
40141 /* Register variable[1]: Local variable */
40142 variable[1] = param0;
40143 /* Register variable[2]: Method return value and escape marker */
40144 /* Register variable[3]: Local variable */
40145 variable[3] = NIT_NULL /*null*/;
40146 /* Register variable[4]: Local variable */
40147 /* Register variable[5]: Result */
40148 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40149 variable[4] = variable[5];
40150 /* Register variable[5]: Local variable */
40151 /* Register variable[6]: Result */
40152 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40153 variable[5] = variable[6];
40154 /* Register variable[6]: Local variable */
40155 variable[6] = variable[5] /*nodearraylist1*/;
40156 /* Register variable[7]: Result */
40157 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
40158 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction375___action, LOCATE_parser, 15937); nit_exit(1);}
40159 variable[3] = variable[6] /*tidnode1*/ /*node_list=*/;
40160 /* Register variable[7]: Result */
40161 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(41)) /*Parser::go_to*/;
40162 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
40163 return_label782: while(false);
40164 tracehead = trace.prev;
40165 return;
40166 }
40167 void parser___ReduceAction375___init(val_t self, int* init_table) {
40168 struct trace_t trace = {NULL, NULL, 15941, LOCATE_parser___ReduceAction375___init};
40169 val_t variable[2];
40170 struct WBT_ **closurevariable = NULL;
40171 trace.prev = tracehead; tracehead = &trace;
40172 trace.file = LOCATE_parser;
40173 /* Register variable[0]: Local variable */
40174 variable[0] = self;
40175 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction375].i]) return;
40176 /* Register variable[1]: Method return value and escape marker */
40177 return_label783: while(false);
40178 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction375].i] = 1;
40179 tracehead = trace.prev;
40180 return;
40181 }
40182 void parser___ReduceAction376___action(val_t self, val_t param0) {
40183 struct trace_t trace = {NULL, NULL, 15945, LOCATE_parser___ReduceAction376___action};
40184 val_t variable[7];
40185 struct WBT_ **closurevariable = NULL;
40186 trace.prev = tracehead; tracehead = &trace;
40187 trace.file = LOCATE_parser;
40188 /* Register variable[0]: Local variable */
40189 variable[0] = self;
40190 /* Register variable[1]: Local variable */
40191 variable[1] = param0;
40192 /* Register variable[2]: Method return value and escape marker */
40193 /* Register variable[3]: Local variable */
40194 variable[3] = NIT_NULL /*null*/;
40195 /* Register variable[4]: Local variable */
40196 /* Register variable[5]: Result */
40197 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40198 variable[4] = variable[5];
40199 /* Register variable[5]: Local variable */
40200 variable[5] = variable[4] /*nodearraylist1*/;
40201 /* Register variable[6]: Result */
40202 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40203 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction376___action, LOCATE_parser, 15950); nit_exit(1);}
40204 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
40205 /* Register variable[6]: Result */
40206 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
40207 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40208 return_label784: while(false);
40209 tracehead = trace.prev;
40210 return;
40211 }
40212 void parser___ReduceAction376___init(val_t self, int* init_table) {
40213 struct trace_t trace = {NULL, NULL, 15954, LOCATE_parser___ReduceAction376___init};
40214 val_t variable[2];
40215 struct WBT_ **closurevariable = NULL;
40216 trace.prev = tracehead; tracehead = &trace;
40217 trace.file = LOCATE_parser;
40218 /* Register variable[0]: Local variable */
40219 variable[0] = self;
40220 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction376].i]) return;
40221 /* Register variable[1]: Method return value and escape marker */
40222 return_label785: while(false);
40223 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction376].i] = 1;
40224 tracehead = trace.prev;
40225 return;
40226 }
40227 void parser___ReduceAction377___action(val_t self, val_t param0) {
40228 struct trace_t trace = {NULL, NULL, 15958, LOCATE_parser___ReduceAction377___action};
40229 val_t variable[18];
40230 struct WBT_ **closurevariable = NULL;
40231 trace.prev = tracehead; tracehead = &trace;
40232 trace.file = LOCATE_parser;
40233 /* Register variable[0]: Local variable */
40234 variable[0] = self;
40235 /* Register variable[1]: Local variable */
40236 variable[1] = param0;
40237 /* Register variable[2]: Method return value and escape marker */
40238 /* Register variable[3]: Local variable */
40239 variable[3] = NIT_NULL /*null*/;
40240 /* Register variable[4]: Local variable */
40241 /* Register variable[5]: Result */
40242 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40243 variable[4] = variable[5];
40244 /* Register variable[5]: Local variable */
40245 /* Register variable[6]: Result */
40246 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40247 variable[5] = variable[6];
40248 /* Register variable[6]: Local variable */
40249 /* Register variable[7]: Result */
40250 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40251 variable[6] = variable[7];
40252 /* Register variable[7]: Local variable */
40253 /* Register variable[8]: Result */
40254 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40255 variable[7] = variable[8];
40256 /* Register variable[8]: Local variable */
40257 /* Register variable[9]: Result */
40258 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40259 variable[8] = variable[9];
40260 /* Register variable[9]: Local variable */
40261 /* Register variable[10]: Result */
40262 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40263 variable[9] = variable[10];
40264 /* Register variable[10]: Local variable */
40265 /* Register variable[11]: Result */
40266 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40267 variable[10] = variable[11];
40268 /* Register variable[11]: Local variable */
40269 /* Register variable[12]: Result */
40270 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40271 variable[11] = variable[12];
40272 /* Register variable[12]: Local variable */
40273 variable[12] = variable[9] /*nodearraylist1*/;
40274 /* Register variable[13]: Result */
40275 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40276 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 15970); nit_exit(1);}
40277 /* Register variable[13]: Local variable */
40278 variable[13] = variable[6] /*nodearraylist4*/;
40279 /* Register variable[14]: Result */
40280 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
40281 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 15972); nit_exit(1);}
40282 /* Register variable[14]: Local variable */
40283 variable[14] = variable[5] /*nodearraylist5*/;
40284 /* Register variable[15]: Result */
40285 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40286 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 15974); nit_exit(1);}
40287 /* Register variable[15]: Result */
40288 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::==*/)))))));
40289 if (UNTAG_Bool(variable[15])) { /*if*/
40290 /* Register variable[15]: Result */
40291 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
40292 if (UNTAG_Bool(variable[15])) { /*if*/
40293 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
40294 } else { /*if*/
40295 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
40296 }
40297 }
40298 /* Register variable[15]: Local variable */
40299 variable[15] = variable[4] /*nodearraylist6*/;
40300 /* Register variable[16]: Result */
40301 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40302 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction377___action, LOCATE_parser, 15983); nit_exit(1);}
40303 /* Register variable[16]: Result */
40304 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::==*/)))))));
40305 if (UNTAG_Bool(variable[16])) { /*if*/
40306 /* Register variable[16]: Result */
40307 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
40308 if (UNTAG_Bool(variable[16])) { /*if*/
40309 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
40310 } else { /*if*/
40311 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
40312 }
40313 }
40314 /* Register variable[16]: Local variable */
40315 /* Register variable[17]: Result */
40316 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
40317 variable[16] = variable[17];
40318 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
40319 /* Register variable[17]: Result */
40320 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
40321 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
40322 return_label786: while(false);
40323 tracehead = trace.prev;
40324 return;
40325 }
40326 void parser___ReduceAction377___init(val_t self, int* init_table) {
40327 struct trace_t trace = {NULL, NULL, 16000, LOCATE_parser___ReduceAction377___init};
40328 val_t variable[2];
40329 struct WBT_ **closurevariable = NULL;
40330 trace.prev = tracehead; tracehead = &trace;
40331 trace.file = LOCATE_parser;
40332 /* Register variable[0]: Local variable */
40333 variable[0] = self;
40334 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction377].i]) return;
40335 /* Register variable[1]: Method return value and escape marker */
40336 return_label787: while(false);
40337 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction377].i] = 1;
40338 tracehead = trace.prev;
40339 return;
40340 }
40341 void parser___ReduceAction378___action(val_t self, val_t param0) {
40342 struct trace_t trace = {NULL, NULL, 16004, LOCATE_parser___ReduceAction378___action};
40343 val_t variable[15];
40344 struct WBT_ **closurevariable = NULL;
40345 trace.prev = tracehead; tracehead = &trace;
40346 trace.file = LOCATE_parser;
40347 /* Register variable[0]: Local variable */
40348 variable[0] = self;
40349 /* Register variable[1]: Local variable */
40350 variable[1] = param0;
40351 /* Register variable[2]: Method return value and escape marker */
40352 /* Register variable[3]: Local variable */
40353 variable[3] = NIT_NULL /*null*/;
40354 /* Register variable[4]: Local variable */
40355 /* Register variable[5]: Result */
40356 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40357 variable[4] = variable[5];
40358 /* Register variable[5]: Local variable */
40359 /* Register variable[6]: Result */
40360 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40361 variable[5] = variable[6];
40362 /* Register variable[6]: Local variable */
40363 /* Register variable[7]: Result */
40364 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40365 variable[6] = variable[7];
40366 /* Register variable[7]: Local variable */
40367 /* Register variable[8]: Result */
40368 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40369 variable[7] = variable[8];
40370 /* Register variable[8]: Local variable */
40371 /* Register variable[9]: Result */
40372 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40373 variable[8] = variable[9];
40374 /* Register variable[9]: Local variable */
40375 /* Register variable[10]: Result */
40376 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
40377 variable[9] = variable[10];
40378 /* Register variable[10]: Local variable */
40379 variable[10] = variable[6] /*nodearraylist1*/;
40380 /* Register variable[11]: Result */
40381 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
40382 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 16015); nit_exit(1);}
40383 /* Register variable[11]: Local variable */
40384 variable[11] = variable[5] /*nodearraylist2*/;
40385 /* Register variable[12]: Result */
40386 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40387 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 16017); nit_exit(1);}
40388 /* Register variable[12]: Result */
40389 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::==*/)))))));
40390 if (UNTAG_Bool(variable[12])) { /*if*/
40391 /* Register variable[12]: Result */
40392 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
40393 if (UNTAG_Bool(variable[12])) { /*if*/
40394 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
40395 } else { /*if*/
40396 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
40397 }
40398 }
40399 /* Register variable[12]: Local variable */
40400 variable[12] = variable[4] /*nodearraylist3*/;
40401 /* Register variable[13]: Result */
40402 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40403 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction378___action, LOCATE_parser, 16026); nit_exit(1);}
40404 /* Register variable[13]: Result */
40405 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::==*/)))))));
40406 if (UNTAG_Bool(variable[13])) { /*if*/
40407 /* Register variable[13]: Result */
40408 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
40409 if (UNTAG_Bool(variable[13])) { /*if*/
40410 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
40411 } else { /*if*/
40412 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
40413 }
40414 }
40415 /* Register variable[13]: Local variable */
40416 /* Register variable[14]: Result */
40417 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
40418 variable[13] = variable[14];
40419 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
40420 /* Register variable[14]: Result */
40421 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
40422 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
40423 return_label788: while(false);
40424 tracehead = trace.prev;
40425 return;
40426 }
40427 void parser___ReduceAction378___init(val_t self, int* init_table) {
40428 struct trace_t trace = {NULL, NULL, 16043, LOCATE_parser___ReduceAction378___init};
40429 val_t variable[2];
40430 struct WBT_ **closurevariable = NULL;
40431 trace.prev = tracehead; tracehead = &trace;
40432 trace.file = LOCATE_parser;
40433 /* Register variable[0]: Local variable */
40434 variable[0] = self;
40435 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction378].i]) return;
40436 /* Register variable[1]: Method return value and escape marker */
40437 return_label789: while(false);
40438 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction378].i] = 1;
40439 tracehead = trace.prev;
40440 return;
40441 }
40442 void parser___ReduceAction379___action(val_t self, val_t param0) {
40443 struct trace_t trace = {NULL, NULL, 16047, LOCATE_parser___ReduceAction379___action};
40444 val_t variable[14];
40445 struct WBT_ **closurevariable = NULL;
40446 trace.prev = tracehead; tracehead = &trace;
40447 trace.file = LOCATE_parser;
40448 /* Register variable[0]: Local variable */
40449 variable[0] = self;
40450 /* Register variable[1]: Local variable */
40451 variable[1] = param0;
40452 /* Register variable[2]: Method return value and escape marker */
40453 /* Register variable[3]: Local variable */
40454 variable[3] = NIT_NULL /*null*/;
40455 /* Register variable[4]: Local variable */
40456 /* Register variable[5]: Result */
40457 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40458 variable[4] = variable[5];
40459 /* Register variable[5]: Local variable */
40460 /* Register variable[6]: Result */
40461 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40462 variable[5] = variable[6];
40463 /* Register variable[6]: Local variable */
40464 /* Register variable[7]: Result */
40465 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40466 variable[6] = variable[7];
40467 /* Register variable[7]: Local variable */
40468 /* Register variable[8]: Result */
40469 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40470 variable[7] = variable[8];
40471 /* Register variable[8]: Local variable */
40472 /* Register variable[9]: Result */
40473 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
40474 variable[8] = variable[9];
40475 /* Register variable[9]: Local variable */
40476 variable[9] = variable[6] /*nodearraylist1*/;
40477 /* Register variable[10]: Result */
40478 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40479 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 16056); nit_exit(1);}
40480 /* Register variable[10]: Local variable */
40481 variable[10] = variable[5] /*nodearraylist2*/;
40482 /* Register variable[11]: Result */
40483 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40484 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 16058); nit_exit(1);}
40485 /* Register variable[11]: Result */
40486 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::==*/)))))));
40487 if (UNTAG_Bool(variable[11])) { /*if*/
40488 /* Register variable[11]: Result */
40489 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
40490 if (UNTAG_Bool(variable[11])) { /*if*/
40491 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
40492 } else { /*if*/
40493 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
40494 }
40495 }
40496 /* Register variable[11]: Local variable */
40497 variable[11] = variable[4] /*nodearraylist3*/;
40498 /* Register variable[12]: Result */
40499 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
40500 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction379___action, LOCATE_parser, 16067); nit_exit(1);}
40501 /* Register variable[12]: Result */
40502 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::==*/)))))));
40503 if (UNTAG_Bool(variable[12])) { /*if*/
40504 /* Register variable[12]: Result */
40505 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
40506 if (UNTAG_Bool(variable[12])) { /*if*/
40507 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
40508 } else { /*if*/
40509 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
40510 }
40511 }
40512 /* Register variable[12]: Local variable */
40513 /* Register variable[13]: Result */
40514 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/) /*new ABraExpr*/;
40515 variable[12] = variable[13];
40516 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
40517 /* Register variable[13]: Result */
40518 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(42)) /*Parser::go_to*/;
40519 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
40520 return_label790: while(false);
40521 tracehead = trace.prev;
40522 return;
40523 }
40524 void parser___ReduceAction379___init(val_t self, int* init_table) {
40525 struct trace_t trace = {NULL, NULL, 16083, LOCATE_parser___ReduceAction379___init};
40526 val_t variable[2];
40527 struct WBT_ **closurevariable = NULL;
40528 trace.prev = tracehead; tracehead = &trace;
40529 trace.file = LOCATE_parser;
40530 /* Register variable[0]: Local variable */
40531 variable[0] = self;
40532 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction379].i]) return;
40533 /* Register variable[1]: Method return value and escape marker */
40534 return_label791: while(false);
40535 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction379].i] = 1;
40536 tracehead = trace.prev;
40537 return;
40538 }
40539 void parser___ReduceAction380___action(val_t self, val_t param0) {
40540 struct trace_t trace = {NULL, NULL, 16087, LOCATE_parser___ReduceAction380___action};
40541 val_t variable[7];
40542 struct WBT_ **closurevariable = NULL;
40543 trace.prev = tracehead; tracehead = &trace;
40544 trace.file = LOCATE_parser;
40545 /* Register variable[0]: Local variable */
40546 variable[0] = self;
40547 /* Register variable[1]: Local variable */
40548 variable[1] = param0;
40549 /* Register variable[2]: Method return value and escape marker */
40550 /* Register variable[3]: Local variable */
40551 variable[3] = NIT_NULL /*null*/;
40552 /* Register variable[4]: Local variable */
40553 /* Register variable[5]: Result */
40554 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40555 variable[4] = variable[5];
40556 /* Register variable[5]: Local variable */
40557 variable[5] = variable[4] /*nodearraylist1*/;
40558 /* Register variable[6]: Result */
40559 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40560 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction380___action, LOCATE_parser, 16092); nit_exit(1);}
40561 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
40562 /* Register variable[6]: Result */
40563 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
40564 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40565 return_label792: while(false);
40566 tracehead = trace.prev;
40567 return;
40568 }
40569 void parser___ReduceAction380___init(val_t self, int* init_table) {
40570 struct trace_t trace = {NULL, NULL, 16096, LOCATE_parser___ReduceAction380___init};
40571 val_t variable[2];
40572 struct WBT_ **closurevariable = NULL;
40573 trace.prev = tracehead; tracehead = &trace;
40574 trace.file = LOCATE_parser;
40575 /* Register variable[0]: Local variable */
40576 variable[0] = self;
40577 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction380].i]) return;
40578 /* Register variable[1]: Method return value and escape marker */
40579 return_label793: while(false);
40580 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction380].i] = 1;
40581 tracehead = trace.prev;
40582 return;
40583 }
40584 void parser___ReduceAction381___action(val_t self, val_t param0) {
40585 struct trace_t trace = {NULL, NULL, 16100, LOCATE_parser___ReduceAction381___action};
40586 val_t variable[23];
40587 struct WBT_ **closurevariable = NULL;
40588 trace.prev = tracehead; tracehead = &trace;
40589 trace.file = LOCATE_parser;
40590 /* Register variable[0]: Local variable */
40591 variable[0] = self;
40592 /* Register variable[1]: Local variable */
40593 variable[1] = param0;
40594 /* Register variable[2]: Method return value and escape marker */
40595 /* Register variable[3]: Local variable */
40596 variable[3] = NIT_NULL /*null*/;
40597 /* Register variable[4]: Local variable */
40598 /* Register variable[5]: Result */
40599 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40600 variable[4] = variable[5];
40601 /* Register variable[5]: Local variable */
40602 /* Register variable[6]: Result */
40603 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40604 variable[5] = variable[6];
40605 /* Register variable[6]: Local variable */
40606 /* Register variable[7]: Result */
40607 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40608 variable[6] = variable[7];
40609 /* Register variable[7]: Local variable */
40610 /* Register variable[8]: Result */
40611 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40612 variable[7] = variable[8];
40613 /* Register variable[8]: Local variable */
40614 /* Register variable[9]: Result */
40615 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40616 variable[8] = variable[9];
40617 /* Register variable[9]: Local variable */
40618 /* Register variable[10]: Result */
40619 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40620 variable[9] = variable[10];
40621 /* Register variable[10]: Local variable */
40622 /* Register variable[11]: Result */
40623 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40624 variable[10] = variable[11];
40625 /* Register variable[11]: Local variable */
40626 /* Register variable[12]: Result */
40627 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40628 variable[11] = variable[12];
40629 /* Register variable[12]: Local variable */
40630 /* Register variable[13]: Result */
40631 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40632 variable[12] = variable[13];
40633 /* Register variable[13]: Local variable */
40634 /* Register variable[14]: Result */
40635 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40636 variable[13] = variable[14];
40637 /* Register variable[14]: Local variable */
40638 /* Register variable[15]: Result */
40639 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40640 variable[14] = variable[15];
40641 /* Register variable[15]: Local variable */
40642 variable[15] = variable[14] /*nodearraylist1*/;
40643 /* Register variable[16]: Result */
40644 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
40645 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16115); nit_exit(1);}
40646 /* Register variable[16]: Local variable */
40647 variable[16] = variable[12] /*nodearraylist3*/;
40648 /* Register variable[17]: Result */
40649 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40650 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16117); nit_exit(1);}
40651 /* Register variable[17]: Local variable */
40652 variable[17] = variable[10] /*nodearraylist5*/;
40653 /* Register variable[18]: Result */
40654 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
40655 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16119); nit_exit(1);}
40656 /* Register variable[18]: Local variable */
40657 variable[18] = variable[8] /*nodearraylist7*/;
40658 /* Register variable[19]: Result */
40659 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40660 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16121); nit_exit(1);}
40661 /* Register variable[19]: Local variable */
40662 variable[19] = variable[6] /*nodearraylist9*/;
40663 /* Register variable[20]: Result */
40664 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
40665 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16123); nit_exit(1);}
40666 /* Register variable[20]: Local variable */
40667 variable[20] = variable[4] /*nodearraylist11*/;
40668 /* Register variable[21]: Result */
40669 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40670 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction381___action, LOCATE_parser, 16125); nit_exit(1);}
40671 /* Register variable[21]: Local variable */
40672 /* Register variable[22]: Result */
40673 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*/;
40674 variable[21] = variable[22];
40675 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
40676 /* Register variable[22]: Result */
40677 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(43)) /*Parser::go_to*/;
40678 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
40679 return_label794: while(false);
40680 tracehead = trace.prev;
40681 return;
40682 }
40683 void parser___ReduceAction381___init(val_t self, int* init_table) {
40684 struct trace_t trace = {NULL, NULL, 16137, LOCATE_parser___ReduceAction381___init};
40685 val_t variable[2];
40686 struct WBT_ **closurevariable = NULL;
40687 trace.prev = tracehead; tracehead = &trace;
40688 trace.file = LOCATE_parser;
40689 /* Register variable[0]: Local variable */
40690 variable[0] = self;
40691 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction381].i]) return;
40692 /* Register variable[1]: Method return value and escape marker */
40693 return_label795: while(false);
40694 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction381].i] = 1;
40695 tracehead = trace.prev;
40696 return;
40697 }
40698 void parser___ReduceAction382___action(val_t self, val_t param0) {
40699 struct trace_t trace = {NULL, NULL, 16141, LOCATE_parser___ReduceAction382___action};
40700 val_t variable[7];
40701 struct WBT_ **closurevariable = NULL;
40702 trace.prev = tracehead; tracehead = &trace;
40703 trace.file = LOCATE_parser;
40704 /* Register variable[0]: Local variable */
40705 variable[0] = self;
40706 /* Register variable[1]: Local variable */
40707 variable[1] = param0;
40708 /* Register variable[2]: Method return value and escape marker */
40709 /* Register variable[3]: Local variable */
40710 variable[3] = NIT_NULL /*null*/;
40711 /* Register variable[4]: Local variable */
40712 /* Register variable[5]: Result */
40713 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40714 variable[4] = variable[5];
40715 /* Register variable[5]: Local variable */
40716 variable[5] = variable[4] /*nodearraylist1*/;
40717 /* Register variable[6]: Result */
40718 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40719 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction382___action, LOCATE_parser, 16146); nit_exit(1);}
40720 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
40721 /* Register variable[6]: Result */
40722 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
40723 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40724 return_label796: while(false);
40725 tracehead = trace.prev;
40726 return;
40727 }
40728 void parser___ReduceAction382___init(val_t self, int* init_table) {
40729 struct trace_t trace = {NULL, NULL, 16150, LOCATE_parser___ReduceAction382___init};
40730 val_t variable[2];
40731 struct WBT_ **closurevariable = NULL;
40732 trace.prev = tracehead; tracehead = &trace;
40733 trace.file = LOCATE_parser;
40734 /* Register variable[0]: Local variable */
40735 variable[0] = self;
40736 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction382].i]) return;
40737 /* Register variable[1]: Method return value and escape marker */
40738 return_label797: while(false);
40739 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction382].i] = 1;
40740 tracehead = trace.prev;
40741 return;
40742 }
40743 void parser___ReduceAction383___action(val_t self, val_t param0) {
40744 struct trace_t trace = {NULL, NULL, 16154, LOCATE_parser___ReduceAction383___action};
40745 val_t variable[12];
40746 struct WBT_ **closurevariable = NULL;
40747 trace.prev = tracehead; tracehead = &trace;
40748 trace.file = LOCATE_parser;
40749 /* Register variable[0]: Local variable */
40750 variable[0] = self;
40751 /* Register variable[1]: Local variable */
40752 variable[1] = param0;
40753 /* Register variable[2]: Method return value and escape marker */
40754 /* Register variable[3]: Local variable */
40755 variable[3] = NIT_NULL /*null*/;
40756 /* Register variable[4]: Local variable */
40757 /* Register variable[5]: Result */
40758 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40759 variable[4] = variable[5];
40760 /* Register variable[5]: Local variable */
40761 /* Register variable[6]: Result */
40762 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40763 variable[5] = variable[6];
40764 /* Register variable[6]: Local variable */
40765 /* Register variable[7]: Result */
40766 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40767 variable[6] = variable[7];
40768 /* Register variable[7]: Local variable */
40769 /* Register variable[8]: Result */
40770 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40771 variable[7] = variable[8];
40772 /* Register variable[8]: Local variable */
40773 variable[8] = variable[7] /*nodearraylist1*/;
40774 /* Register variable[9]: Result */
40775 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40776 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 16162); nit_exit(1);}
40777 /* Register variable[9]: Local variable */
40778 variable[9] = variable[4] /*nodearraylist4*/;
40779 /* Register variable[10]: Result */
40780 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40781 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction383___action, LOCATE_parser, 16164); nit_exit(1);}
40782 /* Register variable[10]: Local variable */
40783 /* Register variable[11]: Result */
40784 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AOrExpr*/;
40785 variable[10] = variable[11];
40786 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
40787 /* Register variable[11]: Result */
40788 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
40789 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
40790 return_label798: while(false);
40791 tracehead = trace.prev;
40792 return;
40793 }
40794 void parser___ReduceAction383___init(val_t self, int* init_table) {
40795 struct trace_t trace = {NULL, NULL, 16172, LOCATE_parser___ReduceAction383___init};
40796 val_t variable[2];
40797 struct WBT_ **closurevariable = NULL;
40798 trace.prev = tracehead; tracehead = &trace;
40799 trace.file = LOCATE_parser;
40800 /* Register variable[0]: Local variable */
40801 variable[0] = self;
40802 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction383].i]) return;
40803 /* Register variable[1]: Method return value and escape marker */
40804 return_label799: while(false);
40805 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction383].i] = 1;
40806 tracehead = trace.prev;
40807 return;
40808 }
40809 void parser___ReduceAction384___action(val_t self, val_t param0) {
40810 struct trace_t trace = {NULL, NULL, 16176, LOCATE_parser___ReduceAction384___action};
40811 val_t variable[12];
40812 struct WBT_ **closurevariable = NULL;
40813 trace.prev = tracehead; tracehead = &trace;
40814 trace.file = LOCATE_parser;
40815 /* Register variable[0]: Local variable */
40816 variable[0] = self;
40817 /* Register variable[1]: Local variable */
40818 variable[1] = param0;
40819 /* Register variable[2]: Method return value and escape marker */
40820 /* Register variable[3]: Local variable */
40821 variable[3] = NIT_NULL /*null*/;
40822 /* Register variable[4]: Local variable */
40823 /* Register variable[5]: Result */
40824 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40825 variable[4] = variable[5];
40826 /* Register variable[5]: Local variable */
40827 /* Register variable[6]: Result */
40828 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40829 variable[5] = variable[6];
40830 /* Register variable[6]: Local variable */
40831 /* Register variable[7]: Result */
40832 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40833 variable[6] = variable[7];
40834 /* Register variable[7]: Local variable */
40835 /* Register variable[8]: Result */
40836 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40837 variable[7] = variable[8];
40838 /* Register variable[8]: Local variable */
40839 variable[8] = variable[7] /*nodearraylist1*/;
40840 /* Register variable[9]: Result */
40841 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40842 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 16184); nit_exit(1);}
40843 /* Register variable[9]: Local variable */
40844 variable[9] = variable[4] /*nodearraylist4*/;
40845 /* Register variable[10]: Result */
40846 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40847 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction384___action, LOCATE_parser, 16186); nit_exit(1);}
40848 /* Register variable[10]: Local variable */
40849 /* Register variable[11]: Result */
40850 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AAndExpr*/;
40851 variable[10] = variable[11];
40852 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
40853 /* Register variable[11]: Result */
40854 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(44)) /*Parser::go_to*/;
40855 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
40856 return_label800: while(false);
40857 tracehead = trace.prev;
40858 return;
40859 }
40860 void parser___ReduceAction384___init(val_t self, int* init_table) {
40861 struct trace_t trace = {NULL, NULL, 16194, LOCATE_parser___ReduceAction384___init};
40862 val_t variable[2];
40863 struct WBT_ **closurevariable = NULL;
40864 trace.prev = tracehead; tracehead = &trace;
40865 trace.file = LOCATE_parser;
40866 /* Register variable[0]: Local variable */
40867 variable[0] = self;
40868 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction384].i]) return;
40869 /* Register variable[1]: Method return value and escape marker */
40870 return_label801: while(false);
40871 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction384].i] = 1;
40872 tracehead = trace.prev;
40873 return;
40874 }
40875 void parser___ReduceAction385___action(val_t self, val_t param0) {
40876 struct trace_t trace = {NULL, NULL, 16198, LOCATE_parser___ReduceAction385___action};
40877 val_t variable[7];
40878 struct WBT_ **closurevariable = NULL;
40879 trace.prev = tracehead; tracehead = &trace;
40880 trace.file = LOCATE_parser;
40881 /* Register variable[0]: Local variable */
40882 variable[0] = self;
40883 /* Register variable[1]: Local variable */
40884 variable[1] = param0;
40885 /* Register variable[2]: Method return value and escape marker */
40886 /* Register variable[3]: Local variable */
40887 variable[3] = NIT_NULL /*null*/;
40888 /* Register variable[4]: Local variable */
40889 /* Register variable[5]: Result */
40890 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40891 variable[4] = variable[5];
40892 /* Register variable[5]: Local variable */
40893 variable[5] = variable[4] /*nodearraylist1*/;
40894 /* Register variable[6]: Result */
40895 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40896 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction385___action, LOCATE_parser, 16203); nit_exit(1);}
40897 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
40898 /* Register variable[6]: Result */
40899 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
40900 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
40901 return_label802: while(false);
40902 tracehead = trace.prev;
40903 return;
40904 }
40905 void parser___ReduceAction385___init(val_t self, int* init_table) {
40906 struct trace_t trace = {NULL, NULL, 16207, LOCATE_parser___ReduceAction385___init};
40907 val_t variable[2];
40908 struct WBT_ **closurevariable = NULL;
40909 trace.prev = tracehead; tracehead = &trace;
40910 trace.file = LOCATE_parser;
40911 /* Register variable[0]: Local variable */
40912 variable[0] = self;
40913 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction385].i]) return;
40914 /* Register variable[1]: Method return value and escape marker */
40915 return_label803: while(false);
40916 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction385].i] = 1;
40917 tracehead = trace.prev;
40918 return;
40919 }
40920 void parser___ReduceAction386___action(val_t self, val_t param0) {
40921 struct trace_t trace = {NULL, NULL, 16211, LOCATE_parser___ReduceAction386___action};
40922 val_t variable[11];
40923 struct WBT_ **closurevariable = NULL;
40924 trace.prev = tracehead; tracehead = &trace;
40925 trace.file = LOCATE_parser;
40926 /* Register variable[0]: Local variable */
40927 variable[0] = self;
40928 /* Register variable[1]: Local variable */
40929 variable[1] = param0;
40930 /* Register variable[2]: Method return value and escape marker */
40931 /* Register variable[3]: Local variable */
40932 variable[3] = NIT_NULL /*null*/;
40933 /* Register variable[4]: Local variable */
40934 /* Register variable[5]: Result */
40935 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40936 variable[4] = variable[5];
40937 /* Register variable[5]: Local variable */
40938 /* Register variable[6]: Result */
40939 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40940 variable[5] = variable[6];
40941 /* Register variable[6]: Local variable */
40942 /* Register variable[7]: Result */
40943 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40944 variable[6] = variable[7];
40945 /* Register variable[7]: Local variable */
40946 variable[7] = variable[6] /*nodearraylist1*/;
40947 /* Register variable[8]: Result */
40948 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
40949 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 16218); nit_exit(1);}
40950 /* Register variable[8]: Local variable */
40951 variable[8] = variable[4] /*nodearraylist3*/;
40952 /* Register variable[9]: Result */
40953 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
40954 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction386___action, LOCATE_parser, 16220); nit_exit(1);}
40955 /* Register variable[9]: Local variable */
40956 /* Register variable[10]: Result */
40957 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/) /*new ANotExpr*/;
40958 variable[9] = variable[10];
40959 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
40960 /* Register variable[10]: Result */
40961 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(45)) /*Parser::go_to*/;
40962 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
40963 return_label804: while(false);
40964 tracehead = trace.prev;
40965 return;
40966 }
40967 void parser___ReduceAction386___init(val_t self, int* init_table) {
40968 struct trace_t trace = {NULL, NULL, 16228, LOCATE_parser___ReduceAction386___init};
40969 val_t variable[2];
40970 struct WBT_ **closurevariable = NULL;
40971 trace.prev = tracehead; tracehead = &trace;
40972 trace.file = LOCATE_parser;
40973 /* Register variable[0]: Local variable */
40974 variable[0] = self;
40975 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction386].i]) return;
40976 /* Register variable[1]: Method return value and escape marker */
40977 return_label805: while(false);
40978 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction386].i] = 1;
40979 tracehead = trace.prev;
40980 return;
40981 }
40982 void parser___ReduceAction387___action(val_t self, val_t param0) {
40983 struct trace_t trace = {NULL, NULL, 16232, LOCATE_parser___ReduceAction387___action};
40984 val_t variable[7];
40985 struct WBT_ **closurevariable = NULL;
40986 trace.prev = tracehead; tracehead = &trace;
40987 trace.file = LOCATE_parser;
40988 /* Register variable[0]: Local variable */
40989 variable[0] = self;
40990 /* Register variable[1]: Local variable */
40991 variable[1] = param0;
40992 /* Register variable[2]: Method return value and escape marker */
40993 /* Register variable[3]: Local variable */
40994 variable[3] = NIT_NULL /*null*/;
40995 /* Register variable[4]: Local variable */
40996 /* Register variable[5]: Result */
40997 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
40998 variable[4] = variable[5];
40999 /* Register variable[5]: Local variable */
41000 variable[5] = variable[4] /*nodearraylist1*/;
41001 /* Register variable[6]: Result */
41002 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41003 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction387___action, LOCATE_parser, 16237); nit_exit(1);}
41004 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41005 /* Register variable[6]: Result */
41006 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41007 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41008 return_label806: while(false);
41009 tracehead = trace.prev;
41010 return;
41011 }
41012 void parser___ReduceAction387___init(val_t self, int* init_table) {
41013 struct trace_t trace = {NULL, NULL, 16241, LOCATE_parser___ReduceAction387___init};
41014 val_t variable[2];
41015 struct WBT_ **closurevariable = NULL;
41016 trace.prev = tracehead; tracehead = &trace;
41017 trace.file = LOCATE_parser;
41018 /* Register variable[0]: Local variable */
41019 variable[0] = self;
41020 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction387].i]) return;
41021 /* Register variable[1]: Method return value and escape marker */
41022 return_label807: while(false);
41023 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction387].i] = 1;
41024 tracehead = trace.prev;
41025 return;
41026 }
41027 void parser___ReduceAction388___action(val_t self, val_t param0) {
41028 struct trace_t trace = {NULL, NULL, 16245, LOCATE_parser___ReduceAction388___action};
41029 val_t variable[12];
41030 struct WBT_ **closurevariable = NULL;
41031 trace.prev = tracehead; tracehead = &trace;
41032 trace.file = LOCATE_parser;
41033 /* Register variable[0]: Local variable */
41034 variable[0] = self;
41035 /* Register variable[1]: Local variable */
41036 variable[1] = param0;
41037 /* Register variable[2]: Method return value and escape marker */
41038 /* Register variable[3]: Local variable */
41039 variable[3] = NIT_NULL /*null*/;
41040 /* Register variable[4]: Local variable */
41041 /* Register variable[5]: Result */
41042 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41043 variable[4] = variable[5];
41044 /* Register variable[5]: Local variable */
41045 /* Register variable[6]: Result */
41046 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41047 variable[5] = variable[6];
41048 /* Register variable[6]: Local variable */
41049 /* Register variable[7]: Result */
41050 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41051 variable[6] = variable[7];
41052 /* Register variable[7]: Local variable */
41053 /* Register variable[8]: Result */
41054 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41055 variable[7] = variable[8];
41056 /* Register variable[8]: Local variable */
41057 variable[8] = variable[7] /*nodearraylist1*/;
41058 /* Register variable[9]: Result */
41059 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41060 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction388___action, LOCATE_parser, 16253); nit_exit(1);}
41061 /* Register variable[9]: Local variable */
41062 variable[9] = variable[4] /*nodearraylist4*/;
41063 /* Register variable[10]: Result */
41064 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41065 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction388___action, LOCATE_parser, 16255); nit_exit(1);}
41066 /* Register variable[10]: Local variable */
41067 /* Register variable[11]: Result */
41068 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEqExpr*/;
41069 variable[10] = variable[11];
41070 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41071 /* Register variable[11]: Result */
41072 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41073 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41074 return_label808: while(false);
41075 tracehead = trace.prev;
41076 return;
41077 }
41078 void parser___ReduceAction388___init(val_t self, int* init_table) {
41079 struct trace_t trace = {NULL, NULL, 16263, LOCATE_parser___ReduceAction388___init};
41080 val_t variable[2];
41081 struct WBT_ **closurevariable = NULL;
41082 trace.prev = tracehead; tracehead = &trace;
41083 trace.file = LOCATE_parser;
41084 /* Register variable[0]: Local variable */
41085 variable[0] = self;
41086 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction388].i]) return;
41087 /* Register variable[1]: Method return value and escape marker */
41088 return_label809: while(false);
41089 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction388].i] = 1;
41090 tracehead = trace.prev;
41091 return;
41092 }
41093 void parser___ReduceAction389___action(val_t self, val_t param0) {
41094 struct trace_t trace = {NULL, NULL, 16267, LOCATE_parser___ReduceAction389___action};
41095 val_t variable[12];
41096 struct WBT_ **closurevariable = NULL;
41097 trace.prev = tracehead; tracehead = &trace;
41098 trace.file = LOCATE_parser;
41099 /* Register variable[0]: Local variable */
41100 variable[0] = self;
41101 /* Register variable[1]: Local variable */
41102 variable[1] = param0;
41103 /* Register variable[2]: Method return value and escape marker */
41104 /* Register variable[3]: Local variable */
41105 variable[3] = NIT_NULL /*null*/;
41106 /* Register variable[4]: Local variable */
41107 /* Register variable[5]: Result */
41108 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41109 variable[4] = variable[5];
41110 /* Register variable[5]: Local variable */
41111 /* Register variable[6]: Result */
41112 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41113 variable[5] = variable[6];
41114 /* Register variable[6]: Local variable */
41115 /* Register variable[7]: Result */
41116 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41117 variable[6] = variable[7];
41118 /* Register variable[7]: Local variable */
41119 /* Register variable[8]: Result */
41120 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41121 variable[7] = variable[8];
41122 /* Register variable[8]: Local variable */
41123 variable[8] = variable[7] /*nodearraylist1*/;
41124 /* Register variable[9]: Result */
41125 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41126 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 16275); nit_exit(1);}
41127 /* Register variable[9]: Local variable */
41128 variable[9] = variable[4] /*nodearraylist4*/;
41129 /* Register variable[10]: Result */
41130 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41131 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction389___action, LOCATE_parser, 16277); nit_exit(1);}
41132 /* Register variable[10]: Local variable */
41133 /* Register variable[11]: Result */
41134 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEeExpr*/;
41135 variable[10] = variable[11];
41136 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41137 /* Register variable[11]: Result */
41138 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41139 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41140 return_label810: while(false);
41141 tracehead = trace.prev;
41142 return;
41143 }
41144 void parser___ReduceAction389___init(val_t self, int* init_table) {
41145 struct trace_t trace = {NULL, NULL, 16285, LOCATE_parser___ReduceAction389___init};
41146 val_t variable[2];
41147 struct WBT_ **closurevariable = NULL;
41148 trace.prev = tracehead; tracehead = &trace;
41149 trace.file = LOCATE_parser;
41150 /* Register variable[0]: Local variable */
41151 variable[0] = self;
41152 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction389].i]) return;
41153 /* Register variable[1]: Method return value and escape marker */
41154 return_label811: while(false);
41155 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction389].i] = 1;
41156 tracehead = trace.prev;
41157 return;
41158 }
41159 void parser___ReduceAction390___action(val_t self, val_t param0) {
41160 struct trace_t trace = {NULL, NULL, 16289, LOCATE_parser___ReduceAction390___action};
41161 val_t variable[12];
41162 struct WBT_ **closurevariable = NULL;
41163 trace.prev = tracehead; tracehead = &trace;
41164 trace.file = LOCATE_parser;
41165 /* Register variable[0]: Local variable */
41166 variable[0] = self;
41167 /* Register variable[1]: Local variable */
41168 variable[1] = param0;
41169 /* Register variable[2]: Method return value and escape marker */
41170 /* Register variable[3]: Local variable */
41171 variable[3] = NIT_NULL /*null*/;
41172 /* Register variable[4]: Local variable */
41173 /* Register variable[5]: Result */
41174 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41175 variable[4] = variable[5];
41176 /* Register variable[5]: Local variable */
41177 /* Register variable[6]: Result */
41178 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41179 variable[5] = variable[6];
41180 /* Register variable[6]: Local variable */
41181 /* Register variable[7]: Result */
41182 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41183 variable[6] = variable[7];
41184 /* Register variable[7]: Local variable */
41185 /* Register variable[8]: Result */
41186 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41187 variable[7] = variable[8];
41188 /* Register variable[8]: Local variable */
41189 variable[8] = variable[7] /*nodearraylist1*/;
41190 /* Register variable[9]: Result */
41191 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41192 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 16297); nit_exit(1);}
41193 /* Register variable[9]: Local variable */
41194 variable[9] = variable[4] /*nodearraylist4*/;
41195 /* Register variable[10]: Result */
41196 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41197 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction390___action, LOCATE_parser, 16299); nit_exit(1);}
41198 /* Register variable[10]: Local variable */
41199 /* Register variable[11]: Result */
41200 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ANeExpr*/;
41201 variable[10] = variable[11];
41202 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41203 /* Register variable[11]: Result */
41204 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41205 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41206 return_label812: while(false);
41207 tracehead = trace.prev;
41208 return;
41209 }
41210 void parser___ReduceAction390___init(val_t self, int* init_table) {
41211 struct trace_t trace = {NULL, NULL, 16307, LOCATE_parser___ReduceAction390___init};
41212 val_t variable[2];
41213 struct WBT_ **closurevariable = NULL;
41214 trace.prev = tracehead; tracehead = &trace;
41215 trace.file = LOCATE_parser;
41216 /* Register variable[0]: Local variable */
41217 variable[0] = self;
41218 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction390].i]) return;
41219 /* Register variable[1]: Method return value and escape marker */
41220 return_label813: while(false);
41221 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction390].i] = 1;
41222 tracehead = trace.prev;
41223 return;
41224 }
41225 void parser___ReduceAction391___action(val_t self, val_t param0) {
41226 struct trace_t trace = {NULL, NULL, 16311, LOCATE_parser___ReduceAction391___action};
41227 val_t variable[12];
41228 struct WBT_ **closurevariable = NULL;
41229 trace.prev = tracehead; tracehead = &trace;
41230 trace.file = LOCATE_parser;
41231 /* Register variable[0]: Local variable */
41232 variable[0] = self;
41233 /* Register variable[1]: Local variable */
41234 variable[1] = param0;
41235 /* Register variable[2]: Method return value and escape marker */
41236 /* Register variable[3]: Local variable */
41237 variable[3] = NIT_NULL /*null*/;
41238 /* Register variable[4]: Local variable */
41239 /* Register variable[5]: Result */
41240 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41241 variable[4] = variable[5];
41242 /* Register variable[5]: Local variable */
41243 /* Register variable[6]: Result */
41244 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41245 variable[5] = variable[6];
41246 /* Register variable[6]: Local variable */
41247 /* Register variable[7]: Result */
41248 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41249 variable[6] = variable[7];
41250 /* Register variable[7]: Local variable */
41251 /* Register variable[8]: Result */
41252 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41253 variable[7] = variable[8];
41254 /* Register variable[8]: Local variable */
41255 variable[8] = variable[7] /*nodearraylist1*/;
41256 /* Register variable[9]: Result */
41257 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41258 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 16319); nit_exit(1);}
41259 /* Register variable[9]: Local variable */
41260 variable[9] = variable[4] /*nodearraylist4*/;
41261 /* Register variable[10]: Result */
41262 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41263 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction391___action, LOCATE_parser, 16321); nit_exit(1);}
41264 /* Register variable[10]: Local variable */
41265 /* Register variable[11]: Result */
41266 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALtExpr*/;
41267 variable[10] = variable[11];
41268 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41269 /* Register variable[11]: Result */
41270 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41271 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41272 return_label814: while(false);
41273 tracehead = trace.prev;
41274 return;
41275 }
41276 void parser___ReduceAction391___init(val_t self, int* init_table) {
41277 struct trace_t trace = {NULL, NULL, 16329, LOCATE_parser___ReduceAction391___init};
41278 val_t variable[2];
41279 struct WBT_ **closurevariable = NULL;
41280 trace.prev = tracehead; tracehead = &trace;
41281 trace.file = LOCATE_parser;
41282 /* Register variable[0]: Local variable */
41283 variable[0] = self;
41284 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction391].i]) return;
41285 /* Register variable[1]: Method return value and escape marker */
41286 return_label815: while(false);
41287 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction391].i] = 1;
41288 tracehead = trace.prev;
41289 return;
41290 }
41291 void parser___ReduceAction392___action(val_t self, val_t param0) {
41292 struct trace_t trace = {NULL, NULL, 16333, LOCATE_parser___ReduceAction392___action};
41293 val_t variable[12];
41294 struct WBT_ **closurevariable = NULL;
41295 trace.prev = tracehead; tracehead = &trace;
41296 trace.file = LOCATE_parser;
41297 /* Register variable[0]: Local variable */
41298 variable[0] = self;
41299 /* Register variable[1]: Local variable */
41300 variable[1] = param0;
41301 /* Register variable[2]: Method return value and escape marker */
41302 /* Register variable[3]: Local variable */
41303 variable[3] = NIT_NULL /*null*/;
41304 /* Register variable[4]: Local variable */
41305 /* Register variable[5]: Result */
41306 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41307 variable[4] = variable[5];
41308 /* Register variable[5]: Local variable */
41309 /* Register variable[6]: Result */
41310 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41311 variable[5] = variable[6];
41312 /* Register variable[6]: Local variable */
41313 /* Register variable[7]: Result */
41314 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41315 variable[6] = variable[7];
41316 /* Register variable[7]: Local variable */
41317 /* Register variable[8]: Result */
41318 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41319 variable[7] = variable[8];
41320 /* Register variable[8]: Local variable */
41321 variable[8] = variable[7] /*nodearraylist1*/;
41322 /* Register variable[9]: Result */
41323 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41324 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 16341); nit_exit(1);}
41325 /* Register variable[9]: Local variable */
41326 variable[9] = variable[4] /*nodearraylist4*/;
41327 /* Register variable[10]: Result */
41328 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41329 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction392___action, LOCATE_parser, 16343); nit_exit(1);}
41330 /* Register variable[10]: Local variable */
41331 /* Register variable[11]: Result */
41332 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALeExpr*/;
41333 variable[10] = variable[11];
41334 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41335 /* Register variable[11]: Result */
41336 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41337 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41338 return_label816: while(false);
41339 tracehead = trace.prev;
41340 return;
41341 }
41342 void parser___ReduceAction392___init(val_t self, int* init_table) {
41343 struct trace_t trace = {NULL, NULL, 16351, LOCATE_parser___ReduceAction392___init};
41344 val_t variable[2];
41345 struct WBT_ **closurevariable = NULL;
41346 trace.prev = tracehead; tracehead = &trace;
41347 trace.file = LOCATE_parser;
41348 /* Register variable[0]: Local variable */
41349 variable[0] = self;
41350 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction392].i]) return;
41351 /* Register variable[1]: Method return value and escape marker */
41352 return_label817: while(false);
41353 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction392].i] = 1;
41354 tracehead = trace.prev;
41355 return;
41356 }
41357 void parser___ReduceAction393___action(val_t self, val_t param0) {
41358 struct trace_t trace = {NULL, NULL, 16355, LOCATE_parser___ReduceAction393___action};
41359 val_t variable[12];
41360 struct WBT_ **closurevariable = NULL;
41361 trace.prev = tracehead; tracehead = &trace;
41362 trace.file = LOCATE_parser;
41363 /* Register variable[0]: Local variable */
41364 variable[0] = self;
41365 /* Register variable[1]: Local variable */
41366 variable[1] = param0;
41367 /* Register variable[2]: Method return value and escape marker */
41368 /* Register variable[3]: Local variable */
41369 variable[3] = NIT_NULL /*null*/;
41370 /* Register variable[4]: Local variable */
41371 /* Register variable[5]: Result */
41372 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41373 variable[4] = variable[5];
41374 /* Register variable[5]: Local variable */
41375 /* Register variable[6]: Result */
41376 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41377 variable[5] = variable[6];
41378 /* Register variable[6]: Local variable */
41379 /* Register variable[7]: Result */
41380 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41381 variable[6] = variable[7];
41382 /* Register variable[7]: Local variable */
41383 /* Register variable[8]: Result */
41384 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41385 variable[7] = variable[8];
41386 /* Register variable[8]: Local variable */
41387 variable[8] = variable[7] /*nodearraylist1*/;
41388 /* Register variable[9]: Result */
41389 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41390 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction393___action, LOCATE_parser, 16363); nit_exit(1);}
41391 /* Register variable[9]: Local variable */
41392 variable[9] = variable[4] /*nodearraylist4*/;
41393 /* Register variable[10]: Result */
41394 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41395 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction393___action, LOCATE_parser, 16365); nit_exit(1);}
41396 /* Register variable[10]: Local variable */
41397 /* Register variable[11]: Result */
41398 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGtExpr*/;
41399 variable[10] = variable[11];
41400 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41401 /* Register variable[11]: Result */
41402 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41403 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41404 return_label818: while(false);
41405 tracehead = trace.prev;
41406 return;
41407 }
41408 void parser___ReduceAction393___init(val_t self, int* init_table) {
41409 struct trace_t trace = {NULL, NULL, 16373, LOCATE_parser___ReduceAction393___init};
41410 val_t variable[2];
41411 struct WBT_ **closurevariable = NULL;
41412 trace.prev = tracehead; tracehead = &trace;
41413 trace.file = LOCATE_parser;
41414 /* Register variable[0]: Local variable */
41415 variable[0] = self;
41416 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction393].i]) return;
41417 /* Register variable[1]: Method return value and escape marker */
41418 return_label819: while(false);
41419 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction393].i] = 1;
41420 tracehead = trace.prev;
41421 return;
41422 }
41423 void parser___ReduceAction394___action(val_t self, val_t param0) {
41424 struct trace_t trace = {NULL, NULL, 16377, LOCATE_parser___ReduceAction394___action};
41425 val_t variable[12];
41426 struct WBT_ **closurevariable = NULL;
41427 trace.prev = tracehead; tracehead = &trace;
41428 trace.file = LOCATE_parser;
41429 /* Register variable[0]: Local variable */
41430 variable[0] = self;
41431 /* Register variable[1]: Local variable */
41432 variable[1] = param0;
41433 /* Register variable[2]: Method return value and escape marker */
41434 /* Register variable[3]: Local variable */
41435 variable[3] = NIT_NULL /*null*/;
41436 /* Register variable[4]: Local variable */
41437 /* Register variable[5]: Result */
41438 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41439 variable[4] = variable[5];
41440 /* Register variable[5]: Local variable */
41441 /* Register variable[6]: Result */
41442 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41443 variable[5] = variable[6];
41444 /* Register variable[6]: Local variable */
41445 /* Register variable[7]: Result */
41446 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41447 variable[6] = variable[7];
41448 /* Register variable[7]: Local variable */
41449 /* Register variable[8]: Result */
41450 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41451 variable[7] = variable[8];
41452 /* Register variable[8]: Local variable */
41453 variable[8] = variable[7] /*nodearraylist1*/;
41454 /* Register variable[9]: Result */
41455 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41456 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction394___action, LOCATE_parser, 16385); nit_exit(1);}
41457 /* Register variable[9]: Local variable */
41458 variable[9] = variable[4] /*nodearraylist4*/;
41459 /* Register variable[10]: Result */
41460 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41461 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction394___action, LOCATE_parser, 16387); nit_exit(1);}
41462 /* Register variable[10]: Local variable */
41463 /* Register variable[11]: Result */
41464 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGeExpr*/;
41465 variable[10] = variable[11];
41466 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41467 /* Register variable[11]: Result */
41468 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41469 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41470 return_label820: while(false);
41471 tracehead = trace.prev;
41472 return;
41473 }
41474 void parser___ReduceAction394___init(val_t self, int* init_table) {
41475 struct trace_t trace = {NULL, NULL, 16395, LOCATE_parser___ReduceAction394___init};
41476 val_t variable[2];
41477 struct WBT_ **closurevariable = NULL;
41478 trace.prev = tracehead; tracehead = &trace;
41479 trace.file = LOCATE_parser;
41480 /* Register variable[0]: Local variable */
41481 variable[0] = self;
41482 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction394].i]) return;
41483 /* Register variable[1]: Method return value and escape marker */
41484 return_label821: while(false);
41485 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction394].i] = 1;
41486 tracehead = trace.prev;
41487 return;
41488 }
41489 void parser___ReduceAction395___action(val_t self, val_t param0) {
41490 struct trace_t trace = {NULL, NULL, 16399, LOCATE_parser___ReduceAction395___action};
41491 val_t variable[12];
41492 struct WBT_ **closurevariable = NULL;
41493 trace.prev = tracehead; tracehead = &trace;
41494 trace.file = LOCATE_parser;
41495 /* Register variable[0]: Local variable */
41496 variable[0] = self;
41497 /* Register variable[1]: Local variable */
41498 variable[1] = param0;
41499 /* Register variable[2]: Method return value and escape marker */
41500 /* Register variable[3]: Local variable */
41501 variable[3] = NIT_NULL /*null*/;
41502 /* Register variable[4]: Local variable */
41503 /* Register variable[5]: Result */
41504 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41505 variable[4] = variable[5];
41506 /* Register variable[5]: Local variable */
41507 /* Register variable[6]: Result */
41508 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41509 variable[5] = variable[6];
41510 /* Register variable[6]: Local variable */
41511 /* Register variable[7]: Result */
41512 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41513 variable[6] = variable[7];
41514 /* Register variable[7]: Local variable */
41515 /* Register variable[8]: Result */
41516 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41517 variable[7] = variable[8];
41518 /* Register variable[8]: Local variable */
41519 variable[8] = variable[7] /*nodearraylist1*/;
41520 /* Register variable[9]: Result */
41521 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41522 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction395___action, LOCATE_parser, 16407); nit_exit(1);}
41523 /* Register variable[9]: Local variable */
41524 variable[9] = variable[4] /*nodearraylist4*/;
41525 /* Register variable[10]: Result */
41526 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41527 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction395___action, LOCATE_parser, 16409); nit_exit(1);}
41528 /* Register variable[10]: Local variable */
41529 /* Register variable[11]: Result */
41530 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarshipExpr*/;
41531 variable[10] = variable[11];
41532 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41533 /* Register variable[11]: Result */
41534 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41535 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41536 return_label822: while(false);
41537 tracehead = trace.prev;
41538 return;
41539 }
41540 void parser___ReduceAction395___init(val_t self, int* init_table) {
41541 struct trace_t trace = {NULL, NULL, 16417, LOCATE_parser___ReduceAction395___init};
41542 val_t variable[2];
41543 struct WBT_ **closurevariable = NULL;
41544 trace.prev = tracehead; tracehead = &trace;
41545 trace.file = LOCATE_parser;
41546 /* Register variable[0]: Local variable */
41547 variable[0] = self;
41548 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction395].i]) return;
41549 /* Register variable[1]: Method return value and escape marker */
41550 return_label823: while(false);
41551 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction395].i] = 1;
41552 tracehead = trace.prev;
41553 return;
41554 }
41555 void parser___ReduceAction396___action(val_t self, val_t param0) {
41556 struct trace_t trace = {NULL, NULL, 16421, LOCATE_parser___ReduceAction396___action};
41557 val_t variable[12];
41558 struct WBT_ **closurevariable = NULL;
41559 trace.prev = tracehead; tracehead = &trace;
41560 trace.file = LOCATE_parser;
41561 /* Register variable[0]: Local variable */
41562 variable[0] = self;
41563 /* Register variable[1]: Local variable */
41564 variable[1] = param0;
41565 /* Register variable[2]: Method return value and escape marker */
41566 /* Register variable[3]: Local variable */
41567 variable[3] = NIT_NULL /*null*/;
41568 /* Register variable[4]: Local variable */
41569 /* Register variable[5]: Result */
41570 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41571 variable[4] = variable[5];
41572 /* Register variable[5]: Local variable */
41573 /* Register variable[6]: Result */
41574 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41575 variable[5] = variable[6];
41576 /* Register variable[6]: Local variable */
41577 /* Register variable[7]: Result */
41578 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41579 variable[6] = variable[7];
41580 /* Register variable[7]: Local variable */
41581 /* Register variable[8]: Result */
41582 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41583 variable[7] = variable[8];
41584 /* Register variable[8]: Local variable */
41585 variable[8] = variable[7] /*nodearraylist1*/;
41586 /* Register variable[9]: Result */
41587 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41588 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 16429); nit_exit(1);}
41589 /* Register variable[9]: Local variable */
41590 variable[9] = variable[4] /*nodearraylist4*/;
41591 /* Register variable[10]: Result */
41592 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
41593 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction396___action, LOCATE_parser, 16431); nit_exit(1);}
41594 /* Register variable[10]: Local variable */
41595 /* Register variable[11]: Result */
41596 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/) /*new AIsaExpr*/;
41597 variable[10] = variable[11];
41598 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41599 /* Register variable[11]: Result */
41600 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(46)) /*Parser::go_to*/;
41601 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41602 return_label824: while(false);
41603 tracehead = trace.prev;
41604 return;
41605 }
41606 void parser___ReduceAction396___init(val_t self, int* init_table) {
41607 struct trace_t trace = {NULL, NULL, 16439, LOCATE_parser___ReduceAction396___init};
41608 val_t variable[2];
41609 struct WBT_ **closurevariable = NULL;
41610 trace.prev = tracehead; tracehead = &trace;
41611 trace.file = LOCATE_parser;
41612 /* Register variable[0]: Local variable */
41613 variable[0] = self;
41614 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction396].i]) return;
41615 /* Register variable[1]: Method return value and escape marker */
41616 return_label825: while(false);
41617 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction396].i] = 1;
41618 tracehead = trace.prev;
41619 return;
41620 }
41621 void parser___ReduceAction397___action(val_t self, val_t param0) {
41622 struct trace_t trace = {NULL, NULL, 16443, LOCATE_parser___ReduceAction397___action};
41623 val_t variable[7];
41624 struct WBT_ **closurevariable = NULL;
41625 trace.prev = tracehead; tracehead = &trace;
41626 trace.file = LOCATE_parser;
41627 /* Register variable[0]: Local variable */
41628 variable[0] = self;
41629 /* Register variable[1]: Local variable */
41630 variable[1] = param0;
41631 /* Register variable[2]: Method return value and escape marker */
41632 /* Register variable[3]: Local variable */
41633 variable[3] = NIT_NULL /*null*/;
41634 /* Register variable[4]: Local variable */
41635 /* Register variable[5]: Result */
41636 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41637 variable[4] = variable[5];
41638 /* Register variable[5]: Local variable */
41639 variable[5] = variable[4] /*nodearraylist1*/;
41640 /* Register variable[6]: Result */
41641 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41642 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction397___action, LOCATE_parser, 16448); nit_exit(1);}
41643 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41644 /* Register variable[6]: Result */
41645 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
41646 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41647 return_label826: while(false);
41648 tracehead = trace.prev;
41649 return;
41650 }
41651 void parser___ReduceAction397___init(val_t self, int* init_table) {
41652 struct trace_t trace = {NULL, NULL, 16452, LOCATE_parser___ReduceAction397___init};
41653 val_t variable[2];
41654 struct WBT_ **closurevariable = NULL;
41655 trace.prev = tracehead; tracehead = &trace;
41656 trace.file = LOCATE_parser;
41657 /* Register variable[0]: Local variable */
41658 variable[0] = self;
41659 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction397].i]) return;
41660 /* Register variable[1]: Method return value and escape marker */
41661 return_label827: while(false);
41662 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction397].i] = 1;
41663 tracehead = trace.prev;
41664 return;
41665 }
41666 void parser___ReduceAction398___action(val_t self, val_t param0) {
41667 struct trace_t trace = {NULL, NULL, 16456, LOCATE_parser___ReduceAction398___action};
41668 val_t variable[12];
41669 struct WBT_ **closurevariable = NULL;
41670 trace.prev = tracehead; tracehead = &trace;
41671 trace.file = LOCATE_parser;
41672 /* Register variable[0]: Local variable */
41673 variable[0] = self;
41674 /* Register variable[1]: Local variable */
41675 variable[1] = param0;
41676 /* Register variable[2]: Method return value and escape marker */
41677 /* Register variable[3]: Local variable */
41678 variable[3] = NIT_NULL /*null*/;
41679 /* Register variable[4]: Local variable */
41680 /* Register variable[5]: Result */
41681 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41682 variable[4] = variable[5];
41683 /* Register variable[5]: Local variable */
41684 /* Register variable[6]: Result */
41685 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41686 variable[5] = variable[6];
41687 /* Register variable[6]: Local variable */
41688 /* Register variable[7]: Result */
41689 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41690 variable[6] = variable[7];
41691 /* Register variable[7]: Local variable */
41692 /* Register variable[8]: Result */
41693 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41694 variable[7] = variable[8];
41695 /* Register variable[8]: Local variable */
41696 variable[8] = variable[7] /*nodearraylist1*/;
41697 /* Register variable[9]: Result */
41698 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41699 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction398___action, LOCATE_parser, 16464); nit_exit(1);}
41700 /* Register variable[9]: Local variable */
41701 variable[9] = variable[4] /*nodearraylist4*/;
41702 /* Register variable[10]: Result */
41703 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41704 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction398___action, LOCATE_parser, 16466); nit_exit(1);}
41705 /* Register variable[10]: Local variable */
41706 /* Register variable[11]: Result */
41707 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APlusExpr*/;
41708 variable[10] = variable[11];
41709 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41710 /* Register variable[11]: Result */
41711 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
41712 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41713 return_label828: while(false);
41714 tracehead = trace.prev;
41715 return;
41716 }
41717 void parser___ReduceAction398___init(val_t self, int* init_table) {
41718 struct trace_t trace = {NULL, NULL, 16474, LOCATE_parser___ReduceAction398___init};
41719 val_t variable[2];
41720 struct WBT_ **closurevariable = NULL;
41721 trace.prev = tracehead; tracehead = &trace;
41722 trace.file = LOCATE_parser;
41723 /* Register variable[0]: Local variable */
41724 variable[0] = self;
41725 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction398].i]) return;
41726 /* Register variable[1]: Method return value and escape marker */
41727 return_label829: while(false);
41728 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction398].i] = 1;
41729 tracehead = trace.prev;
41730 return;
41731 }
41732 void parser___ReduceAction399___action(val_t self, val_t param0) {
41733 struct trace_t trace = {NULL, NULL, 16478, LOCATE_parser___ReduceAction399___action};
41734 val_t variable[12];
41735 struct WBT_ **closurevariable = NULL;
41736 trace.prev = tracehead; tracehead = &trace;
41737 trace.file = LOCATE_parser;
41738 /* Register variable[0]: Local variable */
41739 variable[0] = self;
41740 /* Register variable[1]: Local variable */
41741 variable[1] = param0;
41742 /* Register variable[2]: Method return value and escape marker */
41743 /* Register variable[3]: Local variable */
41744 variable[3] = NIT_NULL /*null*/;
41745 /* Register variable[4]: Local variable */
41746 /* Register variable[5]: Result */
41747 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41748 variable[4] = variable[5];
41749 /* Register variable[5]: Local variable */
41750 /* Register variable[6]: Result */
41751 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41752 variable[5] = variable[6];
41753 /* Register variable[6]: Local variable */
41754 /* Register variable[7]: Result */
41755 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41756 variable[6] = variable[7];
41757 /* Register variable[7]: Local variable */
41758 /* Register variable[8]: Result */
41759 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41760 variable[7] = variable[8];
41761 /* Register variable[8]: Local variable */
41762 variable[8] = variable[7] /*nodearraylist1*/;
41763 /* Register variable[9]: Result */
41764 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41765 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 16486); nit_exit(1);}
41766 /* Register variable[9]: Local variable */
41767 variable[9] = variable[4] /*nodearraylist4*/;
41768 /* Register variable[10]: Result */
41769 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41770 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction399___action, LOCATE_parser, 16488); nit_exit(1);}
41771 /* Register variable[10]: Local variable */
41772 /* Register variable[11]: Result */
41773 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AMinusExpr*/;
41774 variable[10] = variable[11];
41775 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41776 /* Register variable[11]: Result */
41777 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(47)) /*Parser::go_to*/;
41778 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41779 return_label830: while(false);
41780 tracehead = trace.prev;
41781 return;
41782 }
41783 void parser___ReduceAction399___init(val_t self, int* init_table) {
41784 struct trace_t trace = {NULL, NULL, 16496, LOCATE_parser___ReduceAction399___init};
41785 val_t variable[2];
41786 struct WBT_ **closurevariable = NULL;
41787 trace.prev = tracehead; tracehead = &trace;
41788 trace.file = LOCATE_parser;
41789 /* Register variable[0]: Local variable */
41790 variable[0] = self;
41791 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction399].i]) return;
41792 /* Register variable[1]: Method return value and escape marker */
41793 return_label831: while(false);
41794 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction399].i] = 1;
41795 tracehead = trace.prev;
41796 return;
41797 }
41798 void parser___ReduceAction400___action(val_t self, val_t param0) {
41799 struct trace_t trace = {NULL, NULL, 16500, LOCATE_parser___ReduceAction400___action};
41800 val_t variable[7];
41801 struct WBT_ **closurevariable = NULL;
41802 trace.prev = tracehead; tracehead = &trace;
41803 trace.file = LOCATE_parser;
41804 /* Register variable[0]: Local variable */
41805 variable[0] = self;
41806 /* Register variable[1]: Local variable */
41807 variable[1] = param0;
41808 /* Register variable[2]: Method return value and escape marker */
41809 /* Register variable[3]: Local variable */
41810 variable[3] = NIT_NULL /*null*/;
41811 /* Register variable[4]: Local variable */
41812 /* Register variable[5]: Result */
41813 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41814 variable[4] = variable[5];
41815 /* Register variable[5]: Local variable */
41816 variable[5] = variable[4] /*nodearraylist1*/;
41817 /* Register variable[6]: Result */
41818 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41819 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction400___action, LOCATE_parser, 16505); nit_exit(1);}
41820 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
41821 /* Register variable[6]: Result */
41822 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
41823 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
41824 return_label832: while(false);
41825 tracehead = trace.prev;
41826 return;
41827 }
41828 void parser___ReduceAction400___init(val_t self, int* init_table) {
41829 struct trace_t trace = {NULL, NULL, 16509, LOCATE_parser___ReduceAction400___init};
41830 val_t variable[2];
41831 struct WBT_ **closurevariable = NULL;
41832 trace.prev = tracehead; tracehead = &trace;
41833 trace.file = LOCATE_parser;
41834 /* Register variable[0]: Local variable */
41835 variable[0] = self;
41836 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction400].i]) return;
41837 /* Register variable[1]: Method return value and escape marker */
41838 return_label833: while(false);
41839 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction400].i] = 1;
41840 tracehead = trace.prev;
41841 return;
41842 }
41843 void parser___ReduceAction401___action(val_t self, val_t param0) {
41844 struct trace_t trace = {NULL, NULL, 16513, LOCATE_parser___ReduceAction401___action};
41845 val_t variable[12];
41846 struct WBT_ **closurevariable = NULL;
41847 trace.prev = tracehead; tracehead = &trace;
41848 trace.file = LOCATE_parser;
41849 /* Register variable[0]: Local variable */
41850 variable[0] = self;
41851 /* Register variable[1]: Local variable */
41852 variable[1] = param0;
41853 /* Register variable[2]: Method return value and escape marker */
41854 /* Register variable[3]: Local variable */
41855 variable[3] = NIT_NULL /*null*/;
41856 /* Register variable[4]: Local variable */
41857 /* Register variable[5]: Result */
41858 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41859 variable[4] = variable[5];
41860 /* Register variable[5]: Local variable */
41861 /* Register variable[6]: Result */
41862 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41863 variable[5] = variable[6];
41864 /* Register variable[6]: Local variable */
41865 /* Register variable[7]: Result */
41866 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41867 variable[6] = variable[7];
41868 /* Register variable[7]: Local variable */
41869 /* Register variable[8]: Result */
41870 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41871 variable[7] = variable[8];
41872 /* Register variable[8]: Local variable */
41873 variable[8] = variable[7] /*nodearraylist1*/;
41874 /* Register variable[9]: Result */
41875 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41876 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction401___action, LOCATE_parser, 16521); nit_exit(1);}
41877 /* Register variable[9]: Local variable */
41878 variable[9] = variable[4] /*nodearraylist4*/;
41879 /* Register variable[10]: Result */
41880 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41881 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction401___action, LOCATE_parser, 16523); nit_exit(1);}
41882 /* Register variable[10]: Local variable */
41883 /* Register variable[11]: Result */
41884 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarExpr*/;
41885 variable[10] = variable[11];
41886 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41887 /* Register variable[11]: Result */
41888 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
41889 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41890 return_label834: while(false);
41891 tracehead = trace.prev;
41892 return;
41893 }
41894 void parser___ReduceAction401___init(val_t self, int* init_table) {
41895 struct trace_t trace = {NULL, NULL, 16531, LOCATE_parser___ReduceAction401___init};
41896 val_t variable[2];
41897 struct WBT_ **closurevariable = NULL;
41898 trace.prev = tracehead; tracehead = &trace;
41899 trace.file = LOCATE_parser;
41900 /* Register variable[0]: Local variable */
41901 variable[0] = self;
41902 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction401].i]) return;
41903 /* Register variable[1]: Method return value and escape marker */
41904 return_label835: while(false);
41905 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction401].i] = 1;
41906 tracehead = trace.prev;
41907 return;
41908 }
41909 void parser___ReduceAction402___action(val_t self, val_t param0) {
41910 struct trace_t trace = {NULL, NULL, 16535, LOCATE_parser___ReduceAction402___action};
41911 val_t variable[12];
41912 struct WBT_ **closurevariable = NULL;
41913 trace.prev = tracehead; tracehead = &trace;
41914 trace.file = LOCATE_parser;
41915 /* Register variable[0]: Local variable */
41916 variable[0] = self;
41917 /* Register variable[1]: Local variable */
41918 variable[1] = param0;
41919 /* Register variable[2]: Method return value and escape marker */
41920 /* Register variable[3]: Local variable */
41921 variable[3] = NIT_NULL /*null*/;
41922 /* Register variable[4]: Local variable */
41923 /* Register variable[5]: Result */
41924 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41925 variable[4] = variable[5];
41926 /* Register variable[5]: Local variable */
41927 /* Register variable[6]: Result */
41928 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41929 variable[5] = variable[6];
41930 /* Register variable[6]: Local variable */
41931 /* Register variable[7]: Result */
41932 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41933 variable[6] = variable[7];
41934 /* Register variable[7]: Local variable */
41935 /* Register variable[8]: Result */
41936 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41937 variable[7] = variable[8];
41938 /* Register variable[8]: Local variable */
41939 variable[8] = variable[7] /*nodearraylist1*/;
41940 /* Register variable[9]: Result */
41941 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41942 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 16543); nit_exit(1);}
41943 /* Register variable[9]: Local variable */
41944 variable[9] = variable[4] /*nodearraylist4*/;
41945 /* Register variable[10]: Result */
41946 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
41947 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction402___action, LOCATE_parser, 16545); nit_exit(1);}
41948 /* Register variable[10]: Local variable */
41949 /* Register variable[11]: Result */
41950 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ASlashExpr*/;
41951 variable[10] = variable[11];
41952 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
41953 /* Register variable[11]: Result */
41954 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
41955 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
41956 return_label836: while(false);
41957 tracehead = trace.prev;
41958 return;
41959 }
41960 void parser___ReduceAction402___init(val_t self, int* init_table) {
41961 struct trace_t trace = {NULL, NULL, 16553, LOCATE_parser___ReduceAction402___init};
41962 val_t variable[2];
41963 struct WBT_ **closurevariable = NULL;
41964 trace.prev = tracehead; tracehead = &trace;
41965 trace.file = LOCATE_parser;
41966 /* Register variable[0]: Local variable */
41967 variable[0] = self;
41968 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction402].i]) return;
41969 /* Register variable[1]: Method return value and escape marker */
41970 return_label837: while(false);
41971 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction402].i] = 1;
41972 tracehead = trace.prev;
41973 return;
41974 }
41975 void parser___ReduceAction403___action(val_t self, val_t param0) {
41976 struct trace_t trace = {NULL, NULL, 16557, LOCATE_parser___ReduceAction403___action};
41977 val_t variable[12];
41978 struct WBT_ **closurevariable = NULL;
41979 trace.prev = tracehead; tracehead = &trace;
41980 trace.file = LOCATE_parser;
41981 /* Register variable[0]: Local variable */
41982 variable[0] = self;
41983 /* Register variable[1]: Local variable */
41984 variable[1] = param0;
41985 /* Register variable[2]: Method return value and escape marker */
41986 /* Register variable[3]: Local variable */
41987 variable[3] = NIT_NULL /*null*/;
41988 /* Register variable[4]: Local variable */
41989 /* Register variable[5]: Result */
41990 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41991 variable[4] = variable[5];
41992 /* Register variable[5]: Local variable */
41993 /* Register variable[6]: Result */
41994 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41995 variable[5] = variable[6];
41996 /* Register variable[6]: Local variable */
41997 /* Register variable[7]: Result */
41998 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
41999 variable[6] = variable[7];
42000 /* Register variable[7]: Local variable */
42001 /* Register variable[8]: Result */
42002 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42003 variable[7] = variable[8];
42004 /* Register variable[8]: Local variable */
42005 variable[8] = variable[7] /*nodearraylist1*/;
42006 /* Register variable[9]: Result */
42007 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42008 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 16565); nit_exit(1);}
42009 /* Register variable[9]: Local variable */
42010 variable[9] = variable[4] /*nodearraylist4*/;
42011 /* Register variable[10]: Result */
42012 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42013 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction403___action, LOCATE_parser, 16567); nit_exit(1);}
42014 /* Register variable[10]: Local variable */
42015 /* Register variable[11]: Result */
42016 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APercentExpr*/;
42017 variable[10] = variable[11];
42018 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42019 /* Register variable[11]: Result */
42020 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(48)) /*Parser::go_to*/;
42021 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42022 return_label838: while(false);
42023 tracehead = trace.prev;
42024 return;
42025 }
42026 void parser___ReduceAction403___init(val_t self, int* init_table) {
42027 struct trace_t trace = {NULL, NULL, 16575, LOCATE_parser___ReduceAction403___init};
42028 val_t variable[2];
42029 struct WBT_ **closurevariable = NULL;
42030 trace.prev = tracehead; tracehead = &trace;
42031 trace.file = LOCATE_parser;
42032 /* Register variable[0]: Local variable */
42033 variable[0] = self;
42034 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction403].i]) return;
42035 /* Register variable[1]: Method return value and escape marker */
42036 return_label839: while(false);
42037 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction403].i] = 1;
42038 tracehead = trace.prev;
42039 return;
42040 }
42041 void parser___ReduceAction404___action(val_t self, val_t param0) {
42042 struct trace_t trace = {NULL, NULL, 16579, LOCATE_parser___ReduceAction404___action};
42043 val_t variable[7];
42044 struct WBT_ **closurevariable = NULL;
42045 trace.prev = tracehead; tracehead = &trace;
42046 trace.file = LOCATE_parser;
42047 /* Register variable[0]: Local variable */
42048 variable[0] = self;
42049 /* Register variable[1]: Local variable */
42050 variable[1] = param0;
42051 /* Register variable[2]: Method return value and escape marker */
42052 /* Register variable[3]: Local variable */
42053 variable[3] = NIT_NULL /*null*/;
42054 /* Register variable[4]: Local variable */
42055 /* Register variable[5]: Result */
42056 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42057 variable[4] = variable[5];
42058 /* Register variable[5]: Local variable */
42059 variable[5] = variable[4] /*nodearraylist1*/;
42060 /* Register variable[6]: Result */
42061 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42062 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction404___action, LOCATE_parser, 16584); nit_exit(1);}
42063 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
42064 /* Register variable[6]: Result */
42065 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
42066 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
42067 return_label840: while(false);
42068 tracehead = trace.prev;
42069 return;
42070 }
42071 void parser___ReduceAction404___init(val_t self, int* init_table) {
42072 struct trace_t trace = {NULL, NULL, 16588, LOCATE_parser___ReduceAction404___init};
42073 val_t variable[2];
42074 struct WBT_ **closurevariable = NULL;
42075 trace.prev = tracehead; tracehead = &trace;
42076 trace.file = LOCATE_parser;
42077 /* Register variable[0]: Local variable */
42078 variable[0] = self;
42079 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction404].i]) return;
42080 /* Register variable[1]: Method return value and escape marker */
42081 return_label841: while(false);
42082 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction404].i] = 1;
42083 tracehead = trace.prev;
42084 return;
42085 }
42086 void parser___ReduceAction405___action(val_t self, val_t param0) {
42087 struct trace_t trace = {NULL, NULL, 16592, LOCATE_parser___ReduceAction405___action};
42088 val_t variable[11];
42089 struct WBT_ **closurevariable = NULL;
42090 trace.prev = tracehead; tracehead = &trace;
42091 trace.file = LOCATE_parser;
42092 /* Register variable[0]: Local variable */
42093 variable[0] = self;
42094 /* Register variable[1]: Local variable */
42095 variable[1] = param0;
42096 /* Register variable[2]: Method return value and escape marker */
42097 /* Register variable[3]: Local variable */
42098 variable[3] = NIT_NULL /*null*/;
42099 /* Register variable[4]: Local variable */
42100 /* Register variable[5]: Result */
42101 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42102 variable[4] = variable[5];
42103 /* Register variable[5]: Local variable */
42104 /* Register variable[6]: Result */
42105 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42106 variable[5] = variable[6];
42107 /* Register variable[6]: Local variable */
42108 /* Register variable[7]: Result */
42109 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42110 variable[6] = variable[7];
42111 /* Register variable[7]: Local variable */
42112 variable[7] = variable[6] /*nodearraylist1*/;
42113 /* Register variable[8]: Result */
42114 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
42115 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 16599); nit_exit(1);}
42116 /* Register variable[8]: Local variable */
42117 variable[8] = variable[4] /*nodearraylist3*/;
42118 /* Register variable[9]: Result */
42119 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42120 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction405___action, LOCATE_parser, 16601); nit_exit(1);}
42121 /* Register variable[9]: Local variable */
42122 /* Register variable[10]: Result */
42123 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/) /*new AUminusExpr*/;
42124 variable[9] = variable[10];
42125 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42126 /* Register variable[10]: Result */
42127 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
42128 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42129 return_label842: while(false);
42130 tracehead = trace.prev;
42131 return;
42132 }
42133 void parser___ReduceAction405___init(val_t self, int* init_table) {
42134 struct trace_t trace = {NULL, NULL, 16609, LOCATE_parser___ReduceAction405___init};
42135 val_t variable[2];
42136 struct WBT_ **closurevariable = NULL;
42137 trace.prev = tracehead; tracehead = &trace;
42138 trace.file = LOCATE_parser;
42139 /* Register variable[0]: Local variable */
42140 variable[0] = self;
42141 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction405].i]) return;
42142 /* Register variable[1]: Method return value and escape marker */
42143 return_label843: while(false);
42144 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction405].i] = 1;
42145 tracehead = trace.prev;
42146 return;
42147 }
42148 void parser___ReduceAction406___action(val_t self, val_t param0) {
42149 struct trace_t trace = {NULL, NULL, 16613, LOCATE_parser___ReduceAction406___action};
42150 val_t variable[11];
42151 struct WBT_ **closurevariable = NULL;
42152 trace.prev = tracehead; tracehead = &trace;
42153 trace.file = LOCATE_parser;
42154 /* Register variable[0]: Local variable */
42155 variable[0] = self;
42156 /* Register variable[1]: Local variable */
42157 variable[1] = param0;
42158 /* Register variable[2]: Method return value and escape marker */
42159 /* Register variable[3]: Local variable */
42160 variable[3] = NIT_NULL /*null*/;
42161 /* Register variable[4]: Local variable */
42162 /* Register variable[5]: Result */
42163 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42164 variable[4] = variable[5];
42165 /* Register variable[5]: Local variable */
42166 /* Register variable[6]: Result */
42167 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42168 variable[5] = variable[6];
42169 /* Register variable[6]: Local variable */
42170 /* Register variable[7]: Result */
42171 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42172 variable[6] = variable[7];
42173 /* Register variable[7]: Local variable */
42174 variable[7] = variable[6] /*nodearraylist1*/;
42175 /* Register variable[8]: Result */
42176 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
42177 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 16620); nit_exit(1);}
42178 /* Register variable[8]: Local variable */
42179 variable[8] = variable[4] /*nodearraylist3*/;
42180 /* Register variable[9]: Result */
42181 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42182 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction406___action, LOCATE_parser, 16622); nit_exit(1);}
42183 /* Register variable[9]: Local variable */
42184 /* Register variable[10]: Result */
42185 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/) /*new AOnceExpr*/;
42186 variable[9] = variable[10];
42187 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42188 /* Register variable[10]: Result */
42189 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(49)) /*Parser::go_to*/;
42190 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42191 return_label844: while(false);
42192 tracehead = trace.prev;
42193 return;
42194 }
42195 void parser___ReduceAction406___init(val_t self, int* init_table) {
42196 struct trace_t trace = {NULL, NULL, 16630, LOCATE_parser___ReduceAction406___init};
42197 val_t variable[2];
42198 struct WBT_ **closurevariable = NULL;
42199 trace.prev = tracehead; tracehead = &trace;
42200 trace.file = LOCATE_parser;
42201 /* Register variable[0]: Local variable */
42202 variable[0] = self;
42203 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction406].i]) return;
42204 /* Register variable[1]: Method return value and escape marker */
42205 return_label845: while(false);
42206 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction406].i] = 1;
42207 tracehead = trace.prev;
42208 return;
42209 }
42210 void parser___ReduceAction407___action(val_t self, val_t param0) {
42211 struct trace_t trace = {NULL, NULL, 16634, LOCATE_parser___ReduceAction407___action};
42212 val_t variable[7];
42213 struct WBT_ **closurevariable = NULL;
42214 trace.prev = tracehead; tracehead = &trace;
42215 trace.file = LOCATE_parser;
42216 /* Register variable[0]: Local variable */
42217 variable[0] = self;
42218 /* Register variable[1]: Local variable */
42219 variable[1] = param0;
42220 /* Register variable[2]: Method return value and escape marker */
42221 /* Register variable[3]: Local variable */
42222 variable[3] = NIT_NULL /*null*/;
42223 /* Register variable[4]: Local variable */
42224 /* Register variable[5]: Result */
42225 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42226 variable[4] = variable[5];
42227 /* Register variable[5]: Local variable */
42228 variable[5] = variable[4] /*nodearraylist1*/;
42229 /* Register variable[6]: Result */
42230 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42231 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction407___action, LOCATE_parser, 16639); nit_exit(1);}
42232 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
42233 /* Register variable[6]: Result */
42234 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
42235 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
42236 return_label846: while(false);
42237 tracehead = trace.prev;
42238 return;
42239 }
42240 void parser___ReduceAction407___init(val_t self, int* init_table) {
42241 struct trace_t trace = {NULL, NULL, 16643, LOCATE_parser___ReduceAction407___init};
42242 val_t variable[2];
42243 struct WBT_ **closurevariable = NULL;
42244 trace.prev = tracehead; tracehead = &trace;
42245 trace.file = LOCATE_parser;
42246 /* Register variable[0]: Local variable */
42247 variable[0] = self;
42248 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction407].i]) return;
42249 /* Register variable[1]: Method return value and escape marker */
42250 return_label847: while(false);
42251 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction407].i] = 1;
42252 tracehead = trace.prev;
42253 return;
42254 }
42255 void parser___ReduceAction408___action(val_t self, val_t param0) {
42256 struct trace_t trace = {NULL, NULL, 16647, LOCATE_parser___ReduceAction408___action};
42257 val_t variable[14];
42258 struct WBT_ **closurevariable = NULL;
42259 trace.prev = tracehead; tracehead = &trace;
42260 trace.file = LOCATE_parser;
42261 /* Register variable[0]: Local variable */
42262 variable[0] = self;
42263 /* Register variable[1]: Local variable */
42264 variable[1] = param0;
42265 /* Register variable[2]: Method return value and escape marker */
42266 /* Register variable[3]: Local variable */
42267 variable[3] = NIT_NULL /*null*/;
42268 /* Register variable[4]: Local variable */
42269 /* Register variable[5]: Result */
42270 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42271 variable[4] = variable[5];
42272 /* Register variable[5]: Local variable */
42273 /* Register variable[6]: Result */
42274 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42275 variable[5] = variable[6];
42276 /* Register variable[6]: Local variable */
42277 /* Register variable[7]: Result */
42278 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42279 variable[6] = variable[7];
42280 /* Register variable[7]: Local variable */
42281 /* Register variable[8]: Result */
42282 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42283 variable[7] = variable[8];
42284 /* Register variable[8]: Local variable */
42285 /* Register variable[9]: Result */
42286 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42287 variable[8] = variable[9];
42288 /* Register variable[9]: Local variable */
42289 variable[9] = variable[7] /*nodearraylist1*/;
42290 /* Register variable[10]: Result */
42291 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
42292 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 16656); nit_exit(1);}
42293 /* Register variable[10]: Local variable */
42294 variable[10] = variable[5] /*nodearraylist3*/;
42295 /* Register variable[11]: Result */
42296 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
42297 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 16658); nit_exit(1);}
42298 /* Register variable[11]: Local variable */
42299 variable[11] = variable[4] /*nodearraylist4*/;
42300 /* Register variable[12]: Result */
42301 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42302 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction408___action, LOCATE_parser, 16660); nit_exit(1);}
42303 /* Register variable[12]: Result */
42304 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::==*/)))))));
42305 if (UNTAG_Bool(variable[12])) { /*if*/
42306 /* Register variable[12]: Result */
42307 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
42308 if (UNTAG_Bool(variable[12])) { /*if*/
42309 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
42310 } else { /*if*/
42311 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
42312 }
42313 }
42314 /* Register variable[12]: Local variable */
42315 /* Register variable[13]: Result */
42316 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/) /*new ANewExpr*/;
42317 variable[12] = variable[13];
42318 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
42319 /* Register variable[13]: Result */
42320 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
42321 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
42322 return_label848: while(false);
42323 tracehead = trace.prev;
42324 return;
42325 }
42326 void parser___ReduceAction408___init(val_t self, int* init_table) {
42327 struct trace_t trace = {NULL, NULL, 16677, LOCATE_parser___ReduceAction408___init};
42328 val_t variable[2];
42329 struct WBT_ **closurevariable = NULL;
42330 trace.prev = tracehead; tracehead = &trace;
42331 trace.file = LOCATE_parser;
42332 /* Register variable[0]: Local variable */
42333 variable[0] = self;
42334 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction408].i]) return;
42335 /* Register variable[1]: Method return value and escape marker */
42336 return_label849: while(false);
42337 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction408].i] = 1;
42338 tracehead = trace.prev;
42339 return;
42340 }
42341 void parser___ReduceAction409___action(val_t self, val_t param0) {
42342 struct trace_t trace = {NULL, NULL, 16681, LOCATE_parser___ReduceAction409___action};
42343 val_t variable[14];
42344 struct WBT_ **closurevariable = NULL;
42345 trace.prev = tracehead; tracehead = &trace;
42346 trace.file = LOCATE_parser;
42347 /* Register variable[0]: Local variable */
42348 variable[0] = self;
42349 /* Register variable[1]: Local variable */
42350 variable[1] = param0;
42351 /* Register variable[2]: Method return value and escape marker */
42352 /* Register variable[3]: Local variable */
42353 variable[3] = NIT_NULL /*null*/;
42354 /* Register variable[4]: Local variable */
42355 /* Register variable[5]: Result */
42356 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42357 variable[4] = variable[5];
42358 /* Register variable[5]: Local variable */
42359 /* Register variable[6]: Result */
42360 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42361 variable[5] = variable[6];
42362 /* Register variable[6]: Local variable */
42363 /* Register variable[7]: Result */
42364 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42365 variable[6] = variable[7];
42366 /* Register variable[7]: Local variable */
42367 /* Register variable[8]: Result */
42368 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42369 variable[7] = variable[8];
42370 /* Register variable[8]: Local variable */
42371 /* Register variable[9]: Result */
42372 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42373 variable[8] = variable[9];
42374 /* Register variable[9]: Local variable */
42375 variable[9] = variable[8] /*nodearraylist1*/;
42376 /* Register variable[10]: Result */
42377 variable[10] = TAG_Bool(( variable[9] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
42378 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 16690); nit_exit(1);}
42379 /* Register variable[10]: Local variable */
42380 variable[10] = variable[7] /*nodearraylist2*/;
42381 /* Register variable[11]: Result */
42382 variable[11] = TAG_Bool(( variable[10] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42383 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 16692); nit_exit(1);}
42384 /* Register variable[11]: Local variable */
42385 variable[11] = variable[4] /*nodearraylist5*/;
42386 /* Register variable[12]: Result */
42387 variable[12] = TAG_Bool(( variable[11] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42388 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction409___action, LOCATE_parser, 16694); nit_exit(1);}
42389 /* Register variable[12]: Local variable */
42390 /* Register variable[13]: Result */
42391 variable[13] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[9] /*tkwissetnode2*/, variable[10] /*pexprnode3*/, variable[11] /*tattridnode4*/) /*new AIssetAttrExpr*/;
42392 variable[12] = variable[13];
42393 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
42394 /* Register variable[13]: Result */
42395 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
42396 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
42397 return_label850: while(false);
42398 tracehead = trace.prev;
42399 return;
42400 }
42401 void parser___ReduceAction409___init(val_t self, int* init_table) {
42402 struct trace_t trace = {NULL, NULL, 16703, LOCATE_parser___ReduceAction409___init};
42403 val_t variable[2];
42404 struct WBT_ **closurevariable = NULL;
42405 trace.prev = tracehead; tracehead = &trace;
42406 trace.file = LOCATE_parser;
42407 /* Register variable[0]: Local variable */
42408 variable[0] = self;
42409 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction409].i]) return;
42410 /* Register variable[1]: Method return value and escape marker */
42411 return_label851: while(false);
42412 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction409].i] = 1;
42413 tracehead = trace.prev;
42414 return;
42415 }
42416 void parser___ReduceAction410___action(val_t self, val_t param0) {
42417 struct trace_t trace = {NULL, NULL, 16707, LOCATE_parser___ReduceAction410___action};
42418 val_t variable[11];
42419 struct WBT_ **closurevariable = NULL;
42420 trace.prev = tracehead; tracehead = &trace;
42421 trace.file = LOCATE_parser;
42422 /* Register variable[0]: Local variable */
42423 variable[0] = self;
42424 /* Register variable[1]: Local variable */
42425 variable[1] = param0;
42426 /* Register variable[2]: Method return value and escape marker */
42427 /* Register variable[3]: Local variable */
42428 variable[3] = NIT_NULL /*null*/;
42429 /* Register variable[4]: Local variable */
42430 /* Register variable[5]: Result */
42431 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42432 variable[4] = variable[5];
42433 /* Register variable[5]: Local variable */
42434 /* Register variable[6]: Result */
42435 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42436 variable[5] = variable[6];
42437 /* Register variable[6]: Local variable */
42438 variable[6] = variable[5] /*nodearraylist1*/;
42439 /* Register variable[7]: Result */
42440 variable[7] = TAG_Bool(( variable[6] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
42441 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 16713); nit_exit(1);}
42442 /* Register variable[7]: Local variable */
42443 /* Register variable[8]: Result */
42444 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
42445 variable[7] = variable[8];
42446 /* Register variable[8]: Local variable */
42447 variable[8] = variable[4] /*nodearraylist2*/;
42448 /* Register variable[9]: Result */
42449 variable[9] = TAG_Bool(( variable[8] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42450 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction410___action, LOCATE_parser, 16717); nit_exit(1);}
42451 /* Register variable[9]: Local variable */
42452 /* Register variable[10]: Result */
42453 variable[10] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[6] /*tkwissetnode2*/, variable[7] /*pexprnode3*/, variable[8] /*tattridnode4*/) /*new AIssetAttrExpr*/;
42454 variable[9] = variable[10];
42455 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42456 /* Register variable[10]: Result */
42457 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(50)) /*Parser::go_to*/;
42458 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42459 return_label852: while(false);
42460 tracehead = trace.prev;
42461 return;
42462 }
42463 void parser___ReduceAction410___init(val_t self, int* init_table) {
42464 struct trace_t trace = {NULL, NULL, 16726, LOCATE_parser___ReduceAction410___init};
42465 val_t variable[2];
42466 struct WBT_ **closurevariable = NULL;
42467 trace.prev = tracehead; tracehead = &trace;
42468 trace.file = LOCATE_parser;
42469 /* Register variable[0]: Local variable */
42470 variable[0] = self;
42471 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction410].i]) return;
42472 /* Register variable[1]: Method return value and escape marker */
42473 return_label853: while(false);
42474 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction410].i] = 1;
42475 tracehead = trace.prev;
42476 return;
42477 }
42478 void parser___ReduceAction411___action(val_t self, val_t param0) {
42479 struct trace_t trace = {NULL, NULL, 16730, LOCATE_parser___ReduceAction411___action};
42480 val_t variable[12];
42481 struct WBT_ **closurevariable = NULL;
42482 trace.prev = tracehead; tracehead = &trace;
42483 trace.file = LOCATE_parser;
42484 /* Register variable[0]: Local variable */
42485 variable[0] = self;
42486 /* Register variable[1]: Local variable */
42487 variable[1] = param0;
42488 /* Register variable[2]: Method return value and escape marker */
42489 /* Register variable[3]: Local variable */
42490 variable[3] = NIT_NULL /*null*/;
42491 /* Register variable[4]: Local variable */
42492 /* Register variable[5]: Result */
42493 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42494 variable[4] = variable[5];
42495 /* Register variable[5]: Local variable */
42496 /* Register variable[6]: Result */
42497 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42498 variable[5] = variable[6];
42499 /* Register variable[6]: Local variable */
42500 /* Register variable[7]: Result */
42501 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42502 variable[6] = variable[7];
42503 /* Register variable[7]: Local variable */
42504 /* Register variable[8]: Result */
42505 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42506 variable[7] = variable[8];
42507 /* Register variable[8]: Local variable */
42508 variable[8] = variable[7] /*nodearraylist1*/;
42509 /* Register variable[9]: Result */
42510 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42511 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 16738); nit_exit(1);}
42512 /* Register variable[9]: Local variable */
42513 variable[9] = variable[4] /*nodearraylist4*/;
42514 /* Register variable[10]: Result */
42515 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42516 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction411___action, LOCATE_parser, 16740); nit_exit(1);}
42517 /* Register variable[10]: Local variable */
42518 /* Register variable[11]: Result */
42519 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/) /*new AAttrExpr*/;
42520 variable[10] = variable[11];
42521 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
42522 /* Register variable[11]: Result */
42523 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42524 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
42525 return_label854: while(false);
42526 tracehead = trace.prev;
42527 return;
42528 }
42529 void parser___ReduceAction411___init(val_t self, int* init_table) {
42530 struct trace_t trace = {NULL, NULL, 16748, LOCATE_parser___ReduceAction411___init};
42531 val_t variable[2];
42532 struct WBT_ **closurevariable = NULL;
42533 trace.prev = tracehead; tracehead = &trace;
42534 trace.file = LOCATE_parser;
42535 /* Register variable[0]: Local variable */
42536 variable[0] = self;
42537 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction411].i]) return;
42538 /* Register variable[1]: Method return value and escape marker */
42539 return_label855: while(false);
42540 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction411].i] = 1;
42541 tracehead = trace.prev;
42542 return;
42543 }
42544 void parser___ReduceAction412___action(val_t self, val_t param0) {
42545 struct trace_t trace = {NULL, NULL, 16752, LOCATE_parser___ReduceAction412___action};
42546 val_t variable[9];
42547 struct WBT_ **closurevariable = NULL;
42548 trace.prev = tracehead; tracehead = &trace;
42549 trace.file = LOCATE_parser;
42550 /* Register variable[0]: Local variable */
42551 variable[0] = self;
42552 /* Register variable[1]: Local variable */
42553 variable[1] = param0;
42554 /* Register variable[2]: Method return value and escape marker */
42555 /* Register variable[3]: Local variable */
42556 variable[3] = NIT_NULL /*null*/;
42557 /* Register variable[4]: Local variable */
42558 /* Register variable[5]: Result */
42559 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42560 variable[4] = variable[5];
42561 /* Register variable[5]: Local variable */
42562 /* Register variable[6]: Result */
42563 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
42564 variable[5] = variable[6];
42565 /* Register variable[6]: Local variable */
42566 variable[6] = variable[4] /*nodearraylist1*/;
42567 /* Register variable[7]: Result */
42568 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
42569 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction412___action, LOCATE_parser, 16759); nit_exit(1);}
42570 /* Register variable[7]: Local variable */
42571 /* Register variable[8]: Result */
42572 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/) /*new AAttrExpr*/;
42573 variable[7] = variable[8];
42574 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
42575 /* Register variable[8]: Result */
42576 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42577 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
42578 return_label856: while(false);
42579 tracehead = trace.prev;
42580 return;
42581 }
42582 void parser___ReduceAction412___init(val_t self, int* init_table) {
42583 struct trace_t trace = {NULL, NULL, 16767, LOCATE_parser___ReduceAction412___init};
42584 val_t variable[2];
42585 struct WBT_ **closurevariable = NULL;
42586 trace.prev = tracehead; tracehead = &trace;
42587 trace.file = LOCATE_parser;
42588 /* Register variable[0]: Local variable */
42589 variable[0] = self;
42590 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction412].i]) return;
42591 /* Register variable[1]: Method return value and escape marker */
42592 return_label857: while(false);
42593 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction412].i] = 1;
42594 tracehead = trace.prev;
42595 return;
42596 }
42597 void parser___ReduceAction413___action(val_t self, val_t param0) {
42598 struct trace_t trace = {NULL, NULL, 16771, LOCATE_parser___ReduceAction413___action};
42599 val_t variable[16];
42600 struct WBT_ **closurevariable = NULL;
42601 trace.prev = tracehead; tracehead = &trace;
42602 trace.file = LOCATE_parser;
42603 /* Register variable[0]: Local variable */
42604 variable[0] = self;
42605 /* Register variable[1]: Local variable */
42606 variable[1] = param0;
42607 /* Register variable[2]: Method return value and escape marker */
42608 /* Register variable[3]: Local variable */
42609 variable[3] = NIT_NULL /*null*/;
42610 /* Register variable[4]: Local variable */
42611 /* Register variable[5]: Result */
42612 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42613 variable[4] = variable[5];
42614 /* Register variable[5]: Local variable */
42615 /* Register variable[6]: Result */
42616 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42617 variable[5] = variable[6];
42618 /* Register variable[6]: Local variable */
42619 /* Register variable[7]: Result */
42620 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42621 variable[6] = variable[7];
42622 /* Register variable[7]: Local variable */
42623 /* Register variable[8]: Result */
42624 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42625 variable[7] = variable[8];
42626 /* Register variable[8]: Local variable */
42627 /* Register variable[9]: Result */
42628 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42629 variable[8] = variable[9];
42630 /* Register variable[9]: Local variable */
42631 /* Register variable[10]: Result */
42632 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42633 variable[9] = variable[10];
42634 /* Register variable[10]: Local variable */
42635 /* Register variable[11]: Result */
42636 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42637 variable[10] = variable[11];
42638 /* Register variable[11]: Local variable */
42639 variable[11] = variable[8] /*nodearraylist1*/;
42640 /* Register variable[12]: Result */
42641 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42642 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 16782); nit_exit(1);}
42643 /* Register variable[12]: Local variable */
42644 variable[12] = variable[5] /*nodearraylist4*/;
42645 /* Register variable[13]: Result */
42646 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
42647 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 16784); nit_exit(1);}
42648 /* Register variable[13]: Local variable */
42649 variable[13] = variable[4] /*nodearraylist5*/;
42650 /* Register variable[14]: Result */
42651 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42652 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction413___action, LOCATE_parser, 16786); nit_exit(1);}
42653 /* Register variable[14]: Result */
42654 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::==*/)))))));
42655 if (UNTAG_Bool(variable[14])) { /*if*/
42656 /* Register variable[14]: Result */
42657 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
42658 if (UNTAG_Bool(variable[14])) { /*if*/
42659 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
42660 } else { /*if*/
42661 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
42662 }
42663 }
42664 /* Register variable[14]: Local variable */
42665 /* Register variable[15]: Result */
42666 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/) /*new ACallExpr*/;
42667 variable[14] = variable[15];
42668 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
42669 /* Register variable[15]: Result */
42670 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42671 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
42672 return_label858: while(false);
42673 tracehead = trace.prev;
42674 return;
42675 }
42676 void parser___ReduceAction413___init(val_t self, int* init_table) {
42677 struct trace_t trace = {NULL, NULL, 16803, LOCATE_parser___ReduceAction413___init};
42678 val_t variable[2];
42679 struct WBT_ **closurevariable = NULL;
42680 trace.prev = tracehead; tracehead = &trace;
42681 trace.file = LOCATE_parser;
42682 /* Register variable[0]: Local variable */
42683 variable[0] = self;
42684 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction413].i]) return;
42685 /* Register variable[1]: Method return value and escape marker */
42686 return_label859: while(false);
42687 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction413].i] = 1;
42688 tracehead = trace.prev;
42689 return;
42690 }
42691 void parser___ReduceAction414___action(val_t self, val_t param0) {
42692 struct trace_t trace = {NULL, NULL, 16807, LOCATE_parser___ReduceAction414___action};
42693 val_t variable[13];
42694 struct WBT_ **closurevariable = NULL;
42695 trace.prev = tracehead; tracehead = &trace;
42696 trace.file = LOCATE_parser;
42697 /* Register variable[0]: Local variable */
42698 variable[0] = self;
42699 /* Register variable[1]: Local variable */
42700 variable[1] = param0;
42701 /* Register variable[2]: Method return value and escape marker */
42702 /* Register variable[3]: Local variable */
42703 variable[3] = NIT_NULL /*null*/;
42704 /* Register variable[4]: Local variable */
42705 /* Register variable[5]: Result */
42706 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42707 variable[4] = variable[5];
42708 /* Register variable[5]: Local variable */
42709 /* Register variable[6]: Result */
42710 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42711 variable[5] = variable[6];
42712 /* Register variable[6]: Local variable */
42713 /* Register variable[7]: Result */
42714 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42715 variable[6] = variable[7];
42716 /* Register variable[7]: Local variable */
42717 /* Register variable[8]: Result */
42718 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42719 variable[7] = variable[8];
42720 /* Register variable[8]: Local variable */
42721 /* Register variable[9]: Result */
42722 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
42723 variable[8] = variable[9];
42724 /* Register variable[9]: Local variable */
42725 variable[9] = variable[5] /*nodearraylist1*/;
42726 /* Register variable[10]: Result */
42727 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
42728 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 16817); nit_exit(1);}
42729 /* Register variable[10]: Local variable */
42730 variable[10] = variable[4] /*nodearraylist2*/;
42731 /* Register variable[11]: Result */
42732 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42733 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction414___action, LOCATE_parser, 16819); nit_exit(1);}
42734 /* Register variable[11]: Result */
42735 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::==*/)))))));
42736 if (UNTAG_Bool(variable[11])) { /*if*/
42737 /* Register variable[11]: Result */
42738 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
42739 if (UNTAG_Bool(variable[11])) { /*if*/
42740 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
42741 } else { /*if*/
42742 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
42743 }
42744 }
42745 /* Register variable[11]: Local variable */
42746 /* Register variable[12]: Result */
42747 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/) /*new ACallExpr*/;
42748 variable[11] = variable[12];
42749 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
42750 /* Register variable[12]: Result */
42751 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42752 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
42753 return_label860: while(false);
42754 tracehead = trace.prev;
42755 return;
42756 }
42757 void parser___ReduceAction414___init(val_t self, int* init_table) {
42758 struct trace_t trace = {NULL, NULL, 16836, LOCATE_parser___ReduceAction414___init};
42759 val_t variable[2];
42760 struct WBT_ **closurevariable = NULL;
42761 trace.prev = tracehead; tracehead = &trace;
42762 trace.file = LOCATE_parser;
42763 /* Register variable[0]: Local variable */
42764 variable[0] = self;
42765 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction414].i]) return;
42766 /* Register variable[1]: Method return value and escape marker */
42767 return_label861: while(false);
42768 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction414].i] = 1;
42769 tracehead = trace.prev;
42770 return;
42771 }
42772 void parser___ReduceAction415___action(val_t self, val_t param0) {
42773 struct trace_t trace = {NULL, NULL, 16840, LOCATE_parser___ReduceAction415___action};
42774 val_t variable[11];
42775 struct WBT_ **closurevariable = NULL;
42776 trace.prev = tracehead; tracehead = &trace;
42777 trace.file = LOCATE_parser;
42778 /* Register variable[0]: Local variable */
42779 variable[0] = self;
42780 /* Register variable[1]: Local variable */
42781 variable[1] = param0;
42782 /* Register variable[2]: Method return value and escape marker */
42783 /* Register variable[3]: Local variable */
42784 variable[3] = NIT_NULL /*null*/;
42785 /* Register variable[4]: Local variable */
42786 /* Register variable[5]: Result */
42787 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42788 variable[4] = variable[5];
42789 /* Register variable[5]: Local variable */
42790 /* Register variable[6]: Result */
42791 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42792 variable[5] = variable[6];
42793 /* Register variable[6]: Local variable */
42794 /* Register variable[7]: Result */
42795 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42796 variable[6] = variable[7];
42797 /* Register variable[7]: Local variable */
42798 variable[7] = variable[5] /*nodearraylist1*/;
42799 /* Register variable[8]: Result */
42800 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
42801 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction415___action, LOCATE_parser, 16847); nit_exit(1);}
42802 /* Register variable[8]: Local variable */
42803 variable[8] = variable[4] /*nodearraylist2*/;
42804 /* Register variable[9]: Result */
42805 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42806 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction415___action, LOCATE_parser, 16849); nit_exit(1);}
42807 /* Register variable[9]: Result */
42808 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::==*/)))))));
42809 if (UNTAG_Bool(variable[9])) { /*if*/
42810 /* Register variable[9]: Result */
42811 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
42812 if (UNTAG_Bool(variable[9])) { /*if*/
42813 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
42814 } else { /*if*/
42815 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
42816 }
42817 }
42818 /* Register variable[9]: Local variable */
42819 /* Register variable[10]: Result */
42820 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
42821 variable[9] = variable[10];
42822 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
42823 /* Register variable[10]: Result */
42824 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42825 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
42826 return_label862: while(false);
42827 tracehead = trace.prev;
42828 return;
42829 }
42830 void parser___ReduceAction415___init(val_t self, int* init_table) {
42831 struct trace_t trace = {NULL, NULL, 16865, LOCATE_parser___ReduceAction415___init};
42832 val_t variable[2];
42833 struct WBT_ **closurevariable = NULL;
42834 trace.prev = tracehead; tracehead = &trace;
42835 trace.file = LOCATE_parser;
42836 /* Register variable[0]: Local variable */
42837 variable[0] = self;
42838 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction415].i]) return;
42839 /* Register variable[1]: Method return value and escape marker */
42840 return_label863: while(false);
42841 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction415].i] = 1;
42842 tracehead = trace.prev;
42843 return;
42844 }
42845 void parser___ReduceAction416___action(val_t self, val_t param0) {
42846 struct trace_t trace = {NULL, NULL, 16869, LOCATE_parser___ReduceAction416___action};
42847 val_t variable[13];
42848 struct WBT_ **closurevariable = NULL;
42849 trace.prev = tracehead; tracehead = &trace;
42850 trace.file = LOCATE_parser;
42851 /* Register variable[0]: Local variable */
42852 variable[0] = self;
42853 /* Register variable[1]: Local variable */
42854 variable[1] = param0;
42855 /* Register variable[2]: Method return value and escape marker */
42856 /* Register variable[3]: Local variable */
42857 variable[3] = NIT_NULL /*null*/;
42858 /* Register variable[4]: Local variable */
42859 /* Register variable[5]: Result */
42860 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42861 variable[4] = variable[5];
42862 /* Register variable[5]: Local variable */
42863 /* Register variable[6]: Result */
42864 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42865 variable[5] = variable[6];
42866 /* Register variable[6]: Local variable */
42867 /* Register variable[7]: Result */
42868 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42869 variable[6] = variable[7];
42870 /* Register variable[7]: Local variable */
42871 /* Register variable[8]: Result */
42872 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42873 variable[7] = variable[8];
42874 /* Register variable[8]: Local variable */
42875 variable[8] = variable[6] /*nodearraylist1*/;
42876 /* Register variable[9]: Result */
42877 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
42878 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 16877); nit_exit(1);}
42879 /* Register variable[9]: Local variable */
42880 variable[9] = variable[5] /*nodearraylist2*/;
42881 /* Register variable[10]: Result */
42882 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
42883 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 16879); nit_exit(1);}
42884 /* Register variable[10]: Local variable */
42885 variable[10] = variable[4] /*nodearraylist3*/;
42886 /* Register variable[11]: Result */
42887 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42888 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction416___action, LOCATE_parser, 16881); nit_exit(1);}
42889 /* Register variable[11]: Result */
42890 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::==*/)))))));
42891 if (UNTAG_Bool(variable[11])) { /*if*/
42892 /* Register variable[11]: Result */
42893 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
42894 if (UNTAG_Bool(variable[11])) { /*if*/
42895 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
42896 } else { /*if*/
42897 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
42898 }
42899 }
42900 /* Register variable[11]: Local variable */
42901 /* Register variable[12]: Result */
42902 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
42903 variable[11] = variable[12];
42904 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
42905 /* Register variable[12]: Result */
42906 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42907 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
42908 return_label864: while(false);
42909 tracehead = trace.prev;
42910 return;
42911 }
42912 void parser___ReduceAction416___init(val_t self, int* init_table) {
42913 struct trace_t trace = {NULL, NULL, 16897, LOCATE_parser___ReduceAction416___init};
42914 val_t variable[2];
42915 struct WBT_ **closurevariable = NULL;
42916 trace.prev = tracehead; tracehead = &trace;
42917 trace.file = LOCATE_parser;
42918 /* Register variable[0]: Local variable */
42919 variable[0] = self;
42920 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction416].i]) return;
42921 /* Register variable[1]: Method return value and escape marker */
42922 return_label865: while(false);
42923 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction416].i] = 1;
42924 tracehead = trace.prev;
42925 return;
42926 }
42927 void parser___ReduceAction417___action(val_t self, val_t param0) {
42928 struct trace_t trace = {NULL, NULL, 16901, LOCATE_parser___ReduceAction417___action};
42929 val_t variable[15];
42930 struct WBT_ **closurevariable = NULL;
42931 trace.prev = tracehead; tracehead = &trace;
42932 trace.file = LOCATE_parser;
42933 /* Register variable[0]: Local variable */
42934 variable[0] = self;
42935 /* Register variable[1]: Local variable */
42936 variable[1] = param0;
42937 /* Register variable[2]: Method return value and escape marker */
42938 /* Register variable[3]: Local variable */
42939 variable[3] = NIT_NULL /*null*/;
42940 /* Register variable[4]: Local variable */
42941 /* Register variable[5]: Result */
42942 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42943 variable[4] = variable[5];
42944 /* Register variable[5]: Local variable */
42945 /* Register variable[6]: Result */
42946 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42947 variable[5] = variable[6];
42948 /* Register variable[6]: Local variable */
42949 /* Register variable[7]: Result */
42950 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42951 variable[6] = variable[7];
42952 /* Register variable[7]: Local variable */
42953 /* Register variable[8]: Result */
42954 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42955 variable[7] = variable[8];
42956 /* Register variable[8]: Local variable */
42957 /* Register variable[9]: Result */
42958 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
42959 variable[8] = variable[9];
42960 /* Register variable[9]: Local variable */
42961 /* Register variable[10]: Result */
42962 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
42963 variable[9] = variable[10];
42964 /* Register variable[10]: Local variable */
42965 variable[10] = variable[8] /*nodearraylist1*/;
42966 /* Register variable[11]: Result */
42967 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
42968 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 16911); nit_exit(1);}
42969 /* Register variable[11]: Local variable */
42970 variable[11] = variable[5] /*nodearraylist4*/;
42971 /* Register variable[12]: Result */
42972 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
42973 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 16913); nit_exit(1);}
42974 /* Register variable[12]: Local variable */
42975 variable[12] = variable[4] /*nodearraylist5*/;
42976 /* Register variable[13]: Result */
42977 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
42978 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction417___action, LOCATE_parser, 16915); nit_exit(1);}
42979 /* Register variable[13]: Result */
42980 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::==*/)))))));
42981 if (UNTAG_Bool(variable[13])) { /*if*/
42982 /* Register variable[13]: Result */
42983 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
42984 if (UNTAG_Bool(variable[13])) { /*if*/
42985 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
42986 } else { /*if*/
42987 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
42988 }
42989 }
42990 /* Register variable[13]: Local variable */
42991 /* Register variable[14]: Result */
42992 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/) /*new AInitExpr*/;
42993 variable[13] = variable[14];
42994 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
42995 /* Register variable[14]: Result */
42996 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
42997 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
42998 return_label866: while(false);
42999 tracehead = trace.prev;
43000 return;
43001 }
43002 void parser___ReduceAction417___init(val_t self, int* init_table) {
43003 struct trace_t trace = {NULL, NULL, 16931, LOCATE_parser___ReduceAction417___init};
43004 val_t variable[2];
43005 struct WBT_ **closurevariable = NULL;
43006 trace.prev = tracehead; tracehead = &trace;
43007 trace.file = LOCATE_parser;
43008 /* Register variable[0]: Local variable */
43009 variable[0] = self;
43010 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction417].i]) return;
43011 /* Register variable[1]: Method return value and escape marker */
43012 return_label867: while(false);
43013 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction417].i] = 1;
43014 tracehead = trace.prev;
43015 return;
43016 }
43017 void parser___ReduceAction418___action(val_t self, val_t param0) {
43018 struct trace_t trace = {NULL, NULL, 16935, LOCATE_parser___ReduceAction418___action};
43019 val_t variable[12];
43020 struct WBT_ **closurevariable = NULL;
43021 trace.prev = tracehead; tracehead = &trace;
43022 trace.file = LOCATE_parser;
43023 /* Register variable[0]: Local variable */
43024 variable[0] = self;
43025 /* Register variable[1]: Local variable */
43026 variable[1] = param0;
43027 /* Register variable[2]: Method return value and escape marker */
43028 /* Register variable[3]: Local variable */
43029 variable[3] = NIT_NULL /*null*/;
43030 /* Register variable[4]: Local variable */
43031 /* Register variable[5]: Result */
43032 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43033 variable[4] = variable[5];
43034 /* Register variable[5]: Local variable */
43035 /* Register variable[6]: Result */
43036 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43037 variable[5] = variable[6];
43038 /* Register variable[6]: Local variable */
43039 /* Register variable[7]: Result */
43040 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
43041 variable[6] = variable[7];
43042 /* Register variable[7]: Local variable */
43043 /* Register variable[8]: Result */
43044 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
43045 variable[7] = variable[8];
43046 /* Register variable[8]: Local variable */
43047 variable[8] = variable[5] /*nodearraylist1*/;
43048 /* Register variable[9]: Result */
43049 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
43050 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 16944); nit_exit(1);}
43051 /* Register variable[9]: Local variable */
43052 variable[9] = variable[4] /*nodearraylist2*/;
43053 /* Register variable[10]: Result */
43054 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
43055 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction418___action, LOCATE_parser, 16946); nit_exit(1);}
43056 /* Register variable[10]: Result */
43057 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::==*/)))))));
43058 if (UNTAG_Bool(variable[10])) { /*if*/
43059 /* Register variable[10]: Result */
43060 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
43061 if (UNTAG_Bool(variable[10])) { /*if*/
43062 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
43063 } else { /*if*/
43064 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
43065 }
43066 }
43067 /* Register variable[10]: Local variable */
43068 /* Register variable[11]: Result */
43069 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/) /*new AInitExpr*/;
43070 variable[10] = variable[11];
43071 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
43072 /* Register variable[11]: Result */
43073 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43074 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
43075 return_label868: while(false);
43076 tracehead = trace.prev;
43077 return;
43078 }
43079 void parser___ReduceAction418___init(val_t self, int* init_table) {
43080 struct trace_t trace = {NULL, NULL, 16962, LOCATE_parser___ReduceAction418___init};
43081 val_t variable[2];
43082 struct WBT_ **closurevariable = NULL;
43083 trace.prev = tracehead; tracehead = &trace;
43084 trace.file = LOCATE_parser;
43085 /* Register variable[0]: Local variable */
43086 variable[0] = self;
43087 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction418].i]) return;
43088 /* Register variable[1]: Method return value and escape marker */
43089 return_label869: while(false);
43090 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction418].i] = 1;
43091 tracehead = trace.prev;
43092 return;
43093 }
43094 void parser___ReduceAction419___action(val_t self, val_t param0) {
43095 struct trace_t trace = {NULL, NULL, 16966, LOCATE_parser___ReduceAction419___action};
43096 val_t variable[12];
43097 struct WBT_ **closurevariable = NULL;
43098 trace.prev = tracehead; tracehead = &trace;
43099 trace.file = LOCATE_parser;
43100 /* Register variable[0]: Local variable */
43101 variable[0] = self;
43102 /* Register variable[1]: Local variable */
43103 variable[1] = param0;
43104 /* Register variable[2]: Method return value and escape marker */
43105 /* Register variable[3]: Local variable */
43106 variable[3] = NIT_NULL /*null*/;
43107 /* Register variable[4]: Local variable */
43108 /* Register variable[5]: Result */
43109 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43110 variable[4] = variable[5];
43111 /* Register variable[5]: Local variable */
43112 /* Register variable[6]: Result */
43113 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43114 variable[5] = variable[6];
43115 /* Register variable[6]: Local variable */
43116 /* Register variable[7]: Result */
43117 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
43118 variable[6] = variable[7];
43119 /* Register variable[7]: Local variable */
43120 /* Register variable[8]: Result */
43121 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
43122 variable[7] = variable[8];
43123 /* Register variable[8]: Local variable */
43124 variable[8] = variable[5] /*nodearraylist1*/;
43125 /* Register variable[9]: Result */
43126 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43127 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 16974); nit_exit(1);}
43128 /* Register variable[9]: Local variable */
43129 variable[9] = variable[4] /*nodearraylist2*/;
43130 /* Register variable[10]: Result */
43131 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
43132 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction419___action, LOCATE_parser, 16976); nit_exit(1);}
43133 /* Register variable[10]: Result */
43134 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::==*/)))))));
43135 if (UNTAG_Bool(variable[10])) { /*if*/
43136 /* Register variable[10]: Result */
43137 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
43138 if (UNTAG_Bool(variable[10])) { /*if*/
43139 variable[6] = variable[9] /*listnode3*/ /*listnode4=*/;
43140 } else { /*if*/
43141 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
43142 }
43143 }
43144 /* Register variable[10]: Local variable */
43145 /* Register variable[11]: Result */
43146 variable[11] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[8] /*pexprnode2*/, variable[6] /*listnode4*/, variable[7] /*listnode5*/) /*new ABraExpr*/;
43147 variable[10] = variable[11];
43148 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
43149 /* Register variable[11]: Result */
43150 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43151 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
43152 return_label870: while(false);
43153 tracehead = trace.prev;
43154 return;
43155 }
43156 void parser___ReduceAction419___init(val_t self, int* init_table) {
43157 struct trace_t trace = {NULL, NULL, 16992, LOCATE_parser___ReduceAction419___init};
43158 val_t variable[2];
43159 struct WBT_ **closurevariable = NULL;
43160 trace.prev = tracehead; tracehead = &trace;
43161 trace.file = LOCATE_parser;
43162 /* Register variable[0]: Local variable */
43163 variable[0] = self;
43164 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction419].i]) return;
43165 /* Register variable[1]: Method return value and escape marker */
43166 return_label871: while(false);
43167 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction419].i] = 1;
43168 tracehead = trace.prev;
43169 return;
43170 }
43171 void parser___ReduceAction420___action(val_t self, val_t param0) {
43172 struct trace_t trace = {NULL, NULL, 16996, LOCATE_parser___ReduceAction420___action};
43173 val_t variable[18];
43174 struct WBT_ **closurevariable = NULL;
43175 trace.prev = tracehead; tracehead = &trace;
43176 trace.file = LOCATE_parser;
43177 /* Register variable[0]: Local variable */
43178 variable[0] = self;
43179 /* Register variable[1]: Local variable */
43180 variable[1] = param0;
43181 /* Register variable[2]: Method return value and escape marker */
43182 /* Register variable[3]: Local variable */
43183 variable[3] = NIT_NULL /*null*/;
43184 /* Register variable[4]: Local variable */
43185 /* Register variable[5]: Result */
43186 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43187 variable[4] = variable[5];
43188 /* Register variable[5]: Local variable */
43189 /* Register variable[6]: Result */
43190 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43191 variable[5] = variable[6];
43192 /* Register variable[6]: Local variable */
43193 /* Register variable[7]: Result */
43194 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43195 variable[6] = variable[7];
43196 /* Register variable[7]: Local variable */
43197 /* Register variable[8]: Result */
43198 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43199 variable[7] = variable[8];
43200 /* Register variable[8]: Local variable */
43201 /* Register variable[9]: Result */
43202 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43203 variable[8] = variable[9];
43204 /* Register variable[9]: Local variable */
43205 /* Register variable[10]: Result */
43206 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43207 variable[9] = variable[10];
43208 /* Register variable[10]: Local variable */
43209 /* Register variable[11]: Result */
43210 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43211 variable[10] = variable[11];
43212 /* Register variable[11]: Local variable */
43213 /* Register variable[12]: Result */
43214 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
43215 variable[11] = variable[12];
43216 /* Register variable[12]: Local variable */
43217 variable[12] = variable[10] /*nodearraylist1*/;
43218 /* Register variable[13]: Result */
43219 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
43220 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 17008); nit_exit(1);}
43221 /* Register variable[13]: Local variable */
43222 variable[13] = variable[8] /*nodearraylist3*/;
43223 /* Register variable[14]: Result */
43224 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
43225 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 17010); nit_exit(1);}
43226 /* Register variable[14]: Local variable */
43227 variable[14] = variable[5] /*nodearraylist6*/;
43228 /* Register variable[15]: Result */
43229 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
43230 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 17012); nit_exit(1);}
43231 /* Register variable[15]: Local variable */
43232 variable[15] = variable[4] /*nodearraylist7*/;
43233 /* Register variable[16]: Result */
43234 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
43235 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction420___action, LOCATE_parser, 17014); nit_exit(1);}
43236 /* Register variable[16]: Result */
43237 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::==*/)))))));
43238 if (UNTAG_Bool(variable[16])) { /*if*/
43239 /* Register variable[16]: Result */
43240 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
43241 if (UNTAG_Bool(variable[16])) { /*if*/
43242 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
43243 } else { /*if*/
43244 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
43245 }
43246 }
43247 /* Register variable[16]: Local variable */
43248 /* Register variable[17]: Result */
43249 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/) /*new ANewExpr*/;
43250 variable[16] = variable[17];
43251 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
43252 /* Register variable[17]: Result */
43253 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43254 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
43255 return_label872: while(false);
43256 tracehead = trace.prev;
43257 return;
43258 }
43259 void parser___ReduceAction420___init(val_t self, int* init_table) {
43260 struct trace_t trace = {NULL, NULL, 17031, LOCATE_parser___ReduceAction420___init};
43261 val_t variable[2];
43262 struct WBT_ **closurevariable = NULL;
43263 trace.prev = tracehead; tracehead = &trace;
43264 trace.file = LOCATE_parser;
43265 /* Register variable[0]: Local variable */
43266 variable[0] = self;
43267 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction420].i]) return;
43268 /* Register variable[1]: Method return value and escape marker */
43269 return_label873: while(false);
43270 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction420].i] = 1;
43271 tracehead = trace.prev;
43272 return;
43273 }
43274 void parser___ReduceAction421___action(val_t self, val_t param0) {
43275 struct trace_t trace = {NULL, NULL, 17035, LOCATE_parser___ReduceAction421___action};
43276 val_t variable[17];
43277 struct WBT_ **closurevariable = NULL;
43278 trace.prev = tracehead; tracehead = &trace;
43279 trace.file = LOCATE_parser;
43280 /* Register variable[0]: Local variable */
43281 variable[0] = self;
43282 /* Register variable[1]: Local variable */
43283 variable[1] = param0;
43284 /* Register variable[2]: Method return value and escape marker */
43285 /* Register variable[3]: Local variable */
43286 variable[3] = NIT_NULL /*null*/;
43287 /* Register variable[4]: Local variable */
43288 /* Register variable[5]: Result */
43289 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43290 variable[4] = variable[5];
43291 /* Register variable[5]: Local variable */
43292 /* Register variable[6]: Result */
43293 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43294 variable[5] = variable[6];
43295 /* Register variable[6]: Local variable */
43296 /* Register variable[7]: Result */
43297 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43298 variable[6] = variable[7];
43299 /* Register variable[7]: Local variable */
43300 /* Register variable[8]: Result */
43301 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43302 variable[7] = variable[8];
43303 /* Register variable[8]: Local variable */
43304 /* Register variable[9]: Result */
43305 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43306 variable[8] = variable[9];
43307 /* Register variable[9]: Local variable */
43308 /* Register variable[10]: Result */
43309 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43310 variable[9] = variable[10];
43311 /* Register variable[10]: Local variable */
43312 /* Register variable[11]: Result */
43313 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43314 variable[10] = variable[11];
43315 /* Register variable[11]: Local variable */
43316 /* Register variable[12]: Result */
43317 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43318 variable[11] = variable[12];
43319 /* Register variable[12]: Local variable */
43320 /* Register variable[13]: Result */
43321 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43322 variable[12] = variable[13];
43323 /* Register variable[13]: Local variable */
43324 variable[13] = variable[10] /*nodearraylist3*/;
43325 /* Register variable[14]: Result */
43326 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43327 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 17048); nit_exit(1);}
43328 /* Register variable[14]: Local variable */
43329 variable[14] = variable[6] /*nodearraylist7*/;
43330 /* Register variable[15]: Result */
43331 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43332 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction421___action, LOCATE_parser, 17050); nit_exit(1);}
43333 /* Register variable[15]: Local variable */
43334 /* Register variable[16]: Result */
43335 variable[16] = NEW_ACrangeExpr_parser_prod___ACrangeExpr___init_acrangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/) /*new ACrangeExpr*/;
43336 variable[15] = variable[16];
43337 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
43338 /* Register variable[16]: Result */
43339 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43340 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
43341 return_label874: while(false);
43342 tracehead = trace.prev;
43343 return;
43344 }
43345 void parser___ReduceAction421___init(val_t self, int* init_table) {
43346 struct trace_t trace = {NULL, NULL, 17058, LOCATE_parser___ReduceAction421___init};
43347 val_t variable[2];
43348 struct WBT_ **closurevariable = NULL;
43349 trace.prev = tracehead; tracehead = &trace;
43350 trace.file = LOCATE_parser;
43351 /* Register variable[0]: Local variable */
43352 variable[0] = self;
43353 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction421].i]) return;
43354 /* Register variable[1]: Method return value and escape marker */
43355 return_label875: while(false);
43356 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction421].i] = 1;
43357 tracehead = trace.prev;
43358 return;
43359 }
43360 void parser___ReduceAction422___action(val_t self, val_t param0) {
43361 struct trace_t trace = {NULL, NULL, 17062, LOCATE_parser___ReduceAction422___action};
43362 val_t variable[17];
43363 struct WBT_ **closurevariable = NULL;
43364 trace.prev = tracehead; tracehead = &trace;
43365 trace.file = LOCATE_parser;
43366 /* Register variable[0]: Local variable */
43367 variable[0] = self;
43368 /* Register variable[1]: Local variable */
43369 variable[1] = param0;
43370 /* Register variable[2]: Method return value and escape marker */
43371 /* Register variable[3]: Local variable */
43372 variable[3] = NIT_NULL /*null*/;
43373 /* Register variable[4]: Local variable */
43374 /* Register variable[5]: Result */
43375 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43376 variable[4] = variable[5];
43377 /* Register variable[5]: Local variable */
43378 /* Register variable[6]: Result */
43379 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43380 variable[5] = variable[6];
43381 /* Register variable[6]: Local variable */
43382 /* Register variable[7]: Result */
43383 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43384 variable[6] = variable[7];
43385 /* Register variable[7]: Local variable */
43386 /* Register variable[8]: Result */
43387 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43388 variable[7] = variable[8];
43389 /* Register variable[8]: Local variable */
43390 /* Register variable[9]: Result */
43391 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43392 variable[8] = variable[9];
43393 /* Register variable[9]: Local variable */
43394 /* Register variable[10]: Result */
43395 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43396 variable[9] = variable[10];
43397 /* Register variable[10]: Local variable */
43398 /* Register variable[11]: Result */
43399 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43400 variable[10] = variable[11];
43401 /* Register variable[11]: Local variable */
43402 /* Register variable[12]: Result */
43403 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43404 variable[11] = variable[12];
43405 /* Register variable[12]: Local variable */
43406 /* Register variable[13]: Result */
43407 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43408 variable[12] = variable[13];
43409 /* Register variable[13]: Local variable */
43410 variable[13] = variable[10] /*nodearraylist3*/;
43411 /* Register variable[14]: Result */
43412 variable[14] = TAG_Bool(( variable[13] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43413 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 17075); nit_exit(1);}
43414 /* Register variable[14]: Local variable */
43415 variable[14] = variable[6] /*nodearraylist7*/;
43416 /* Register variable[15]: Result */
43417 variable[15] = TAG_Bool(( variable[14] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43418 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction422___action, LOCATE_parser, 17077); nit_exit(1);}
43419 /* Register variable[15]: Local variable */
43420 /* Register variable[16]: Result */
43421 variable[16] = NEW_AOrangeExpr_parser_prod___AOrangeExpr___init_aorangeexpr( variable[13] /*pexprnode2*/, variable[14] /*pexprnode3*/) /*new AOrangeExpr*/;
43422 variable[15] = variable[16];
43423 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
43424 /* Register variable[16]: Result */
43425 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43426 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
43427 return_label876: while(false);
43428 tracehead = trace.prev;
43429 return;
43430 }
43431 void parser___ReduceAction422___init(val_t self, int* init_table) {
43432 struct trace_t trace = {NULL, NULL, 17085, LOCATE_parser___ReduceAction422___init};
43433 val_t variable[2];
43434 struct WBT_ **closurevariable = NULL;
43435 trace.prev = tracehead; tracehead = &trace;
43436 trace.file = LOCATE_parser;
43437 /* Register variable[0]: Local variable */
43438 variable[0] = self;
43439 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction422].i]) return;
43440 /* Register variable[1]: Method return value and escape marker */
43441 return_label877: while(false);
43442 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction422].i] = 1;
43443 tracehead = trace.prev;
43444 return;
43445 }
43446 void parser___ReduceAction423___action(val_t self, val_t param0) {
43447 struct trace_t trace = {NULL, NULL, 17089, LOCATE_parser___ReduceAction423___action};
43448 val_t variable[9];
43449 struct WBT_ **closurevariable = NULL;
43450 trace.prev = tracehead; tracehead = &trace;
43451 trace.file = LOCATE_parser;
43452 /* Register variable[0]: Local variable */
43453 variable[0] = self;
43454 /* Register variable[1]: Local variable */
43455 variable[1] = param0;
43456 /* Register variable[2]: Method return value and escape marker */
43457 /* Register variable[3]: Local variable */
43458 variable[3] = NIT_NULL /*null*/;
43459 /* Register variable[4]: Local variable */
43460 /* Register variable[5]: Result */
43461 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43462 variable[4] = variable[5];
43463 /* Register variable[5]: Local variable */
43464 /* Register variable[6]: Result */
43465 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
43466 variable[5] = variable[6];
43467 /* Register variable[6]: Local variable */
43468 variable[6] = variable[4] /*nodearraylist1*/;
43469 /* Register variable[7]: Result */
43470 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
43471 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction423___action, LOCATE_parser, 17095); nit_exit(1);}
43472 /* Register variable[7]: Result */
43473 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::==*/)))))));
43474 if (UNTAG_Bool(variable[7])) { /*if*/
43475 /* Register variable[7]: Result */
43476 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
43477 if (UNTAG_Bool(variable[7])) { /*if*/
43478 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
43479 } else { /*if*/
43480 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
43481 }
43482 }
43483 /* Register variable[7]: Local variable */
43484 /* Register variable[8]: Result */
43485 variable[8] = NEW_AArrayExpr_parser_prod___AArrayExpr___init_aarrayexpr( variable[5] /*listnode3*/) /*new AArrayExpr*/;
43486 variable[7] = variable[8];
43487 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
43488 /* Register variable[8]: Result */
43489 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43490 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
43491 return_label878: while(false);
43492 tracehead = trace.prev;
43493 return;
43494 }
43495 void parser___ReduceAction423___init(val_t self, int* init_table) {
43496 struct trace_t trace = {NULL, NULL, 17109, LOCATE_parser___ReduceAction423___init};
43497 val_t variable[2];
43498 struct WBT_ **closurevariable = NULL;
43499 trace.prev = tracehead; tracehead = &trace;
43500 trace.file = LOCATE_parser;
43501 /* Register variable[0]: Local variable */
43502 variable[0] = self;
43503 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction423].i]) return;
43504 /* Register variable[1]: Method return value and escape marker */
43505 return_label879: while(false);
43506 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction423].i] = 1;
43507 tracehead = trace.prev;
43508 return;
43509 }
43510 void parser___ReduceAction424___action(val_t self, val_t param0) {
43511 struct trace_t trace = {NULL, NULL, 17113, LOCATE_parser___ReduceAction424___action};
43512 val_t variable[8];
43513 struct WBT_ **closurevariable = NULL;
43514 trace.prev = tracehead; tracehead = &trace;
43515 trace.file = LOCATE_parser;
43516 /* Register variable[0]: Local variable */
43517 variable[0] = self;
43518 /* Register variable[1]: Local variable */
43519 variable[1] = param0;
43520 /* Register variable[2]: Method return value and escape marker */
43521 /* Register variable[3]: Local variable */
43522 variable[3] = NIT_NULL /*null*/;
43523 /* Register variable[4]: Local variable */
43524 /* Register variable[5]: Result */
43525 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43526 variable[4] = variable[5];
43527 /* Register variable[5]: Local variable */
43528 variable[5] = variable[4] /*nodearraylist1*/;
43529 /* Register variable[6]: Result */
43530 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
43531 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction424___action, LOCATE_parser, 17118); nit_exit(1);}
43532 /* Register variable[6]: Local variable */
43533 /* Register variable[7]: Result */
43534 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/) /*new ASelfExpr*/;
43535 variable[6] = variable[7];
43536 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43537 /* Register variable[7]: Result */
43538 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43539 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43540 return_label880: while(false);
43541 tracehead = trace.prev;
43542 return;
43543 }
43544 void parser___ReduceAction424___init(val_t self, int* init_table) {
43545 struct trace_t trace = {NULL, NULL, 17125, LOCATE_parser___ReduceAction424___init};
43546 val_t variable[2];
43547 struct WBT_ **closurevariable = NULL;
43548 trace.prev = tracehead; tracehead = &trace;
43549 trace.file = LOCATE_parser;
43550 /* Register variable[0]: Local variable */
43551 variable[0] = self;
43552 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction424].i]) return;
43553 /* Register variable[1]: Method return value and escape marker */
43554 return_label881: while(false);
43555 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction424].i] = 1;
43556 tracehead = trace.prev;
43557 return;
43558 }
43559 void parser___ReduceAction425___action(val_t self, val_t param0) {
43560 struct trace_t trace = {NULL, NULL, 17129, LOCATE_parser___ReduceAction425___action};
43561 val_t variable[8];
43562 struct WBT_ **closurevariable = NULL;
43563 trace.prev = tracehead; tracehead = &trace;
43564 trace.file = LOCATE_parser;
43565 /* Register variable[0]: Local variable */
43566 variable[0] = self;
43567 /* Register variable[1]: Local variable */
43568 variable[1] = param0;
43569 /* Register variable[2]: Method return value and escape marker */
43570 /* Register variable[3]: Local variable */
43571 variable[3] = NIT_NULL /*null*/;
43572 /* Register variable[4]: Local variable */
43573 /* Register variable[5]: Result */
43574 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43575 variable[4] = variable[5];
43576 /* Register variable[5]: Local variable */
43577 variable[5] = variable[4] /*nodearraylist1*/;
43578 /* Register variable[6]: Result */
43579 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
43580 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction425___action, LOCATE_parser, 17134); nit_exit(1);}
43581 /* Register variable[6]: Local variable */
43582 /* Register variable[7]: Result */
43583 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/) /*new ATrueExpr*/;
43584 variable[6] = variable[7];
43585 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43586 /* Register variable[7]: Result */
43587 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43588 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43589 return_label882: while(false);
43590 tracehead = trace.prev;
43591 return;
43592 }
43593 void parser___ReduceAction425___init(val_t self, int* init_table) {
43594 struct trace_t trace = {NULL, NULL, 17141, LOCATE_parser___ReduceAction425___init};
43595 val_t variable[2];
43596 struct WBT_ **closurevariable = NULL;
43597 trace.prev = tracehead; tracehead = &trace;
43598 trace.file = LOCATE_parser;
43599 /* Register variable[0]: Local variable */
43600 variable[0] = self;
43601 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction425].i]) return;
43602 /* Register variable[1]: Method return value and escape marker */
43603 return_label883: while(false);
43604 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction425].i] = 1;
43605 tracehead = trace.prev;
43606 return;
43607 }
43608 void parser___ReduceAction426___action(val_t self, val_t param0) {
43609 struct trace_t trace = {NULL, NULL, 17145, LOCATE_parser___ReduceAction426___action};
43610 val_t variable[8];
43611 struct WBT_ **closurevariable = NULL;
43612 trace.prev = tracehead; tracehead = &trace;
43613 trace.file = LOCATE_parser;
43614 /* Register variable[0]: Local variable */
43615 variable[0] = self;
43616 /* Register variable[1]: Local variable */
43617 variable[1] = param0;
43618 /* Register variable[2]: Method return value and escape marker */
43619 /* Register variable[3]: Local variable */
43620 variable[3] = NIT_NULL /*null*/;
43621 /* Register variable[4]: Local variable */
43622 /* Register variable[5]: Result */
43623 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43624 variable[4] = variable[5];
43625 /* Register variable[5]: Local variable */
43626 variable[5] = variable[4] /*nodearraylist1*/;
43627 /* Register variable[6]: Result */
43628 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
43629 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction426___action, LOCATE_parser, 17150); nit_exit(1);}
43630 /* Register variable[6]: Local variable */
43631 /* Register variable[7]: Result */
43632 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/) /*new AFalseExpr*/;
43633 variable[6] = variable[7];
43634 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43635 /* Register variable[7]: Result */
43636 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43637 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43638 return_label884: while(false);
43639 tracehead = trace.prev;
43640 return;
43641 }
43642 void parser___ReduceAction426___init(val_t self, int* init_table) {
43643 struct trace_t trace = {NULL, NULL, 17157, LOCATE_parser___ReduceAction426___init};
43644 val_t variable[2];
43645 struct WBT_ **closurevariable = NULL;
43646 trace.prev = tracehead; tracehead = &trace;
43647 trace.file = LOCATE_parser;
43648 /* Register variable[0]: Local variable */
43649 variable[0] = self;
43650 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction426].i]) return;
43651 /* Register variable[1]: Method return value and escape marker */
43652 return_label885: while(false);
43653 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction426].i] = 1;
43654 tracehead = trace.prev;
43655 return;
43656 }
43657 void parser___ReduceAction427___action(val_t self, val_t param0) {
43658 struct trace_t trace = {NULL, NULL, 17161, LOCATE_parser___ReduceAction427___action};
43659 val_t variable[8];
43660 struct WBT_ **closurevariable = NULL;
43661 trace.prev = tracehead; tracehead = &trace;
43662 trace.file = LOCATE_parser;
43663 /* Register variable[0]: Local variable */
43664 variable[0] = self;
43665 /* Register variable[1]: Local variable */
43666 variable[1] = param0;
43667 /* Register variable[2]: Method return value and escape marker */
43668 /* Register variable[3]: Local variable */
43669 variable[3] = NIT_NULL /*null*/;
43670 /* Register variable[4]: Local variable */
43671 /* Register variable[5]: Result */
43672 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43673 variable[4] = variable[5];
43674 /* Register variable[5]: Local variable */
43675 variable[5] = variable[4] /*nodearraylist1*/;
43676 /* Register variable[6]: Result */
43677 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
43678 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction427___action, LOCATE_parser, 17166); nit_exit(1);}
43679 /* Register variable[6]: Local variable */
43680 /* Register variable[7]: Result */
43681 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/) /*new ANullExpr*/;
43682 variable[6] = variable[7];
43683 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43684 /* Register variable[7]: Result */
43685 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43686 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43687 return_label886: while(false);
43688 tracehead = trace.prev;
43689 return;
43690 }
43691 void parser___ReduceAction427___init(val_t self, int* init_table) {
43692 struct trace_t trace = {NULL, NULL, 17173, LOCATE_parser___ReduceAction427___init};
43693 val_t variable[2];
43694 struct WBT_ **closurevariable = NULL;
43695 trace.prev = tracehead; tracehead = &trace;
43696 trace.file = LOCATE_parser;
43697 /* Register variable[0]: Local variable */
43698 variable[0] = self;
43699 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction427].i]) return;
43700 /* Register variable[1]: Method return value and escape marker */
43701 return_label887: while(false);
43702 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction427].i] = 1;
43703 tracehead = trace.prev;
43704 return;
43705 }
43706 void parser___ReduceAction428___action(val_t self, val_t param0) {
43707 struct trace_t trace = {NULL, NULL, 17177, LOCATE_parser___ReduceAction428___action};
43708 val_t variable[8];
43709 struct WBT_ **closurevariable = NULL;
43710 trace.prev = tracehead; tracehead = &trace;
43711 trace.file = LOCATE_parser;
43712 /* Register variable[0]: Local variable */
43713 variable[0] = self;
43714 /* Register variable[1]: Local variable */
43715 variable[1] = param0;
43716 /* Register variable[2]: Method return value and escape marker */
43717 /* Register variable[3]: Local variable */
43718 variable[3] = NIT_NULL /*null*/;
43719 /* Register variable[4]: Local variable */
43720 /* Register variable[5]: Result */
43721 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43722 variable[4] = variable[5];
43723 /* Register variable[5]: Local variable */
43724 variable[5] = variable[4] /*nodearraylist1*/;
43725 /* Register variable[6]: Result */
43726 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
43727 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction428___action, LOCATE_parser, 17182); nit_exit(1);}
43728 /* Register variable[6]: Local variable */
43729 /* Register variable[7]: Result */
43730 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/) /*new AIntExpr*/;
43731 variable[6] = variable[7];
43732 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43733 /* Register variable[7]: Result */
43734 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43735 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43736 return_label888: while(false);
43737 tracehead = trace.prev;
43738 return;
43739 }
43740 void parser___ReduceAction428___init(val_t self, int* init_table) {
43741 struct trace_t trace = {NULL, NULL, 17189, LOCATE_parser___ReduceAction428___init};
43742 val_t variable[2];
43743 struct WBT_ **closurevariable = NULL;
43744 trace.prev = tracehead; tracehead = &trace;
43745 trace.file = LOCATE_parser;
43746 /* Register variable[0]: Local variable */
43747 variable[0] = self;
43748 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction428].i]) return;
43749 /* Register variable[1]: Method return value and escape marker */
43750 return_label889: while(false);
43751 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction428].i] = 1;
43752 tracehead = trace.prev;
43753 return;
43754 }
43755 void parser___ReduceAction429___action(val_t self, val_t param0) {
43756 struct trace_t trace = {NULL, NULL, 17193, LOCATE_parser___ReduceAction429___action};
43757 val_t variable[8];
43758 struct WBT_ **closurevariable = NULL;
43759 trace.prev = tracehead; tracehead = &trace;
43760 trace.file = LOCATE_parser;
43761 /* Register variable[0]: Local variable */
43762 variable[0] = self;
43763 /* Register variable[1]: Local variable */
43764 variable[1] = param0;
43765 /* Register variable[2]: Method return value and escape marker */
43766 /* Register variable[3]: Local variable */
43767 variable[3] = NIT_NULL /*null*/;
43768 /* Register variable[4]: Local variable */
43769 /* Register variable[5]: Result */
43770 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43771 variable[4] = variable[5];
43772 /* Register variable[5]: Local variable */
43773 variable[5] = variable[4] /*nodearraylist1*/;
43774 /* Register variable[6]: Result */
43775 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
43776 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction429___action, LOCATE_parser, 17198); nit_exit(1);}
43777 /* Register variable[6]: Local variable */
43778 /* Register variable[7]: Result */
43779 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/) /*new AFloatExpr*/;
43780 variable[6] = variable[7];
43781 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43782 /* Register variable[7]: Result */
43783 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43784 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43785 return_label890: while(false);
43786 tracehead = trace.prev;
43787 return;
43788 }
43789 void parser___ReduceAction429___init(val_t self, int* init_table) {
43790 struct trace_t trace = {NULL, NULL, 17205, LOCATE_parser___ReduceAction429___init};
43791 val_t variable[2];
43792 struct WBT_ **closurevariable = NULL;
43793 trace.prev = tracehead; tracehead = &trace;
43794 trace.file = LOCATE_parser;
43795 /* Register variable[0]: Local variable */
43796 variable[0] = self;
43797 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction429].i]) return;
43798 /* Register variable[1]: Method return value and escape marker */
43799 return_label891: while(false);
43800 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction429].i] = 1;
43801 tracehead = trace.prev;
43802 return;
43803 }
43804 void parser___ReduceAction430___action(val_t self, val_t param0) {
43805 struct trace_t trace = {NULL, NULL, 17209, LOCATE_parser___ReduceAction430___action};
43806 val_t variable[8];
43807 struct WBT_ **closurevariable = NULL;
43808 trace.prev = tracehead; tracehead = &trace;
43809 trace.file = LOCATE_parser;
43810 /* Register variable[0]: Local variable */
43811 variable[0] = self;
43812 /* Register variable[1]: Local variable */
43813 variable[1] = param0;
43814 /* Register variable[2]: Method return value and escape marker */
43815 /* Register variable[3]: Local variable */
43816 variable[3] = NIT_NULL /*null*/;
43817 /* Register variable[4]: Local variable */
43818 /* Register variable[5]: Result */
43819 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43820 variable[4] = variable[5];
43821 /* Register variable[5]: Local variable */
43822 variable[5] = variable[4] /*nodearraylist1*/;
43823 /* Register variable[6]: Result */
43824 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
43825 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction430___action, LOCATE_parser, 17214); nit_exit(1);}
43826 /* Register variable[6]: Local variable */
43827 /* Register variable[7]: Result */
43828 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/) /*new ACharExpr*/;
43829 variable[6] = variable[7];
43830 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43831 /* Register variable[7]: Result */
43832 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43833 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43834 return_label892: while(false);
43835 tracehead = trace.prev;
43836 return;
43837 }
43838 void parser___ReduceAction430___init(val_t self, int* init_table) {
43839 struct trace_t trace = {NULL, NULL, 17221, LOCATE_parser___ReduceAction430___init};
43840 val_t variable[2];
43841 struct WBT_ **closurevariable = NULL;
43842 trace.prev = tracehead; tracehead = &trace;
43843 trace.file = LOCATE_parser;
43844 /* Register variable[0]: Local variable */
43845 variable[0] = self;
43846 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction430].i]) return;
43847 /* Register variable[1]: Method return value and escape marker */
43848 return_label893: while(false);
43849 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction430].i] = 1;
43850 tracehead = trace.prev;
43851 return;
43852 }
43853 void parser___ReduceAction431___action(val_t self, val_t param0) {
43854 struct trace_t trace = {NULL, NULL, 17225, LOCATE_parser___ReduceAction431___action};
43855 val_t variable[8];
43856 struct WBT_ **closurevariable = NULL;
43857 trace.prev = tracehead; tracehead = &trace;
43858 trace.file = LOCATE_parser;
43859 /* Register variable[0]: Local variable */
43860 variable[0] = self;
43861 /* Register variable[1]: Local variable */
43862 variable[1] = param0;
43863 /* Register variable[2]: Method return value and escape marker */
43864 /* Register variable[3]: Local variable */
43865 variable[3] = NIT_NULL /*null*/;
43866 /* Register variable[4]: Local variable */
43867 /* Register variable[5]: Result */
43868 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43869 variable[4] = variable[5];
43870 /* Register variable[5]: Local variable */
43871 variable[5] = variable[4] /*nodearraylist1*/;
43872 /* Register variable[6]: Result */
43873 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
43874 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction431___action, LOCATE_parser, 17230); nit_exit(1);}
43875 /* Register variable[6]: Local variable */
43876 /* Register variable[7]: Result */
43877 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/) /*new AStringExpr*/;
43878 variable[6] = variable[7];
43879 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
43880 /* Register variable[7]: Result */
43881 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43882 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
43883 return_label894: while(false);
43884 tracehead = trace.prev;
43885 return;
43886 }
43887 void parser___ReduceAction431___init(val_t self, int* init_table) {
43888 struct trace_t trace = {NULL, NULL, 17237, LOCATE_parser___ReduceAction431___init};
43889 val_t variable[2];
43890 struct WBT_ **closurevariable = NULL;
43891 trace.prev = tracehead; tracehead = &trace;
43892 trace.file = LOCATE_parser;
43893 /* Register variable[0]: Local variable */
43894 variable[0] = self;
43895 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction431].i]) return;
43896 /* Register variable[1]: Method return value and escape marker */
43897 return_label895: while(false);
43898 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction431].i] = 1;
43899 tracehead = trace.prev;
43900 return;
43901 }
43902 void parser___ReduceAction432___action(val_t self, val_t param0) {
43903 struct trace_t trace = {NULL, NULL, 17241, LOCATE_parser___ReduceAction432___action};
43904 val_t variable[7];
43905 struct WBT_ **closurevariable = NULL;
43906 trace.prev = tracehead; tracehead = &trace;
43907 trace.file = LOCATE_parser;
43908 /* Register variable[0]: Local variable */
43909 variable[0] = self;
43910 /* Register variable[1]: Local variable */
43911 variable[1] = param0;
43912 /* Register variable[2]: Method return value and escape marker */
43913 /* Register variable[3]: Local variable */
43914 variable[3] = NIT_NULL /*null*/;
43915 /* Register variable[4]: Local variable */
43916 /* Register variable[5]: Result */
43917 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43918 variable[4] = variable[5];
43919 /* Register variable[5]: Local variable */
43920 variable[5] = variable[4] /*nodearraylist1*/;
43921 /* Register variable[6]: Result */
43922 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43923 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction432___action, LOCATE_parser, 17246); nit_exit(1);}
43924 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
43925 /* Register variable[6]: Result */
43926 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43927 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
43928 return_label896: while(false);
43929 tracehead = trace.prev;
43930 return;
43931 }
43932 void parser___ReduceAction432___init(val_t self, int* init_table) {
43933 struct trace_t trace = {NULL, NULL, 17250, LOCATE_parser___ReduceAction432___init};
43934 val_t variable[2];
43935 struct WBT_ **closurevariable = NULL;
43936 trace.prev = tracehead; tracehead = &trace;
43937 trace.file = LOCATE_parser;
43938 /* Register variable[0]: Local variable */
43939 variable[0] = self;
43940 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction432].i]) return;
43941 /* Register variable[1]: Method return value and escape marker */
43942 return_label897: while(false);
43943 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction432].i] = 1;
43944 tracehead = trace.prev;
43945 return;
43946 }
43947 void parser___ReduceAction433___action(val_t self, val_t param0) {
43948 struct trace_t trace = {NULL, NULL, 17254, LOCATE_parser___ReduceAction433___action};
43949 val_t variable[9];
43950 struct WBT_ **closurevariable = NULL;
43951 trace.prev = tracehead; tracehead = &trace;
43952 trace.file = LOCATE_parser;
43953 /* Register variable[0]: Local variable */
43954 variable[0] = self;
43955 /* Register variable[1]: Local variable */
43956 variable[1] = param0;
43957 /* Register variable[2]: Method return value and escape marker */
43958 /* Register variable[3]: Local variable */
43959 variable[3] = NIT_NULL /*null*/;
43960 /* Register variable[4]: Local variable */
43961 /* Register variable[5]: Result */
43962 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43963 variable[4] = variable[5];
43964 /* Register variable[5]: Local variable */
43965 /* Register variable[6]: Result */
43966 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43967 variable[5] = variable[6];
43968 /* Register variable[6]: Local variable */
43969 /* Register variable[7]: Result */
43970 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
43971 variable[6] = variable[7];
43972 /* Register variable[7]: Local variable */
43973 variable[7] = variable[5] /*nodearraylist2*/;
43974 /* Register variable[8]: Result */
43975 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
43976 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction433___action, LOCATE_parser, 17261); nit_exit(1);}
43977 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
43978 /* Register variable[8]: Result */
43979 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
43980 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
43981 return_label898: while(false);
43982 tracehead = trace.prev;
43983 return;
43984 }
43985 void parser___ReduceAction433___init(val_t self, int* init_table) {
43986 struct trace_t trace = {NULL, NULL, 17265, LOCATE_parser___ReduceAction433___init};
43987 val_t variable[2];
43988 struct WBT_ **closurevariable = NULL;
43989 trace.prev = tracehead; tracehead = &trace;
43990 trace.file = LOCATE_parser;
43991 /* Register variable[0]: Local variable */
43992 variable[0] = self;
43993 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction433].i]) return;
43994 /* Register variable[1]: Method return value and escape marker */
43995 return_label899: while(false);
43996 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction433].i] = 1;
43997 tracehead = trace.prev;
43998 return;
43999 }
44000 void parser___ReduceAction434___action(val_t self, val_t param0) {
44001 struct trace_t trace = {NULL, NULL, 17269, LOCATE_parser___ReduceAction434___action};
44002 val_t variable[19];
44003 struct WBT_ **closurevariable = NULL;
44004 trace.prev = tracehead; tracehead = &trace;
44005 trace.file = LOCATE_parser;
44006 /* Register variable[0]: Local variable */
44007 variable[0] = self;
44008 /* Register variable[1]: Local variable */
44009 variable[1] = param0;
44010 /* Register variable[2]: Method return value and escape marker */
44011 /* Register variable[3]: Local variable */
44012 variable[3] = NIT_NULL /*null*/;
44013 /* Register variable[4]: Local variable */
44014 /* Register variable[5]: Result */
44015 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44016 variable[4] = variable[5];
44017 /* Register variable[5]: Local variable */
44018 /* Register variable[6]: Result */
44019 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44020 variable[5] = variable[6];
44021 /* Register variable[6]: Local variable */
44022 /* Register variable[7]: Result */
44023 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44024 variable[6] = variable[7];
44025 /* Register variable[7]: Local variable */
44026 /* Register variable[8]: Result */
44027 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44028 variable[7] = variable[8];
44029 /* Register variable[8]: Local variable */
44030 /* Register variable[9]: Result */
44031 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44032 variable[8] = variable[9];
44033 /* Register variable[9]: Local variable */
44034 /* Register variable[10]: Result */
44035 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44036 variable[9] = variable[10];
44037 /* Register variable[10]: Local variable */
44038 /* Register variable[11]: Result */
44039 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44040 variable[10] = variable[11];
44041 /* Register variable[11]: Local variable */
44042 /* Register variable[12]: Result */
44043 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44044 variable[11] = variable[12];
44045 /* Register variable[12]: Local variable */
44046 /* Register variable[13]: Result */
44047 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44048 variable[12] = variable[13];
44049 /* Register variable[13]: Local variable */
44050 /* Register variable[14]: Result */
44051 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44052 variable[13] = variable[14];
44053 /* Register variable[14]: Local variable */
44054 variable[14] = variable[13] /*nodearraylist1*/;
44055 /* Register variable[15]: Result */
44056 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44057 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 17283); nit_exit(1);}
44058 /* Register variable[15]: Local variable */
44059 variable[15] = variable[10] /*nodearraylist4*/;
44060 /* Register variable[16]: Result */
44061 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
44062 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 17285); nit_exit(1);}
44063 /* Register variable[16]: Local variable */
44064 variable[16] = variable[6] /*nodearraylist8*/;
44065 /* Register variable[17]: Result */
44066 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
44067 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction434___action, LOCATE_parser, 17287); nit_exit(1);}
44068 /* Register variable[17]: Local variable */
44069 /* Register variable[18]: Result */
44070 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/) /*new AAsCastExpr*/;
44071 variable[17] = variable[18];
44072 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
44073 /* Register variable[18]: Result */
44074 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
44075 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
44076 return_label900: while(false);
44077 tracehead = trace.prev;
44078 return;
44079 }
44080 void parser___ReduceAction434___init(val_t self, int* init_table) {
44081 struct trace_t trace = {NULL, NULL, 17296, LOCATE_parser___ReduceAction434___init};
44082 val_t variable[2];
44083 struct WBT_ **closurevariable = NULL;
44084 trace.prev = tracehead; tracehead = &trace;
44085 trace.file = LOCATE_parser;
44086 /* Register variable[0]: Local variable */
44087 variable[0] = self;
44088 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction434].i]) return;
44089 /* Register variable[1]: Method return value and escape marker */
44090 return_label901: while(false);
44091 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction434].i] = 1;
44092 tracehead = trace.prev;
44093 return;
44094 }
44095 void parser___ReduceAction435___action(val_t self, val_t param0) {
44096 struct trace_t trace = {NULL, NULL, 17300, LOCATE_parser___ReduceAction435___action};
44097 val_t variable[22];
44098 struct WBT_ **closurevariable = NULL;
44099 trace.prev = tracehead; tracehead = &trace;
44100 trace.file = LOCATE_parser;
44101 /* Register variable[0]: Local variable */
44102 variable[0] = self;
44103 /* Register variable[1]: Local variable */
44104 variable[1] = param0;
44105 /* Register variable[2]: Method return value and escape marker */
44106 /* Register variable[3]: Local variable */
44107 variable[3] = NIT_NULL /*null*/;
44108 /* Register variable[4]: Local variable */
44109 /* Register variable[5]: Result */
44110 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44111 variable[4] = variable[5];
44112 /* Register variable[5]: Local variable */
44113 /* Register variable[6]: Result */
44114 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44115 variable[5] = variable[6];
44116 /* Register variable[6]: Local variable */
44117 /* Register variable[7]: Result */
44118 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44119 variable[6] = variable[7];
44120 /* Register variable[7]: Local variable */
44121 /* Register variable[8]: Result */
44122 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44123 variable[7] = variable[8];
44124 /* Register variable[8]: Local variable */
44125 /* Register variable[9]: Result */
44126 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44127 variable[8] = variable[9];
44128 /* Register variable[9]: Local variable */
44129 /* Register variable[10]: Result */
44130 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44131 variable[9] = variable[10];
44132 /* Register variable[10]: Local variable */
44133 /* Register variable[11]: Result */
44134 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44135 variable[10] = variable[11];
44136 /* Register variable[11]: Local variable */
44137 /* Register variable[12]: Result */
44138 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44139 variable[11] = variable[12];
44140 /* Register variable[12]: Local variable */
44141 /* Register variable[13]: Result */
44142 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44143 variable[12] = variable[13];
44144 /* Register variable[13]: Local variable */
44145 /* Register variable[14]: Result */
44146 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44147 variable[13] = variable[14];
44148 /* Register variable[14]: Local variable */
44149 /* Register variable[15]: Result */
44150 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44151 variable[14] = variable[15];
44152 /* Register variable[15]: Local variable */
44153 /* Register variable[16]: Result */
44154 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44155 variable[15] = variable[16];
44156 /* Register variable[16]: Local variable */
44157 variable[16] = variable[15] /*nodearraylist1*/;
44158 /* Register variable[17]: Result */
44159 variable[17] = TAG_Bool(( variable[16] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44160 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 17316); nit_exit(1);}
44161 /* Register variable[17]: Local variable */
44162 variable[17] = variable[12] /*nodearraylist4*/;
44163 /* Register variable[18]: Result */
44164 variable[18] = TAG_Bool(( variable[17] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
44165 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 17318); nit_exit(1);}
44166 /* Register variable[18]: Local variable */
44167 variable[18] = variable[8] /*nodearraylist8*/;
44168 /* Register variable[19]: Result */
44169 variable[19] = TAG_Bool(( variable[18] /*tkwnotnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwnotnode4*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
44170 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 17320); nit_exit(1);}
44171 /* Register variable[19]: Local variable */
44172 variable[19] = variable[6] /*nodearraylist10*/;
44173 /* Register variable[20]: Result */
44174 variable[20] = TAG_Bool(( variable[19] /*tkwnullnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwnullnode5*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
44175 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction435___action, LOCATE_parser, 17322); nit_exit(1);}
44176 /* Register variable[20]: Local variable */
44177 /* Register variable[21]: Result */
44178 variable[21] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr( variable[16] /*pexprnode2*/, variable[17] /*tkwasnode3*/, variable[18] /*tkwnotnode4*/, variable[19] /*tkwnullnode5*/) /*new AAsNotnullExpr*/;
44179 variable[20] = variable[21];
44180 variable[3] = variable[20] /*pexprnode1*/ /*node_list=*/;
44181 /* Register variable[21]: Result */
44182 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(51)) /*Parser::go_to*/;
44183 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
44184 return_label902: while(false);
44185 tracehead = trace.prev;
44186 return;
44187 }
44188 void parser___ReduceAction435___init(val_t self, int* init_table) {
44189 struct trace_t trace = {NULL, NULL, 17332, LOCATE_parser___ReduceAction435___init};
44190 val_t variable[2];
44191 struct WBT_ **closurevariable = NULL;
44192 trace.prev = tracehead; tracehead = &trace;
44193 trace.file = LOCATE_parser;
44194 /* Register variable[0]: Local variable */
44195 variable[0] = self;
44196 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction435].i]) return;
44197 /* Register variable[1]: Method return value and escape marker */
44198 return_label903: while(false);
44199 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction435].i] = 1;
44200 tracehead = trace.prev;
44201 return;
44202 }
44203 void parser___ReduceAction436___action(val_t self, val_t param0) {
44204 struct trace_t trace = {NULL, NULL, 17336, LOCATE_parser___ReduceAction436___action};
44205 val_t variable[11];
44206 struct WBT_ **closurevariable = NULL;
44207 trace.prev = tracehead; tracehead = &trace;
44208 trace.file = LOCATE_parser;
44209 /* Register variable[0]: Local variable */
44210 variable[0] = self;
44211 /* Register variable[1]: Local variable */
44212 variable[1] = param0;
44213 /* Register variable[2]: Method return value and escape marker */
44214 /* Register variable[3]: Local variable */
44215 variable[3] = NIT_NULL /*null*/;
44216 /* Register variable[4]: Local variable */
44217 /* Register variable[5]: Result */
44218 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44219 variable[4] = variable[5];
44220 /* Register variable[5]: Local variable */
44221 /* Register variable[6]: Result */
44222 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44223 variable[5] = variable[6];
44224 /* Register variable[6]: Local variable */
44225 /* Register variable[7]: Result */
44226 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44227 variable[6] = variable[7];
44228 /* Register variable[7]: Local variable */
44229 variable[7] = variable[5] /*nodearraylist1*/;
44230 /* Register variable[8]: Result */
44231 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44232 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 17343); nit_exit(1);}
44233 /* Register variable[8]: Local variable */
44234 variable[8] = variable[4] /*nodearraylist2*/;
44235 /* Register variable[9]: Result */
44236 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44237 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction436___action, LOCATE_parser, 17345); nit_exit(1);}
44238 /* Register variable[9]: Result */
44239 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::==*/)))))));
44240 if (UNTAG_Bool(variable[9])) { /*if*/
44241 /* Register variable[9]: Result */
44242 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode4*/)( variable[6] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
44243 if (UNTAG_Bool(variable[9])) { /*if*/
44244 variable[6] = variable[7] /*listnode2*/ /*listnode4=*/;
44245 } else { /*if*/
44246 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
44247 }
44248 }
44249 /* Register variable[9]: Result */
44250 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::==*/)))))));
44251 if (UNTAG_Bool(variable[9])) { /*if*/
44252 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode4*/)( variable[6] /*listnode4*/, variable[8] /*pexprnode3*/) /*AbstractArray::add*/;
44253 }
44254 /* Register variable[9]: Local variable */
44255 /* Register variable[10]: Result */
44256 variable[10] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[6] /*listnode4*/) /*new ASuperstringExpr*/;
44257 variable[9] = variable[10];
44258 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
44259 /* Register variable[10]: Result */
44260 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
44261 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
44262 return_label904: while(false);
44263 tracehead = trace.prev;
44264 return;
44265 }
44266 void parser___ReduceAction436___init(val_t self, int* init_table) {
44267 struct trace_t trace = {NULL, NULL, 17362, LOCATE_parser___ReduceAction436___init};
44268 val_t variable[2];
44269 struct WBT_ **closurevariable = NULL;
44270 trace.prev = tracehead; tracehead = &trace;
44271 trace.file = LOCATE_parser;
44272 /* Register variable[0]: Local variable */
44273 variable[0] = self;
44274 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction436].i]) return;
44275 /* Register variable[1]: Method return value and escape marker */
44276 return_label905: while(false);
44277 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction436].i] = 1;
44278 tracehead = trace.prev;
44279 return;
44280 }
44281 void parser___ReduceAction437___action(val_t self, val_t param0) {
44282 struct trace_t trace = {NULL, NULL, 17366, LOCATE_parser___ReduceAction437___action};
44283 val_t variable[13];
44284 struct WBT_ **closurevariable = NULL;
44285 trace.prev = tracehead; tracehead = &trace;
44286 trace.file = LOCATE_parser;
44287 /* Register variable[0]: Local variable */
44288 variable[0] = self;
44289 /* Register variable[1]: Local variable */
44290 variable[1] = param0;
44291 /* Register variable[2]: Method return value and escape marker */
44292 /* Register variable[3]: Local variable */
44293 variable[3] = NIT_NULL /*null*/;
44294 /* Register variable[4]: Local variable */
44295 /* Register variable[5]: Result */
44296 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44297 variable[4] = variable[5];
44298 /* Register variable[5]: Local variable */
44299 /* Register variable[6]: Result */
44300 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44301 variable[5] = variable[6];
44302 /* Register variable[6]: Local variable */
44303 /* Register variable[7]: Result */
44304 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44305 variable[6] = variable[7];
44306 /* Register variable[7]: Local variable */
44307 /* Register variable[8]: Result */
44308 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44309 variable[7] = variable[8];
44310 /* Register variable[8]: Local variable */
44311 variable[8] = variable[6] /*nodearraylist1*/;
44312 /* Register variable[9]: Result */
44313 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44314 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 17374); nit_exit(1);}
44315 /* Register variable[9]: Local variable */
44316 variable[9] = variable[5] /*nodearraylist2*/;
44317 /* Register variable[10]: Result */
44318 variable[10] = TAG_Bool(( variable[9] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44319 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 17376); nit_exit(1);}
44320 /* Register variable[10]: Local variable */
44321 variable[10] = variable[4] /*nodearraylist3*/;
44322 /* Register variable[11]: Result */
44323 variable[11] = TAG_Bool(( variable[10] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44324 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction437___action, LOCATE_parser, 17378); nit_exit(1);}
44325 /* Register variable[11]: Result */
44326 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::==*/)))))));
44327 if (UNTAG_Bool(variable[11])) { /*if*/
44328 /* Register variable[11]: Result */
44329 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
44330 if (UNTAG_Bool(variable[11])) { /*if*/
44331 variable[7] = variable[8] /*listnode2*/ /*listnode5=*/;
44332 } else { /*if*/
44333 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
44334 }
44335 }
44336 /* Register variable[11]: Result */
44337 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::==*/)))))));
44338 if (UNTAG_Bool(variable[11])) { /*if*/
44339 /* Register variable[11]: Result */
44340 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
44341 if (UNTAG_Bool(variable[11])) { /*if*/
44342 variable[7] = variable[9] /*listnode3*/ /*listnode5=*/;
44343 } else { /*if*/
44344 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[9] /*listnode3*/) /*IndexedCollection::append*/;
44345 }
44346 }
44347 /* Register variable[11]: Result */
44348 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::==*/)))))));
44349 if (UNTAG_Bool(variable[11])) { /*if*/
44350 CALL_abstract_collection___SimpleCollection___add( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*pexprnode4*/) /*AbstractArray::add*/;
44351 }
44352 /* Register variable[11]: Local variable */
44353 /* Register variable[12]: Result */
44354 variable[12] = NEW_ASuperstringExpr_parser_prod___ASuperstringExpr___init_asuperstringexpr( variable[7] /*listnode5*/) /*new ASuperstringExpr*/;
44355 variable[11] = variable[12];
44356 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
44357 /* Register variable[12]: Result */
44358 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(52)) /*Parser::go_to*/;
44359 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
44360 return_label906: while(false);
44361 tracehead = trace.prev;
44362 return;
44363 }
44364 void parser___ReduceAction437___init(val_t self, int* init_table) {
44365 struct trace_t trace = {NULL, NULL, 17402, LOCATE_parser___ReduceAction437___init};
44366 val_t variable[2];
44367 struct WBT_ **closurevariable = NULL;
44368 trace.prev = tracehead; tracehead = &trace;
44369 trace.file = LOCATE_parser;
44370 /* Register variable[0]: Local variable */
44371 variable[0] = self;
44372 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction437].i]) return;
44373 /* Register variable[1]: Method return value and escape marker */
44374 return_label907: while(false);
44375 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction437].i] = 1;
44376 tracehead = trace.prev;
44377 return;
44378 }
44379 void parser___ReduceAction438___action(val_t self, val_t param0) {
44380 struct trace_t trace = {NULL, NULL, 17406, LOCATE_parser___ReduceAction438___action};
44381 val_t variable[12];
44382 struct WBT_ **closurevariable = NULL;
44383 trace.prev = tracehead; tracehead = &trace;
44384 trace.file = LOCATE_parser;
44385 /* Register variable[0]: Local variable */
44386 variable[0] = self;
44387 /* Register variable[1]: Local variable */
44388 variable[1] = param0;
44389 /* Register variable[2]: Method return value and escape marker */
44390 /* Register variable[3]: Local variable */
44391 variable[3] = NIT_NULL /*null*/;
44392 /* Register variable[4]: Local variable */
44393 /* Register variable[5]: Result */
44394 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44395 variable[4] = variable[5];
44396 /* Register variable[5]: Local variable */
44397 /* Register variable[6]: Result */
44398 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44399 variable[5] = variable[6];
44400 /* Register variable[6]: Local variable */
44401 /* Register variable[7]: Result */
44402 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44403 variable[6] = variable[7];
44404 /* Register variable[7]: Local variable */
44405 /* Register variable[8]: Result */
44406 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44407 variable[7] = variable[8];
44408 /* Register variable[8]: Local variable */
44409 /* Register variable[9]: Result */
44410 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44411 variable[8] = variable[9];
44412 /* Register variable[9]: Local variable */
44413 variable[9] = variable[7] /*nodearraylist1*/;
44414 /* Register variable[10]: Result */
44415 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44416 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 17415); nit_exit(1);}
44417 /* Register variable[10]: Local variable */
44418 variable[10] = variable[5] /*nodearraylist3*/;
44419 /* Register variable[11]: Result */
44420 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44421 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction438___action, LOCATE_parser, 17417); nit_exit(1);}
44422 /* Register variable[11]: Result */
44423 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::==*/)))))));
44424 if (UNTAG_Bool(variable[11])) { /*if*/
44425 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
44426 }
44427 /* Register variable[11]: Result */
44428 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::==*/)))))));
44429 if (UNTAG_Bool(variable[11])) { /*if*/
44430 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
44431 }
44432 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
44433 /* Register variable[11]: Result */
44434 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(53)) /*Parser::go_to*/;
44435 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44436 return_label908: while(false);
44437 tracehead = trace.prev;
44438 return;
44439 }
44440 void parser___ReduceAction438___init(val_t self, int* init_table) {
44441 struct trace_t trace = {NULL, NULL, 17427, LOCATE_parser___ReduceAction438___init};
44442 val_t variable[2];
44443 struct WBT_ **closurevariable = NULL;
44444 trace.prev = tracehead; tracehead = &trace;
44445 trace.file = LOCATE_parser;
44446 /* Register variable[0]: Local variable */
44447 variable[0] = self;
44448 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction438].i]) return;
44449 /* Register variable[1]: Method return value and escape marker */
44450 return_label909: while(false);
44451 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction438].i] = 1;
44452 tracehead = trace.prev;
44453 return;
44454 }
44455 void parser___ReduceAction439___action(val_t self, val_t param0) {
44456 struct trace_t trace = {NULL, NULL, 17431, LOCATE_parser___ReduceAction439___action};
44457 val_t variable[8];
44458 struct WBT_ **closurevariable = NULL;
44459 trace.prev = tracehead; tracehead = &trace;
44460 trace.file = LOCATE_parser;
44461 /* Register variable[0]: Local variable */
44462 variable[0] = self;
44463 /* Register variable[1]: Local variable */
44464 variable[1] = param0;
44465 /* Register variable[2]: Method return value and escape marker */
44466 /* Register variable[3]: Local variable */
44467 variable[3] = NIT_NULL /*null*/;
44468 /* Register variable[4]: Local variable */
44469 /* Register variable[5]: Result */
44470 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44471 variable[4] = variable[5];
44472 /* Register variable[5]: Local variable */
44473 variable[5] = variable[4] /*nodearraylist1*/;
44474 /* Register variable[6]: Result */
44475 variable[6] = TAG_Bool(( variable[5] /*tstartstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstartstringnode2*/, COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
44476 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction439___action, LOCATE_parser, 17436); nit_exit(1);}
44477 /* Register variable[6]: Local variable */
44478 /* Register variable[7]: Result */
44479 variable[7] = NEW_AStartStringExpr_parser_prod___AStartStringExpr___init_astartstringexpr( variable[5] /*tstartstringnode2*/) /*new AStartStringExpr*/;
44480 variable[6] = variable[7];
44481 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
44482 /* Register variable[7]: Result */
44483 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(54)) /*Parser::go_to*/;
44484 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
44485 return_label910: while(false);
44486 tracehead = trace.prev;
44487 return;
44488 }
44489 void parser___ReduceAction439___init(val_t self, int* init_table) {
44490 struct trace_t trace = {NULL, NULL, 17443, LOCATE_parser___ReduceAction439___init};
44491 val_t variable[2];
44492 struct WBT_ **closurevariable = NULL;
44493 trace.prev = tracehead; tracehead = &trace;
44494 trace.file = LOCATE_parser;
44495 /* Register variable[0]: Local variable */
44496 variable[0] = self;
44497 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction439].i]) return;
44498 /* Register variable[1]: Method return value and escape marker */
44499 return_label911: while(false);
44500 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction439].i] = 1;
44501 tracehead = trace.prev;
44502 return;
44503 }
44504 void parser___ReduceAction440___action(val_t self, val_t param0) {
44505 struct trace_t trace = {NULL, NULL, 17447, LOCATE_parser___ReduceAction440___action};
44506 val_t variable[12];
44507 struct WBT_ **closurevariable = NULL;
44508 trace.prev = tracehead; tracehead = &trace;
44509 trace.file = LOCATE_parser;
44510 /* Register variable[0]: Local variable */
44511 variable[0] = self;
44512 /* Register variable[1]: Local variable */
44513 variable[1] = param0;
44514 /* Register variable[2]: Method return value and escape marker */
44515 /* Register variable[3]: Local variable */
44516 variable[3] = NIT_NULL /*null*/;
44517 /* Register variable[4]: Local variable */
44518 /* Register variable[5]: Result */
44519 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44520 variable[4] = variable[5];
44521 /* Register variable[5]: Local variable */
44522 /* Register variable[6]: Result */
44523 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44524 variable[5] = variable[6];
44525 /* Register variable[6]: Local variable */
44526 /* Register variable[7]: Result */
44527 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44528 variable[6] = variable[7];
44529 /* Register variable[7]: Local variable */
44530 /* Register variable[8]: Result */
44531 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44532 variable[7] = variable[8];
44533 /* Register variable[8]: Local variable */
44534 /* Register variable[9]: Result */
44535 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44536 variable[8] = variable[9];
44537 /* Register variable[9]: Local variable */
44538 variable[9] = variable[7] /*nodearraylist1*/;
44539 /* Register variable[10]: Result */
44540 variable[10] = TAG_Bool(( variable[9] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44541 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 17456); nit_exit(1);}
44542 /* Register variable[10]: Local variable */
44543 variable[10] = variable[5] /*nodearraylist3*/;
44544 /* Register variable[11]: Result */
44545 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44546 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction440___action, LOCATE_parser, 17458); nit_exit(1);}
44547 /* Register variable[11]: Result */
44548 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::==*/)))))));
44549 if (UNTAG_Bool(variable[11])) { /*if*/
44550 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode1*/) /*AbstractArray::add*/;
44551 }
44552 /* Register variable[11]: Result */
44553 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::==*/)))))));
44554 if (UNTAG_Bool(variable[11])) { /*if*/
44555 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
44556 }
44557 variable[3] = variable[8] /*listnode3*/ /*node_list=*/;
44558 /* Register variable[11]: Result */
44559 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(55)) /*Parser::go_to*/;
44560 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44561 return_label912: while(false);
44562 tracehead = trace.prev;
44563 return;
44564 }
44565 void parser___ReduceAction440___init(val_t self, int* init_table) {
44566 struct trace_t trace = {NULL, NULL, 17468, LOCATE_parser___ReduceAction440___init};
44567 val_t variable[2];
44568 struct WBT_ **closurevariable = NULL;
44569 trace.prev = tracehead; tracehead = &trace;
44570 trace.file = LOCATE_parser;
44571 /* Register variable[0]: Local variable */
44572 variable[0] = self;
44573 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction440].i]) return;
44574 /* Register variable[1]: Method return value and escape marker */
44575 return_label913: while(false);
44576 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction440].i] = 1;
44577 tracehead = trace.prev;
44578 return;
44579 }
44580 void parser___ReduceAction441___action(val_t self, val_t param0) {
44581 struct trace_t trace = {NULL, NULL, 17472, LOCATE_parser___ReduceAction441___action};
44582 val_t variable[8];
44583 struct WBT_ **closurevariable = NULL;
44584 trace.prev = tracehead; tracehead = &trace;
44585 trace.file = LOCATE_parser;
44586 /* Register variable[0]: Local variable */
44587 variable[0] = self;
44588 /* Register variable[1]: Local variable */
44589 variable[1] = param0;
44590 /* Register variable[2]: Method return value and escape marker */
44591 /* Register variable[3]: Local variable */
44592 variable[3] = NIT_NULL /*null*/;
44593 /* Register variable[4]: Local variable */
44594 /* Register variable[5]: Result */
44595 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44596 variable[4] = variable[5];
44597 /* Register variable[5]: Local variable */
44598 variable[5] = variable[4] /*nodearraylist1*/;
44599 /* Register variable[6]: Result */
44600 variable[6] = TAG_Bool(( variable[5] /*tmidstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tmidstringnode2*/, COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
44601 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction441___action, LOCATE_parser, 17477); nit_exit(1);}
44602 /* Register variable[6]: Local variable */
44603 /* Register variable[7]: Result */
44604 variable[7] = NEW_AMidStringExpr_parser_prod___AMidStringExpr___init_amidstringexpr( variable[5] /*tmidstringnode2*/) /*new AMidStringExpr*/;
44605 variable[6] = variable[7];
44606 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
44607 /* Register variable[7]: Result */
44608 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(56)) /*Parser::go_to*/;
44609 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
44610 return_label914: while(false);
44611 tracehead = trace.prev;
44612 return;
44613 }
44614 void parser___ReduceAction441___init(val_t self, int* init_table) {
44615 struct trace_t trace = {NULL, NULL, 17484, LOCATE_parser___ReduceAction441___init};
44616 val_t variable[2];
44617 struct WBT_ **closurevariable = NULL;
44618 trace.prev = tracehead; tracehead = &trace;
44619 trace.file = LOCATE_parser;
44620 /* Register variable[0]: Local variable */
44621 variable[0] = self;
44622 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction441].i]) return;
44623 /* Register variable[1]: Method return value and escape marker */
44624 return_label915: while(false);
44625 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction441].i] = 1;
44626 tracehead = trace.prev;
44627 return;
44628 }
44629 void parser___ReduceAction442___action(val_t self, val_t param0) {
44630 struct trace_t trace = {NULL, NULL, 17488, LOCATE_parser___ReduceAction442___action};
44631 val_t variable[8];
44632 struct WBT_ **closurevariable = NULL;
44633 trace.prev = tracehead; tracehead = &trace;
44634 trace.file = LOCATE_parser;
44635 /* Register variable[0]: Local variable */
44636 variable[0] = self;
44637 /* Register variable[1]: Local variable */
44638 variable[1] = param0;
44639 /* Register variable[2]: Method return value and escape marker */
44640 /* Register variable[3]: Local variable */
44641 variable[3] = NIT_NULL /*null*/;
44642 /* Register variable[4]: Local variable */
44643 /* Register variable[5]: Result */
44644 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44645 variable[4] = variable[5];
44646 /* Register variable[5]: Local variable */
44647 variable[5] = variable[4] /*nodearraylist1*/;
44648 /* Register variable[6]: Result */
44649 variable[6] = TAG_Bool(( variable[5] /*tendstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tendstringnode2*/, COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
44650 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction442___action, LOCATE_parser, 17493); nit_exit(1);}
44651 /* Register variable[6]: Local variable */
44652 /* Register variable[7]: Result */
44653 variable[7] = NEW_AEndStringExpr_parser_prod___AEndStringExpr___init_aendstringexpr( variable[5] /*tendstringnode2*/) /*new AEndStringExpr*/;
44654 variable[6] = variable[7];
44655 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
44656 /* Register variable[7]: Result */
44657 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(57)) /*Parser::go_to*/;
44658 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
44659 return_label916: while(false);
44660 tracehead = trace.prev;
44661 return;
44662 }
44663 void parser___ReduceAction442___init(val_t self, int* init_table) {
44664 struct trace_t trace = {NULL, NULL, 17500, LOCATE_parser___ReduceAction442___init};
44665 val_t variable[2];
44666 struct WBT_ **closurevariable = NULL;
44667 trace.prev = tracehead; tracehead = &trace;
44668 trace.file = LOCATE_parser;
44669 /* Register variable[0]: Local variable */
44670 variable[0] = self;
44671 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction442].i]) return;
44672 /* Register variable[1]: Method return value and escape marker */
44673 return_label917: while(false);
44674 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction442].i] = 1;
44675 tracehead = trace.prev;
44676 return;
44677 }
44678 void parser___ReduceAction443___action(val_t self, val_t param0) {
44679 struct trace_t trace = {NULL, NULL, 17504, LOCATE_parser___ReduceAction443___action};
44680 val_t variable[12];
44681 struct WBT_ **closurevariable = NULL;
44682 trace.prev = tracehead; tracehead = &trace;
44683 trace.file = LOCATE_parser;
44684 /* Register variable[0]: Local variable */
44685 variable[0] = self;
44686 /* Register variable[1]: Local variable */
44687 variable[1] = param0;
44688 /* Register variable[2]: Method return value and escape marker */
44689 /* Register variable[3]: Local variable */
44690 variable[3] = NIT_NULL /*null*/;
44691 /* Register variable[4]: Local variable */
44692 /* Register variable[5]: Result */
44693 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44694 variable[4] = variable[5];
44695 /* Register variable[5]: Local variable */
44696 /* Register variable[6]: Result */
44697 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44698 variable[5] = variable[6];
44699 /* Register variable[6]: Local variable */
44700 /* Register variable[7]: Result */
44701 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44702 variable[6] = variable[7];
44703 /* Register variable[7]: Local variable */
44704 /* Register variable[8]: Result */
44705 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44706 variable[7] = variable[8];
44707 /* Register variable[8]: Local variable */
44708 /* Register variable[9]: Result */
44709 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44710 variable[8] = variable[9];
44711 /* Register variable[9]: Local variable */
44712 /* Register variable[10]: Result */
44713 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44714 variable[9] = variable[10];
44715 /* Register variable[10]: Local variable */
44716 variable[10] = variable[6] /*nodearraylist3*/;
44717 /* Register variable[11]: Result */
44718 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44719 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction443___action, LOCATE_parser, 17514); nit_exit(1);}
44720 /* Register variable[11]: Result */
44721 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::==*/)))))));
44722 if (UNTAG_Bool(variable[11])) { /*if*/
44723 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
44724 }
44725 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
44726 /* Register variable[11]: Result */
44727 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
44728 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44729 return_label918: while(false);
44730 tracehead = trace.prev;
44731 return;
44732 }
44733 void parser___ReduceAction443___init(val_t self, int* init_table) {
44734 struct trace_t trace = {NULL, NULL, 17521, LOCATE_parser___ReduceAction443___init};
44735 val_t variable[2];
44736 struct WBT_ **closurevariable = NULL;
44737 trace.prev = tracehead; tracehead = &trace;
44738 trace.file = LOCATE_parser;
44739 /* Register variable[0]: Local variable */
44740 variable[0] = self;
44741 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction443].i]) return;
44742 /* Register variable[1]: Method return value and escape marker */
44743 return_label919: while(false);
44744 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction443].i] = 1;
44745 tracehead = trace.prev;
44746 return;
44747 }
44748 void parser___ReduceAction444___action(val_t self, val_t param0) {
44749 struct trace_t trace = {NULL, NULL, 17525, LOCATE_parser___ReduceAction444___action};
44750 val_t variable[14];
44751 struct WBT_ **closurevariable = NULL;
44752 trace.prev = tracehead; tracehead = &trace;
44753 trace.file = LOCATE_parser;
44754 /* Register variable[0]: Local variable */
44755 variable[0] = self;
44756 /* Register variable[1]: Local variable */
44757 variable[1] = param0;
44758 /* Register variable[2]: Method return value and escape marker */
44759 /* Register variable[3]: Local variable */
44760 variable[3] = NIT_NULL /*null*/;
44761 /* Register variable[4]: Local variable */
44762 /* Register variable[5]: Result */
44763 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44764 variable[4] = variable[5];
44765 /* Register variable[5]: Local variable */
44766 /* Register variable[6]: Result */
44767 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44768 variable[5] = variable[6];
44769 /* Register variable[6]: Local variable */
44770 /* Register variable[7]: Result */
44771 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44772 variable[6] = variable[7];
44773 /* Register variable[7]: Local variable */
44774 /* Register variable[8]: Result */
44775 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44776 variable[7] = variable[8];
44777 /* Register variable[8]: Local variable */
44778 /* Register variable[9]: Result */
44779 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44780 variable[8] = variable[9];
44781 /* Register variable[9]: Local variable */
44782 /* Register variable[10]: Result */
44783 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44784 variable[9] = variable[10];
44785 /* Register variable[10]: Local variable */
44786 /* Register variable[11]: Result */
44787 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44788 variable[10] = variable[11];
44789 /* Register variable[11]: Local variable */
44790 variable[11] = variable[7] /*nodearraylist3*/;
44791 /* Register variable[12]: Result */
44792 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44793 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 17536); nit_exit(1);}
44794 /* Register variable[12]: Local variable */
44795 variable[12] = variable[5] /*nodearraylist5*/;
44796 /* Register variable[13]: Result */
44797 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
44798 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction444___action, LOCATE_parser, 17538); nit_exit(1);}
44799 /* Register variable[13]: Result */
44800 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::==*/)))))));
44801 if (UNTAG_Bool(variable[13])) { /*if*/
44802 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
44803 }
44804 /* Register variable[13]: Result */
44805 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::==*/)))))));
44806 if (UNTAG_Bool(variable[13])) { /*if*/
44807 /* Register variable[13]: Result */
44808 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
44809 if (UNTAG_Bool(variable[13])) { /*if*/
44810 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
44811 } else { /*if*/
44812 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
44813 }
44814 }
44815 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
44816 /* Register variable[13]: Result */
44817 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
44818 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
44819 return_label920: while(false);
44820 tracehead = trace.prev;
44821 return;
44822 }
44823 void parser___ReduceAction444___init(val_t self, int* init_table) {
44824 struct trace_t trace = {NULL, NULL, 17552, LOCATE_parser___ReduceAction444___init};
44825 val_t variable[2];
44826 struct WBT_ **closurevariable = NULL;
44827 trace.prev = tracehead; tracehead = &trace;
44828 trace.file = LOCATE_parser;
44829 /* Register variable[0]: Local variable */
44830 variable[0] = self;
44831 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction444].i]) return;
44832 /* Register variable[1]: Method return value and escape marker */
44833 return_label921: while(false);
44834 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction444].i] = 1;
44835 tracehead = trace.prev;
44836 return;
44837 }
44838 void parser___ReduceAction445___action(val_t self, val_t param0) {
44839 struct trace_t trace = {NULL, NULL, 17556, LOCATE_parser___ReduceAction445___action};
44840 val_t variable[9];
44841 struct WBT_ **closurevariable = NULL;
44842 trace.prev = tracehead; tracehead = &trace;
44843 trace.file = LOCATE_parser;
44844 /* Register variable[0]: Local variable */
44845 variable[0] = self;
44846 /* Register variable[1]: Local variable */
44847 variable[1] = param0;
44848 /* Register variable[2]: Method return value and escape marker */
44849 /* Register variable[3]: Local variable */
44850 variable[3] = NIT_NULL /*null*/;
44851 /* Register variable[4]: Local variable */
44852 /* Register variable[5]: Result */
44853 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44854 variable[4] = variable[5];
44855 /* Register variable[5]: Local variable */
44856 /* Register variable[6]: Result */
44857 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44858 variable[5] = variable[6];
44859 /* Register variable[6]: Local variable */
44860 /* Register variable[7]: Result */
44861 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44862 variable[6] = variable[7];
44863 /* Register variable[7]: Local variable */
44864 /* Register variable[8]: Result */
44865 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44866 variable[7] = variable[8];
44867 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
44868 /* Register variable[8]: Result */
44869 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
44870 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
44871 return_label922: while(false);
44872 tracehead = trace.prev;
44873 return;
44874 }
44875 void parser___ReduceAction445___init(val_t self, int* init_table) {
44876 struct trace_t trace = {NULL, NULL, 17566, LOCATE_parser___ReduceAction445___init};
44877 val_t variable[2];
44878 struct WBT_ **closurevariable = NULL;
44879 trace.prev = tracehead; tracehead = &trace;
44880 trace.file = LOCATE_parser;
44881 /* Register variable[0]: Local variable */
44882 variable[0] = self;
44883 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction445].i]) return;
44884 /* Register variable[1]: Method return value and escape marker */
44885 return_label923: while(false);
44886 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction445].i] = 1;
44887 tracehead = trace.prev;
44888 return;
44889 }
44890 void parser___ReduceAction446___action(val_t self, val_t param0) {
44891 struct trace_t trace = {NULL, NULL, 17570, LOCATE_parser___ReduceAction446___action};
44892 val_t variable[6];
44893 struct WBT_ **closurevariable = NULL;
44894 trace.prev = tracehead; tracehead = &trace;
44895 trace.file = LOCATE_parser;
44896 /* Register variable[0]: Local variable */
44897 variable[0] = self;
44898 /* Register variable[1]: Local variable */
44899 variable[1] = param0;
44900 /* Register variable[2]: Method return value and escape marker */
44901 /* Register variable[3]: Local variable */
44902 variable[3] = NIT_NULL /*null*/;
44903 /* Register variable[4]: Local variable */
44904 /* Register variable[5]: Result */
44905 variable[5] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44906 variable[4] = variable[5];
44907 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
44908 /* Register variable[5]: Result */
44909 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(58)) /*Parser::go_to*/;
44910 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
44911 return_label924: while(false);
44912 tracehead = trace.prev;
44913 return;
44914 }
44915 void parser___ReduceAction446___init(val_t self, int* init_table) {
44916 struct trace_t trace = {NULL, NULL, 17577, LOCATE_parser___ReduceAction446___init};
44917 val_t variable[2];
44918 struct WBT_ **closurevariable = NULL;
44919 trace.prev = tracehead; tracehead = &trace;
44920 trace.file = LOCATE_parser;
44921 /* Register variable[0]: Local variable */
44922 variable[0] = self;
44923 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction446].i]) return;
44924 /* Register variable[1]: Method return value and escape marker */
44925 return_label925: while(false);
44926 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction446].i] = 1;
44927 tracehead = trace.prev;
44928 return;
44929 }
44930 void parser___ReduceAction447___action(val_t self, val_t param0) {
44931 struct trace_t trace = {NULL, NULL, 17581, LOCATE_parser___ReduceAction447___action};
44932 val_t variable[12];
44933 struct WBT_ **closurevariable = NULL;
44934 trace.prev = tracehead; tracehead = &trace;
44935 trace.file = LOCATE_parser;
44936 /* Register variable[0]: Local variable */
44937 variable[0] = self;
44938 /* Register variable[1]: Local variable */
44939 variable[1] = param0;
44940 /* Register variable[2]: Method return value and escape marker */
44941 /* Register variable[3]: Local variable */
44942 variable[3] = NIT_NULL /*null*/;
44943 /* Register variable[4]: Local variable */
44944 /* Register variable[5]: Result */
44945 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44946 variable[4] = variable[5];
44947 /* Register variable[5]: Local variable */
44948 /* Register variable[6]: Result */
44949 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44950 variable[5] = variable[6];
44951 /* Register variable[6]: Local variable */
44952 /* Register variable[7]: Result */
44953 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44954 variable[6] = variable[7];
44955 /* Register variable[7]: Local variable */
44956 /* Register variable[8]: Result */
44957 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44958 variable[7] = variable[8];
44959 /* Register variable[8]: Local variable */
44960 /* Register variable[9]: Result */
44961 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
44962 variable[8] = variable[9];
44963 /* Register variable[9]: Local variable */
44964 /* Register variable[10]: Result */
44965 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
44966 variable[9] = variable[10];
44967 /* Register variable[10]: Local variable */
44968 variable[10] = variable[6] /*nodearraylist3*/;
44969 /* Register variable[11]: Result */
44970 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
44971 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction447___action, LOCATE_parser, 17591); nit_exit(1);}
44972 /* Register variable[11]: Result */
44973 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::==*/)))))));
44974 if (UNTAG_Bool(variable[11])) { /*if*/
44975 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
44976 }
44977 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
44978 /* Register variable[11]: Result */
44979 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
44980 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
44981 return_label926: while(false);
44982 tracehead = trace.prev;
44983 return;
44984 }
44985 void parser___ReduceAction447___init(val_t self, int* init_table) {
44986 struct trace_t trace = {NULL, NULL, 17598, LOCATE_parser___ReduceAction447___init};
44987 val_t variable[2];
44988 struct WBT_ **closurevariable = NULL;
44989 trace.prev = tracehead; tracehead = &trace;
44990 trace.file = LOCATE_parser;
44991 /* Register variable[0]: Local variable */
44992 variable[0] = self;
44993 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction447].i]) return;
44994 /* Register variable[1]: Method return value and escape marker */
44995 return_label927: while(false);
44996 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction447].i] = 1;
44997 tracehead = trace.prev;
44998 return;
44999 }
45000 void parser___ReduceAction448___action(val_t self, val_t param0) {
45001 struct trace_t trace = {NULL, NULL, 17602, LOCATE_parser___ReduceAction448___action};
45002 val_t variable[14];
45003 struct WBT_ **closurevariable = NULL;
45004 trace.prev = tracehead; tracehead = &trace;
45005 trace.file = LOCATE_parser;
45006 /* Register variable[0]: Local variable */
45007 variable[0] = self;
45008 /* Register variable[1]: Local variable */
45009 variable[1] = param0;
45010 /* Register variable[2]: Method return value and escape marker */
45011 /* Register variable[3]: Local variable */
45012 variable[3] = NIT_NULL /*null*/;
45013 /* Register variable[4]: Local variable */
45014 /* Register variable[5]: Result */
45015 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45016 variable[4] = variable[5];
45017 /* Register variable[5]: Local variable */
45018 /* Register variable[6]: Result */
45019 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45020 variable[5] = variable[6];
45021 /* Register variable[6]: Local variable */
45022 /* Register variable[7]: Result */
45023 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45024 variable[6] = variable[7];
45025 /* Register variable[7]: Local variable */
45026 /* Register variable[8]: Result */
45027 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45028 variable[7] = variable[8];
45029 /* Register variable[8]: Local variable */
45030 /* Register variable[9]: Result */
45031 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45032 variable[8] = variable[9];
45033 /* Register variable[9]: Local variable */
45034 /* Register variable[10]: Result */
45035 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45036 variable[9] = variable[10];
45037 /* Register variable[10]: Local variable */
45038 /* Register variable[11]: Result */
45039 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45040 variable[10] = variable[11];
45041 /* Register variable[11]: Local variable */
45042 variable[11] = variable[7] /*nodearraylist3*/;
45043 /* Register variable[12]: Result */
45044 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45045 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 17613); nit_exit(1);}
45046 /* Register variable[12]: Local variable */
45047 variable[12] = variable[5] /*nodearraylist5*/;
45048 /* Register variable[13]: Result */
45049 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45050 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction448___action, LOCATE_parser, 17615); nit_exit(1);}
45051 /* Register variable[13]: Result */
45052 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::==*/)))))));
45053 if (UNTAG_Bool(variable[13])) { /*if*/
45054 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
45055 }
45056 /* Register variable[13]: Result */
45057 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::==*/)))))));
45058 if (UNTAG_Bool(variable[13])) { /*if*/
45059 /* Register variable[13]: Result */
45060 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45061 if (UNTAG_Bool(variable[13])) { /*if*/
45062 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
45063 } else { /*if*/
45064 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
45065 }
45066 }
45067 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
45068 /* Register variable[13]: Result */
45069 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
45070 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
45071 return_label928: while(false);
45072 tracehead = trace.prev;
45073 return;
45074 }
45075 void parser___ReduceAction448___init(val_t self, int* init_table) {
45076 struct trace_t trace = {NULL, NULL, 17629, LOCATE_parser___ReduceAction448___init};
45077 val_t variable[2];
45078 struct WBT_ **closurevariable = NULL;
45079 trace.prev = tracehead; tracehead = &trace;
45080 trace.file = LOCATE_parser;
45081 /* Register variable[0]: Local variable */
45082 variable[0] = self;
45083 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction448].i]) return;
45084 /* Register variable[1]: Method return value and escape marker */
45085 return_label929: while(false);
45086 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction448].i] = 1;
45087 tracehead = trace.prev;
45088 return;
45089 }
45090 void parser___ReduceAction449___action(val_t self, val_t param0) {
45091 struct trace_t trace = {NULL, NULL, 17633, LOCATE_parser___ReduceAction449___action};
45092 val_t variable[8];
45093 struct WBT_ **closurevariable = NULL;
45094 trace.prev = tracehead; tracehead = &trace;
45095 trace.file = LOCATE_parser;
45096 /* Register variable[0]: Local variable */
45097 variable[0] = self;
45098 /* Register variable[1]: Local variable */
45099 variable[1] = param0;
45100 /* Register variable[2]: Method return value and escape marker */
45101 /* Register variable[3]: Local variable */
45102 variable[3] = NIT_NULL /*null*/;
45103 /* Register variable[4]: Local variable */
45104 /* Register variable[5]: Result */
45105 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45106 variable[4] = variable[5];
45107 /* Register variable[5]: Local variable */
45108 /* Register variable[6]: Result */
45109 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45110 variable[5] = variable[6];
45111 /* Register variable[6]: Local variable */
45112 variable[6] = variable[4] /*nodearraylist1*/;
45113 /* Register variable[7]: Result */
45114 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45115 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction449___action, LOCATE_parser, 17639); nit_exit(1);}
45116 /* Register variable[7]: Result */
45117 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::==*/)))))));
45118 if (UNTAG_Bool(variable[7])) { /*if*/
45119 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
45120 }
45121 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
45122 /* Register variable[7]: Result */
45123 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
45124 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
45125 return_label930: while(false);
45126 tracehead = trace.prev;
45127 return;
45128 }
45129 void parser___ReduceAction449___init(val_t self, int* init_table) {
45130 struct trace_t trace = {NULL, NULL, 17646, LOCATE_parser___ReduceAction449___init};
45131 val_t variable[2];
45132 struct WBT_ **closurevariable = NULL;
45133 trace.prev = tracehead; tracehead = &trace;
45134 trace.file = LOCATE_parser;
45135 /* Register variable[0]: Local variable */
45136 variable[0] = self;
45137 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction449].i]) return;
45138 /* Register variable[1]: Method return value and escape marker */
45139 return_label931: while(false);
45140 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction449].i] = 1;
45141 tracehead = trace.prev;
45142 return;
45143 }
45144 void parser___ReduceAction450___action(val_t self, val_t param0) {
45145 struct trace_t trace = {NULL, NULL, 17650, LOCATE_parser___ReduceAction450___action};
45146 val_t variable[9];
45147 struct WBT_ **closurevariable = NULL;
45148 trace.prev = tracehead; tracehead = &trace;
45149 trace.file = LOCATE_parser;
45150 /* Register variable[0]: Local variable */
45151 variable[0] = self;
45152 /* Register variable[1]: Local variable */
45153 variable[1] = param0;
45154 /* Register variable[2]: Method return value and escape marker */
45155 /* Register variable[3]: Local variable */
45156 variable[3] = NIT_NULL /*null*/;
45157 /* Register variable[4]: Local variable */
45158 /* Register variable[5]: Result */
45159 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45160 variable[4] = variable[5];
45161 /* Register variable[5]: Local variable */
45162 /* Register variable[6]: Result */
45163 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45164 variable[5] = variable[6];
45165 /* Register variable[6]: Local variable */
45166 /* Register variable[7]: Result */
45167 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45168 variable[6] = variable[7];
45169 /* Register variable[7]: Local variable */
45170 /* Register variable[8]: Result */
45171 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45172 variable[7] = variable[8];
45173 variable[3] = variable[7] /*listnode1*/ /*node_list=*/;
45174 /* Register variable[8]: Result */
45175 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
45176 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
45177 return_label932: while(false);
45178 tracehead = trace.prev;
45179 return;
45180 }
45181 void parser___ReduceAction450___init(val_t self, int* init_table) {
45182 struct trace_t trace = {NULL, NULL, 17660, LOCATE_parser___ReduceAction450___init};
45183 val_t variable[2];
45184 struct WBT_ **closurevariable = NULL;
45185 trace.prev = tracehead; tracehead = &trace;
45186 trace.file = LOCATE_parser;
45187 /* Register variable[0]: Local variable */
45188 variable[0] = self;
45189 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction450].i]) return;
45190 /* Register variable[1]: Method return value and escape marker */
45191 return_label933: while(false);
45192 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction450].i] = 1;
45193 tracehead = trace.prev;
45194 return;
45195 }
45196 void parser___ReduceAction451___action(val_t self, val_t param0) {
45197 struct trace_t trace = {NULL, NULL, 17664, LOCATE_parser___ReduceAction451___action};
45198 val_t variable[6];
45199 struct WBT_ **closurevariable = NULL;
45200 trace.prev = tracehead; tracehead = &trace;
45201 trace.file = LOCATE_parser;
45202 /* Register variable[0]: Local variable */
45203 variable[0] = self;
45204 /* Register variable[1]: Local variable */
45205 variable[1] = param0;
45206 /* Register variable[2]: Method return value and escape marker */
45207 /* Register variable[3]: Local variable */
45208 variable[3] = NIT_NULL /*null*/;
45209 /* Register variable[4]: Local variable */
45210 /* Register variable[5]: Result */
45211 variable[5] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45212 variable[4] = variable[5];
45213 variable[3] = variable[4] /*listnode1*/ /*node_list=*/;
45214 /* Register variable[5]: Result */
45215 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(59)) /*Parser::go_to*/;
45216 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
45217 return_label934: while(false);
45218 tracehead = trace.prev;
45219 return;
45220 }
45221 void parser___ReduceAction451___init(val_t self, int* init_table) {
45222 struct trace_t trace = {NULL, NULL, 17671, LOCATE_parser___ReduceAction451___init};
45223 val_t variable[2];
45224 struct WBT_ **closurevariable = NULL;
45225 trace.prev = tracehead; tracehead = &trace;
45226 trace.file = LOCATE_parser;
45227 /* Register variable[0]: Local variable */
45228 variable[0] = self;
45229 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction451].i]) return;
45230 /* Register variable[1]: Method return value and escape marker */
45231 return_label935: while(false);
45232 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction451].i] = 1;
45233 tracehead = trace.prev;
45234 return;
45235 }
45236 void parser___ReduceAction452___action(val_t self, val_t param0) {
45237 struct trace_t trace = {NULL, NULL, 17675, LOCATE_parser___ReduceAction452___action};
45238 val_t variable[12];
45239 struct WBT_ **closurevariable = NULL;
45240 trace.prev = tracehead; tracehead = &trace;
45241 trace.file = LOCATE_parser;
45242 /* Register variable[0]: Local variable */
45243 variable[0] = self;
45244 /* Register variable[1]: Local variable */
45245 variable[1] = param0;
45246 /* Register variable[2]: Method return value and escape marker */
45247 /* Register variable[3]: Local variable */
45248 variable[3] = NIT_NULL /*null*/;
45249 /* Register variable[4]: Local variable */
45250 /* Register variable[5]: Result */
45251 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45252 variable[4] = variable[5];
45253 /* Register variable[5]: Local variable */
45254 /* Register variable[6]: Result */
45255 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45256 variable[5] = variable[6];
45257 /* Register variable[6]: Local variable */
45258 /* Register variable[7]: Result */
45259 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45260 variable[6] = variable[7];
45261 /* Register variable[7]: Local variable */
45262 /* Register variable[8]: Result */
45263 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45264 variable[7] = variable[8];
45265 /* Register variable[8]: Local variable */
45266 /* Register variable[9]: Result */
45267 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45268 variable[8] = variable[9];
45269 /* Register variable[9]: Local variable */
45270 /* Register variable[10]: Result */
45271 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45272 variable[9] = variable[10];
45273 /* Register variable[10]: Local variable */
45274 variable[10] = variable[6] /*nodearraylist3*/;
45275 /* Register variable[11]: Result */
45276 variable[11] = TAG_Bool(( variable[10] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45277 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction452___action, LOCATE_parser, 17685); nit_exit(1);}
45278 /* Register variable[11]: Result */
45279 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::==*/)))))));
45280 if (UNTAG_Bool(variable[11])) { /*if*/
45281 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode2*/)( variable[9] /*listnode2*/, variable[10] /*pexprnode1*/) /*AbstractArray::add*/;
45282 }
45283 variable[3] = variable[9] /*listnode2*/ /*node_list=*/;
45284 /* Register variable[11]: Result */
45285 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
45286 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
45287 return_label936: while(false);
45288 tracehead = trace.prev;
45289 return;
45290 }
45291 void parser___ReduceAction452___init(val_t self, int* init_table) {
45292 struct trace_t trace = {NULL, NULL, 17692, LOCATE_parser___ReduceAction452___init};
45293 val_t variable[2];
45294 struct WBT_ **closurevariable = NULL;
45295 trace.prev = tracehead; tracehead = &trace;
45296 trace.file = LOCATE_parser;
45297 /* Register variable[0]: Local variable */
45298 variable[0] = self;
45299 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction452].i]) return;
45300 /* Register variable[1]: Method return value and escape marker */
45301 return_label937: while(false);
45302 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction452].i] = 1;
45303 tracehead = trace.prev;
45304 return;
45305 }
45306 void parser___ReduceAction453___action(val_t self, val_t param0) {
45307 struct trace_t trace = {NULL, NULL, 17696, LOCATE_parser___ReduceAction453___action};
45308 val_t variable[14];
45309 struct WBT_ **closurevariable = NULL;
45310 trace.prev = tracehead; tracehead = &trace;
45311 trace.file = LOCATE_parser;
45312 /* Register variable[0]: Local variable */
45313 variable[0] = self;
45314 /* Register variable[1]: Local variable */
45315 variable[1] = param0;
45316 /* Register variable[2]: Method return value and escape marker */
45317 /* Register variable[3]: Local variable */
45318 variable[3] = NIT_NULL /*null*/;
45319 /* Register variable[4]: Local variable */
45320 /* Register variable[5]: Result */
45321 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45322 variable[4] = variable[5];
45323 /* Register variable[5]: Local variable */
45324 /* Register variable[6]: Result */
45325 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45326 variable[5] = variable[6];
45327 /* Register variable[6]: Local variable */
45328 /* Register variable[7]: Result */
45329 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45330 variable[6] = variable[7];
45331 /* Register variable[7]: Local variable */
45332 /* Register variable[8]: Result */
45333 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45334 variable[7] = variable[8];
45335 /* Register variable[8]: Local variable */
45336 /* Register variable[9]: Result */
45337 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45338 variable[8] = variable[9];
45339 /* Register variable[9]: Local variable */
45340 /* Register variable[10]: Result */
45341 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45342 variable[9] = variable[10];
45343 /* Register variable[10]: Local variable */
45344 /* Register variable[11]: Result */
45345 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45346 variable[10] = variable[11];
45347 /* Register variable[11]: Local variable */
45348 variable[11] = variable[7] /*nodearraylist3*/;
45349 /* Register variable[12]: Result */
45350 variable[12] = TAG_Bool(( variable[11] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45351 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 17707); nit_exit(1);}
45352 /* Register variable[12]: Local variable */
45353 variable[12] = variable[5] /*nodearraylist5*/;
45354 /* Register variable[13]: Result */
45355 variable[13] = TAG_Bool(( variable[12] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45356 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction453___action, LOCATE_parser, 17709); nit_exit(1);}
45357 /* Register variable[13]: Result */
45358 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::==*/)))))));
45359 if (UNTAG_Bool(variable[13])) { /*if*/
45360 CALL_abstract_collection___SimpleCollection___add( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[11] /*pexprnode1*/) /*AbstractArray::add*/;
45361 }
45362 /* Register variable[13]: Result */
45363 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::==*/)))))));
45364 if (UNTAG_Bool(variable[13])) { /*if*/
45365 /* Register variable[13]: Result */
45366 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode3*/)( variable[10] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45367 if (UNTAG_Bool(variable[13])) { /*if*/
45368 variable[10] = variable[12] /*listnode2*/ /*listnode3=*/;
45369 } else { /*if*/
45370 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode3*/)( variable[10] /*listnode3*/, variable[12] /*listnode2*/) /*IndexedCollection::append*/;
45371 }
45372 }
45373 variable[3] = variable[10] /*listnode3*/ /*node_list=*/;
45374 /* Register variable[13]: Result */
45375 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(60)) /*Parser::go_to*/;
45376 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
45377 return_label938: while(false);
45378 tracehead = trace.prev;
45379 return;
45380 }
45381 void parser___ReduceAction453___init(val_t self, int* init_table) {
45382 struct trace_t trace = {NULL, NULL, 17723, LOCATE_parser___ReduceAction453___init};
45383 val_t variable[2];
45384 struct WBT_ **closurevariable = NULL;
45385 trace.prev = tracehead; tracehead = &trace;
45386 trace.file = LOCATE_parser;
45387 /* Register variable[0]: Local variable */
45388 variable[0] = self;
45389 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction453].i]) return;
45390 /* Register variable[1]: Method return value and escape marker */
45391 return_label939: while(false);
45392 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction453].i] = 1;
45393 tracehead = trace.prev;
45394 return;
45395 }
45396 void parser___ReduceAction454___action(val_t self, val_t param0) {
45397 struct trace_t trace = {NULL, NULL, 17727, LOCATE_parser___ReduceAction454___action};
45398 val_t variable[10];
45399 struct WBT_ **closurevariable = NULL;
45400 trace.prev = tracehead; tracehead = &trace;
45401 trace.file = LOCATE_parser;
45402 /* Register variable[0]: Local variable */
45403 variable[0] = self;
45404 /* Register variable[1]: Local variable */
45405 variable[1] = param0;
45406 /* Register variable[2]: Method return value and escape marker */
45407 /* Register variable[3]: Local variable */
45408 variable[3] = NIT_NULL /*null*/;
45409 /* Register variable[4]: Local variable */
45410 /* Register variable[5]: Result */
45411 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45412 variable[4] = variable[5];
45413 /* Register variable[5]: Local variable */
45414 /* Register variable[6]: Result */
45415 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45416 variable[5] = variable[6];
45417 /* Register variable[6]: Local variable */
45418 /* Register variable[7]: Result */
45419 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45420 variable[6] = variable[7];
45421 /* Register variable[7]: Local variable */
45422 /* Register variable[8]: Result */
45423 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45424 variable[7] = variable[8];
45425 /* Register variable[8]: Local variable */
45426 variable[8] = variable[5] /*nodearraylist3*/;
45427 /* Register variable[9]: Result */
45428 variable[9] = TAG_Bool(( variable[8] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
45429 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction454___action, LOCATE_parser, 17735); nit_exit(1);}
45430 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
45431 /* Register variable[9]: Result */
45432 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(61)) /*Parser::go_to*/;
45433 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
45434 return_label940: while(false);
45435 tracehead = trace.prev;
45436 return;
45437 }
45438 void parser___ReduceAction454___init(val_t self, int* init_table) {
45439 struct trace_t trace = {NULL, NULL, 17739, LOCATE_parser___ReduceAction454___init};
45440 val_t variable[2];
45441 struct WBT_ **closurevariable = NULL;
45442 trace.prev = tracehead; tracehead = &trace;
45443 trace.file = LOCATE_parser;
45444 /* Register variable[0]: Local variable */
45445 variable[0] = self;
45446 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction454].i]) return;
45447 /* Register variable[1]: Method return value and escape marker */
45448 return_label941: while(false);
45449 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction454].i] = 1;
45450 tracehead = trace.prev;
45451 return;
45452 }
45453 void parser___ReduceAction455___action(val_t self, val_t param0) {
45454 struct trace_t trace = {NULL, NULL, 17743, LOCATE_parser___ReduceAction455___action};
45455 val_t variable[8];
45456 struct WBT_ **closurevariable = NULL;
45457 trace.prev = tracehead; tracehead = &trace;
45458 trace.file = LOCATE_parser;
45459 /* Register variable[0]: Local variable */
45460 variable[0] = self;
45461 /* Register variable[1]: Local variable */
45462 variable[1] = param0;
45463 /* Register variable[2]: Method return value and escape marker */
45464 /* Register variable[3]: Local variable */
45465 variable[3] = NIT_NULL /*null*/;
45466 /* Register variable[4]: Local variable */
45467 /* Register variable[5]: Result */
45468 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45469 variable[4] = variable[5];
45470 /* Register variable[5]: Local variable */
45471 /* Register variable[6]: Result */
45472 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45473 variable[5] = variable[6];
45474 /* Register variable[6]: Local variable */
45475 variable[6] = variable[4] /*nodearraylist1*/;
45476 /* Register variable[7]: Result */
45477 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
45478 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction455___action, LOCATE_parser, 17749); nit_exit(1);}
45479 /* Register variable[7]: Result */
45480 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::==*/)))))));
45481 if (UNTAG_Bool(variable[7])) { /*if*/
45482 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
45483 }
45484 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
45485 /* Register variable[7]: Result */
45486 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
45487 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
45488 return_label942: while(false);
45489 tracehead = trace.prev;
45490 return;
45491 }
45492 void parser___ReduceAction455___init(val_t self, int* init_table) {
45493 struct trace_t trace = {NULL, NULL, 17756, LOCATE_parser___ReduceAction455___init};
45494 val_t variable[2];
45495 struct WBT_ **closurevariable = NULL;
45496 trace.prev = tracehead; tracehead = &trace;
45497 trace.file = LOCATE_parser;
45498 /* Register variable[0]: Local variable */
45499 variable[0] = self;
45500 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction455].i]) return;
45501 /* Register variable[1]: Method return value and escape marker */
45502 return_label943: while(false);
45503 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction455].i] = 1;
45504 tracehead = trace.prev;
45505 return;
45506 }
45507 void parser___ReduceAction456___action(val_t self, val_t param0) {
45508 struct trace_t trace = {NULL, NULL, 17760, LOCATE_parser___ReduceAction456___action};
45509 val_t variable[13];
45510 struct WBT_ **closurevariable = NULL;
45511 trace.prev = tracehead; tracehead = &trace;
45512 trace.file = LOCATE_parser;
45513 /* Register variable[0]: Local variable */
45514 variable[0] = self;
45515 /* Register variable[1]: Local variable */
45516 variable[1] = param0;
45517 /* Register variable[2]: Method return value and escape marker */
45518 /* Register variable[3]: Local variable */
45519 variable[3] = NIT_NULL /*null*/;
45520 /* Register variable[4]: Local variable */
45521 /* Register variable[5]: Result */
45522 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45523 variable[4] = variable[5];
45524 /* Register variable[5]: Local variable */
45525 /* Register variable[6]: Result */
45526 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45527 variable[5] = variable[6];
45528 /* Register variable[6]: Local variable */
45529 /* Register variable[7]: Result */
45530 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45531 variable[6] = variable[7];
45532 /* Register variable[7]: Local variable */
45533 /* Register variable[8]: Result */
45534 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45535 variable[7] = variable[8];
45536 /* Register variable[8]: Local variable */
45537 /* Register variable[9]: Result */
45538 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45539 variable[8] = variable[9];
45540 /* Register variable[9]: Local variable */
45541 /* Register variable[10]: Result */
45542 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45543 variable[9] = variable[10];
45544 /* Register variable[10]: Local variable */
45545 variable[10] = variable[8] /*nodearraylist1*/;
45546 /* Register variable[11]: Result */
45547 variable[11] = TAG_Bool(( variable[10] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45548 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 17770); nit_exit(1);}
45549 /* Register variable[11]: Local variable */
45550 variable[11] = variable[4] /*nodearraylist5*/;
45551 /* Register variable[12]: Result */
45552 variable[12] = TAG_Bool(( variable[11] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
45553 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction456___action, LOCATE_parser, 17772); nit_exit(1);}
45554 /* Register variable[12]: Result */
45555 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::==*/)))))));
45556 if (UNTAG_Bool(variable[12])) { /*if*/
45557 /* Register variable[12]: Result */
45558 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode3*/)( variable[9] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45559 if (UNTAG_Bool(variable[12])) { /*if*/
45560 variable[9] = variable[10] /*listnode1*/ /*listnode3=*/;
45561 } else { /*if*/
45562 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, variable[10] /*listnode1*/) /*IndexedCollection::append*/;
45563 }
45564 }
45565 /* Register variable[12]: Result */
45566 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::==*/)))))));
45567 if (UNTAG_Bool(variable[12])) { /*if*/
45568 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode3*/)( variable[9] /*listnode3*/, variable[11] /*tidnode2*/) /*AbstractArray::add*/;
45569 }
45570 variable[3] = variable[9] /*listnode3*/ /*node_list=*/;
45571 /* Register variable[12]: Result */
45572 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(62)) /*Parser::go_to*/;
45573 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
45574 return_label944: while(false);
45575 tracehead = trace.prev;
45576 return;
45577 }
45578 void parser___ReduceAction456___init(val_t self, int* init_table) {
45579 struct trace_t trace = {NULL, NULL, 17786, LOCATE_parser___ReduceAction456___init};
45580 val_t variable[2];
45581 struct WBT_ **closurevariable = NULL;
45582 trace.prev = tracehead; tracehead = &trace;
45583 trace.file = LOCATE_parser;
45584 /* Register variable[0]: Local variable */
45585 variable[0] = self;
45586 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction456].i]) return;
45587 /* Register variable[1]: Method return value and escape marker */
45588 return_label945: while(false);
45589 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction456].i] = 1;
45590 tracehead = trace.prev;
45591 return;
45592 }
45593 void parser___ReduceAction457___action(val_t self, val_t param0) {
45594 struct trace_t trace = {NULL, NULL, 17790, LOCATE_parser___ReduceAction457___action};
45595 val_t variable[9];
45596 struct WBT_ **closurevariable = NULL;
45597 trace.prev = tracehead; tracehead = &trace;
45598 trace.file = LOCATE_parser;
45599 /* Register variable[0]: Local variable */
45600 variable[0] = self;
45601 /* Register variable[1]: Local variable */
45602 variable[1] = param0;
45603 /* Register variable[2]: Method return value and escape marker */
45604 /* Register variable[3]: Local variable */
45605 variable[3] = NIT_NULL /*null*/;
45606 /* Register variable[4]: Local variable */
45607 /* Register variable[5]: Result */
45608 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45609 variable[4] = variable[5];
45610 /* Register variable[5]: Local variable */
45611 /* Register variable[6]: Result */
45612 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45613 variable[5] = variable[6];
45614 /* Register variable[6]: Local variable */
45615 variable[6] = variable[4] /*nodearraylist1*/;
45616 /* Register variable[7]: Result */
45617 variable[7] = TAG_Bool(( variable[6] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
45618 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction457___action, LOCATE_parser, 17796); nit_exit(1);}
45619 /* Register variable[7]: Local variable */
45620 /* Register variable[8]: Result */
45621 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode2*/, variable[6] /*tclassidnode3*/) /*new AQualified*/;
45622 variable[7] = variable[8];
45623 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
45624 /* Register variable[8]: Result */
45625 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
45626 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
45627 return_label946: while(false);
45628 tracehead = trace.prev;
45629 return;
45630 }
45631 void parser___ReduceAction457___init(val_t self, int* init_table) {
45632 struct trace_t trace = {NULL, NULL, 17804, LOCATE_parser___ReduceAction457___init};
45633 val_t variable[2];
45634 struct WBT_ **closurevariable = NULL;
45635 trace.prev = tracehead; tracehead = &trace;
45636 trace.file = LOCATE_parser;
45637 /* Register variable[0]: Local variable */
45638 variable[0] = self;
45639 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction457].i]) return;
45640 /* Register variable[1]: Method return value and escape marker */
45641 return_label947: while(false);
45642 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction457].i] = 1;
45643 tracehead = trace.prev;
45644 return;
45645 }
45646 void parser___ReduceAction458___action(val_t self, val_t param0) {
45647 struct trace_t trace = {NULL, NULL, 17808, LOCATE_parser___ReduceAction458___action};
45648 val_t variable[11];
45649 struct WBT_ **closurevariable = NULL;
45650 trace.prev = tracehead; tracehead = &trace;
45651 trace.file = LOCATE_parser;
45652 /* Register variable[0]: Local variable */
45653 variable[0] = self;
45654 /* Register variable[1]: Local variable */
45655 variable[1] = param0;
45656 /* Register variable[2]: Method return value and escape marker */
45657 /* Register variable[3]: Local variable */
45658 variable[3] = NIT_NULL /*null*/;
45659 /* Register variable[4]: Local variable */
45660 /* Register variable[5]: Result */
45661 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45662 variable[4] = variable[5];
45663 /* Register variable[5]: Local variable */
45664 /* Register variable[6]: Result */
45665 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45666 variable[5] = variable[6];
45667 /* Register variable[6]: Local variable */
45668 /* Register variable[7]: Result */
45669 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45670 variable[6] = variable[7];
45671 /* Register variable[7]: Local variable */
45672 variable[7] = variable[5] /*nodearraylist1*/;
45673 /* Register variable[8]: Result */
45674 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45675 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 17815); nit_exit(1);}
45676 /* Register variable[8]: Result */
45677 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::==*/)))))));
45678 if (UNTAG_Bool(variable[8])) { /*if*/
45679 /* Register variable[8]: Result */
45680 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45681 if (UNTAG_Bool(variable[8])) { /*if*/
45682 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
45683 } else { /*if*/
45684 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
45685 }
45686 }
45687 /* Register variable[8]: Local variable */
45688 variable[8] = variable[4] /*nodearraylist2*/;
45689 /* Register variable[9]: Result */
45690 variable[9] = TAG_Bool(( variable[8] /*tclassidnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tclassidnode4*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
45691 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction458___action, LOCATE_parser, 17824); nit_exit(1);}
45692 /* Register variable[9]: Local variable */
45693 /* Register variable[10]: Result */
45694 variable[10] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[6] /*listnode3*/, variable[8] /*tclassidnode4*/) /*new AQualified*/;
45695 variable[9] = variable[10];
45696 variable[3] = variable[9] /*pqualifiednode1*/ /*node_list=*/;
45697 /* Register variable[10]: Result */
45698 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
45699 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
45700 return_label948: while(false);
45701 tracehead = trace.prev;
45702 return;
45703 }
45704 void parser___ReduceAction458___init(val_t self, int* init_table) {
45705 struct trace_t trace = {NULL, NULL, 17832, LOCATE_parser___ReduceAction458___init};
45706 val_t variable[2];
45707 struct WBT_ **closurevariable = NULL;
45708 trace.prev = tracehead; tracehead = &trace;
45709 trace.file = LOCATE_parser;
45710 /* Register variable[0]: Local variable */
45711 variable[0] = self;
45712 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction458].i]) return;
45713 /* Register variable[1]: Method return value and escape marker */
45714 return_label949: while(false);
45715 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction458].i] = 1;
45716 tracehead = trace.prev;
45717 return;
45718 }
45719 void parser___ReduceAction459___action(val_t self, val_t param0) {
45720 struct trace_t trace = {NULL, NULL, 17836, LOCATE_parser___ReduceAction459___action};
45721 val_t variable[9];
45722 struct WBT_ **closurevariable = NULL;
45723 trace.prev = tracehead; tracehead = &trace;
45724 trace.file = LOCATE_parser;
45725 /* Register variable[0]: Local variable */
45726 variable[0] = self;
45727 /* Register variable[1]: Local variable */
45728 variable[1] = param0;
45729 /* Register variable[2]: Method return value and escape marker */
45730 /* Register variable[3]: Local variable */
45731 variable[3] = NIT_NULL /*null*/;
45732 /* Register variable[4]: Local variable */
45733 /* Register variable[5]: Result */
45734 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45735 variable[4] = variable[5];
45736 /* Register variable[5]: Local variable */
45737 /* Register variable[6]: Result */
45738 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45739 variable[5] = variable[6];
45740 /* Register variable[6]: Local variable */
45741 variable[6] = variable[4] /*nodearraylist1*/;
45742 /* Register variable[7]: Result */
45743 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45744 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction459___action, LOCATE_parser, 17842); nit_exit(1);}
45745 /* Register variable[7]: Result */
45746 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::==*/)))))));
45747 if (UNTAG_Bool(variable[7])) { /*if*/
45748 /* Register variable[7]: Result */
45749 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45750 if (UNTAG_Bool(variable[7])) { /*if*/
45751 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
45752 } else { /*if*/
45753 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
45754 }
45755 }
45756 /* Register variable[7]: Local variable */
45757 /* Register variable[8]: Result */
45758 variable[8] = NEW_AQualified_parser_prod___AQualified___init_aqualified( variable[5] /*listnode3*/, NIT_NULL /*null*/) /*new AQualified*/;
45759 variable[7] = variable[8];
45760 variable[3] = variable[7] /*pqualifiednode1*/ /*node_list=*/;
45761 /* Register variable[8]: Result */
45762 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(63)) /*Parser::go_to*/;
45763 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
45764 return_label950: while(false);
45765 tracehead = trace.prev;
45766 return;
45767 }
45768 void parser___ReduceAction459___init(val_t self, int* init_table) {
45769 struct trace_t trace = {NULL, NULL, 17857, LOCATE_parser___ReduceAction459___init};
45770 val_t variable[2];
45771 struct WBT_ **closurevariable = NULL;
45772 trace.prev = tracehead; tracehead = &trace;
45773 trace.file = LOCATE_parser;
45774 /* Register variable[0]: Local variable */
45775 variable[0] = self;
45776 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction459].i]) return;
45777 /* Register variable[1]: Method return value and escape marker */
45778 return_label951: while(false);
45779 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction459].i] = 1;
45780 tracehead = trace.prev;
45781 return;
45782 }
45783 void parser___ReduceAction460___action(val_t self, val_t param0) {
45784 struct trace_t trace = {NULL, NULL, 17861, LOCATE_parser___ReduceAction460___action};
45785 val_t variable[9];
45786 struct WBT_ **closurevariable = NULL;
45787 trace.prev = tracehead; tracehead = &trace;
45788 trace.file = LOCATE_parser;
45789 /* Register variable[0]: Local variable */
45790 variable[0] = self;
45791 /* Register variable[1]: Local variable */
45792 variable[1] = param0;
45793 /* Register variable[2]: Method return value and escape marker */
45794 /* Register variable[3]: Local variable */
45795 variable[3] = NIT_NULL /*null*/;
45796 /* Register variable[4]: Local variable */
45797 /* Register variable[5]: Result */
45798 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45799 variable[4] = variable[5];
45800 /* Register variable[5]: Local variable */
45801 /* Register variable[6]: Result */
45802 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45803 variable[5] = variable[6];
45804 /* Register variable[6]: Local variable */
45805 /* Register variable[7]: Result */
45806 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45807 variable[6] = variable[7];
45808 /* Register variable[7]: Local variable */
45809 variable[7] = variable[6] /*nodearraylist1*/;
45810 /* Register variable[8]: Result */
45811 variable[8] = TAG_Bool(( variable[7] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
45812 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction460___action, LOCATE_parser, 17868); nit_exit(1);}
45813 variable[3] = variable[7] /*tidnode1*/ /*node_list=*/;
45814 /* Register variable[8]: Result */
45815 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(64)) /*Parser::go_to*/;
45816 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
45817 return_label952: while(false);
45818 tracehead = trace.prev;
45819 return;
45820 }
45821 void parser___ReduceAction460___init(val_t self, int* init_table) {
45822 struct trace_t trace = {NULL, NULL, 17872, LOCATE_parser___ReduceAction460___init};
45823 val_t variable[2];
45824 struct WBT_ **closurevariable = NULL;
45825 trace.prev = tracehead; tracehead = &trace;
45826 trace.file = LOCATE_parser;
45827 /* Register variable[0]: Local variable */
45828 variable[0] = self;
45829 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction460].i]) return;
45830 /* Register variable[1]: Method return value and escape marker */
45831 return_label953: while(false);
45832 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction460].i] = 1;
45833 tracehead = trace.prev;
45834 return;
45835 }
45836 void parser___ReduceAction461___action(val_t self, val_t param0) {
45837 struct trace_t trace = {NULL, NULL, 17876, LOCATE_parser___ReduceAction461___action};
45838 val_t variable[9];
45839 struct WBT_ **closurevariable = NULL;
45840 trace.prev = tracehead; tracehead = &trace;
45841 trace.file = LOCATE_parser;
45842 /* Register variable[0]: Local variable */
45843 variable[0] = self;
45844 /* Register variable[1]: Local variable */
45845 variable[1] = param0;
45846 /* Register variable[2]: Method return value and escape marker */
45847 /* Register variable[3]: Local variable */
45848 variable[3] = NIT_NULL /*null*/;
45849 /* Register variable[4]: Local variable */
45850 /* Register variable[5]: Result */
45851 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45852 variable[4] = variable[5];
45853 /* Register variable[5]: Local variable */
45854 /* Register variable[6]: Result */
45855 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45856 variable[5] = variable[6];
45857 /* Register variable[6]: Local variable */
45858 /* Register variable[7]: Result */
45859 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45860 variable[6] = variable[7];
45861 /* Register variable[7]: Local variable */
45862 variable[7] = variable[6] /*nodearraylist1*/;
45863 /* Register variable[8]: Result */
45864 variable[8] = TAG_Bool(( variable[7] /*tclassidnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*tclassidnode1*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
45865 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction461___action, LOCATE_parser, 17883); nit_exit(1);}
45866 variable[3] = variable[7] /*tclassidnode1*/ /*node_list=*/;
45867 /* Register variable[8]: Result */
45868 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(65)) /*Parser::go_to*/;
45869 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
45870 return_label954: while(false);
45871 tracehead = trace.prev;
45872 return;
45873 }
45874 void parser___ReduceAction461___init(val_t self, int* init_table) {
45875 struct trace_t trace = {NULL, NULL, 17887, LOCATE_parser___ReduceAction461___init};
45876 val_t variable[2];
45877 struct WBT_ **closurevariable = NULL;
45878 trace.prev = tracehead; tracehead = &trace;
45879 trace.file = LOCATE_parser;
45880 /* Register variable[0]: Local variable */
45881 variable[0] = self;
45882 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction461].i]) return;
45883 /* Register variable[1]: Method return value and escape marker */
45884 return_label955: while(false);
45885 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction461].i] = 1;
45886 tracehead = trace.prev;
45887 return;
45888 }
45889 void parser___ReduceAction462___action(val_t self, val_t param0) {
45890 struct trace_t trace = {NULL, NULL, 17891, LOCATE_parser___ReduceAction462___action};
45891 val_t variable[6];
45892 struct WBT_ **closurevariable = NULL;
45893 trace.prev = tracehead; tracehead = &trace;
45894 trace.file = LOCATE_parser;
45895 /* Register variable[0]: Local variable */
45896 variable[0] = self;
45897 /* Register variable[1]: Local variable */
45898 variable[1] = param0;
45899 /* Register variable[2]: Method return value and escape marker */
45900 /* Register variable[3]: Local variable */
45901 variable[3] = NIT_NULL /*null*/;
45902 /* Register variable[4]: Local variable */
45903 /* Register variable[5]: Result */
45904 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45905 variable[4] = variable[5];
45906 /* Register variable[5]: Result */
45907 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
45908 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
45909 return_label956: while(false);
45910 tracehead = trace.prev;
45911 return;
45912 }
45913 void parser___ReduceAction462___init(val_t self, int* init_table) {
45914 struct trace_t trace = {NULL, NULL, 17897, LOCATE_parser___ReduceAction462___init};
45915 val_t variable[2];
45916 struct WBT_ **closurevariable = NULL;
45917 trace.prev = tracehead; tracehead = &trace;
45918 trace.file = LOCATE_parser;
45919 /* Register variable[0]: Local variable */
45920 variable[0] = self;
45921 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction462].i]) return;
45922 /* Register variable[1]: Method return value and escape marker */
45923 return_label957: while(false);
45924 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction462].i] = 1;
45925 tracehead = trace.prev;
45926 return;
45927 }
45928 void parser___ReduceAction463___action(val_t self, val_t param0) {
45929 struct trace_t trace = {NULL, NULL, 17901, LOCATE_parser___ReduceAction463___action};
45930 val_t variable[6];
45931 struct WBT_ **closurevariable = NULL;
45932 trace.prev = tracehead; tracehead = &trace;
45933 trace.file = LOCATE_parser;
45934 /* Register variable[0]: Local variable */
45935 variable[0] = self;
45936 /* Register variable[1]: Local variable */
45937 variable[1] = param0;
45938 /* Register variable[2]: Method return value and escape marker */
45939 /* Register variable[3]: Local variable */
45940 variable[3] = NIT_NULL /*null*/;
45941 /* Register variable[4]: Local variable */
45942 /* Register variable[5]: Result */
45943 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45944 variable[4] = variable[5];
45945 /* Register variable[5]: Result */
45946 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(66)) /*Parser::go_to*/;
45947 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
45948 return_label958: while(false);
45949 tracehead = trace.prev;
45950 return;
45951 }
45952 void parser___ReduceAction463___init(val_t self, int* init_table) {
45953 struct trace_t trace = {NULL, NULL, 17907, LOCATE_parser___ReduceAction463___init};
45954 val_t variable[2];
45955 struct WBT_ **closurevariable = NULL;
45956 trace.prev = tracehead; tracehead = &trace;
45957 trace.file = LOCATE_parser;
45958 /* Register variable[0]: Local variable */
45959 variable[0] = self;
45960 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction463].i]) return;
45961 /* Register variable[1]: Method return value and escape marker */
45962 return_label959: while(false);
45963 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction463].i] = 1;
45964 tracehead = trace.prev;
45965 return;
45966 }
45967 void parser___ReduceAction464___action(val_t self, val_t param0) {
45968 struct trace_t trace = {NULL, NULL, 17911, LOCATE_parser___ReduceAction464___action};
45969 val_t variable[9];
45970 struct WBT_ **closurevariable = NULL;
45971 trace.prev = tracehead; tracehead = &trace;
45972 trace.file = LOCATE_parser;
45973 /* Register variable[0]: Local variable */
45974 variable[0] = self;
45975 /* Register variable[1]: Local variable */
45976 variable[1] = param0;
45977 /* Register variable[2]: Method return value and escape marker */
45978 /* Register variable[3]: Local variable */
45979 variable[3] = NIT_NULL /*null*/;
45980 /* Register variable[4]: Local variable */
45981 /* Register variable[5]: Result */
45982 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
45983 variable[4] = variable[5];
45984 /* Register variable[5]: Local variable */
45985 /* Register variable[6]: Result */
45986 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
45987 variable[5] = variable[6];
45988 /* Register variable[6]: Local variable */
45989 variable[6] = variable[4] /*nodearraylist1*/;
45990 /* Register variable[7]: Result */
45991 variable[7] = TAG_Bool(( variable[6] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
45992 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction464___action, LOCATE_parser, 17917); nit_exit(1);}
45993 /* Register variable[7]: Result */
45994 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::==*/)))))));
45995 if (UNTAG_Bool(variable[7])) { /*if*/
45996 /* Register variable[7]: Result */
45997 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode3*/)( variable[5] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
45998 if (UNTAG_Bool(variable[7])) { /*if*/
45999 variable[5] = variable[6] /*listnode2*/ /*listnode3=*/;
46000 } else { /*if*/
46001 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode3*/)( variable[5] /*listnode3*/, variable[6] /*listnode2*/) /*IndexedCollection::append*/;
46002 }
46003 }
46004 /* Register variable[7]: Local variable */
46005 /* Register variable[8]: Result */
46006 variable[8] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[5] /*listnode3*/) /*new ADoc*/;
46007 variable[7] = variable[8];
46008 variable[3] = variable[7] /*pdocnode1*/ /*node_list=*/;
46009 /* Register variable[8]: Result */
46010 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
46011 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
46012 return_label960: while(false);
46013 tracehead = trace.prev;
46014 return;
46015 }
46016 void parser___ReduceAction464___init(val_t self, int* init_table) {
46017 struct trace_t trace = {NULL, NULL, 17931, LOCATE_parser___ReduceAction464___init};
46018 val_t variable[2];
46019 struct WBT_ **closurevariable = NULL;
46020 trace.prev = tracehead; tracehead = &trace;
46021 trace.file = LOCATE_parser;
46022 /* Register variable[0]: Local variable */
46023 variable[0] = self;
46024 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction464].i]) return;
46025 /* Register variable[1]: Method return value and escape marker */
46026 return_label961: while(false);
46027 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction464].i] = 1;
46028 tracehead = trace.prev;
46029 return;
46030 }
46031 void parser___ReduceAction465___action(val_t self, val_t param0) {
46032 struct trace_t trace = {NULL, NULL, 17935, LOCATE_parser___ReduceAction465___action};
46033 val_t variable[10];
46034 struct WBT_ **closurevariable = NULL;
46035 trace.prev = tracehead; tracehead = &trace;
46036 trace.file = LOCATE_parser;
46037 /* Register variable[0]: Local variable */
46038 variable[0] = self;
46039 /* Register variable[1]: Local variable */
46040 variable[1] = param0;
46041 /* Register variable[2]: Method return value and escape marker */
46042 /* Register variable[3]: Local variable */
46043 variable[3] = NIT_NULL /*null*/;
46044 /* Register variable[4]: Local variable */
46045 /* Register variable[5]: Result */
46046 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46047 variable[4] = variable[5];
46048 /* Register variable[5]: Local variable */
46049 /* Register variable[6]: Result */
46050 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46051 variable[5] = variable[6];
46052 /* Register variable[6]: Local variable */
46053 /* Register variable[7]: Result */
46054 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
46055 variable[6] = variable[7];
46056 /* Register variable[7]: Local variable */
46057 variable[7] = variable[4] /*nodearraylist2*/;
46058 /* Register variable[8]: Result */
46059 variable[8] = TAG_Bool(( variable[7] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
46060 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction465___action, LOCATE_parser, 17942); nit_exit(1);}
46061 /* Register variable[8]: Result */
46062 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::==*/)))))));
46063 if (UNTAG_Bool(variable[8])) { /*if*/
46064 /* Register variable[8]: Result */
46065 variable[8] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
46066 if (UNTAG_Bool(variable[8])) { /*if*/
46067 variable[6] = variable[7] /*listnode2*/ /*listnode3=*/;
46068 } else { /*if*/
46069 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode2*/) /*IndexedCollection::append*/;
46070 }
46071 }
46072 /* Register variable[8]: Local variable */
46073 /* Register variable[9]: Result */
46074 variable[9] = NEW_ADoc_parser_prod___ADoc___init_adoc( variable[6] /*listnode3*/) /*new ADoc*/;
46075 variable[8] = variable[9];
46076 variable[3] = variable[8] /*pdocnode1*/ /*node_list=*/;
46077 /* Register variable[9]: Result */
46078 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
46079 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
46080 return_label962: while(false);
46081 tracehead = trace.prev;
46082 return;
46083 }
46084 void parser___ReduceAction465___init(val_t self, int* init_table) {
46085 struct trace_t trace = {NULL, NULL, 17956, LOCATE_parser___ReduceAction465___init};
46086 val_t variable[2];
46087 struct WBT_ **closurevariable = NULL;
46088 trace.prev = tracehead; tracehead = &trace;
46089 trace.file = LOCATE_parser;
46090 /* Register variable[0]: Local variable */
46091 variable[0] = self;
46092 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction465].i]) return;
46093 /* Register variable[1]: Method return value and escape marker */
46094 return_label963: while(false);
46095 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction465].i] = 1;
46096 tracehead = trace.prev;
46097 return;
46098 }
46099 void parser___ReduceAction466___action(val_t self, val_t param0) {
46100 struct trace_t trace = {NULL, NULL, 17960, LOCATE_parser___ReduceAction466___action};
46101 val_t variable[6];
46102 struct WBT_ **closurevariable = NULL;
46103 trace.prev = tracehead; tracehead = &trace;
46104 trace.file = LOCATE_parser;
46105 /* Register variable[0]: Local variable */
46106 variable[0] = self;
46107 /* Register variable[1]: Local variable */
46108 variable[1] = param0;
46109 /* Register variable[2]: Method return value and escape marker */
46110 /* Register variable[3]: Local variable */
46111 variable[3] = NIT_NULL /*null*/;
46112 /* Register variable[4]: Local variable */
46113 /* Register variable[5]: Result */
46114 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46115 variable[4] = variable[5];
46116 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
46117 /* Register variable[5]: Result */
46118 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(67)) /*Parser::go_to*/;
46119 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
46120 return_label964: while(false);
46121 tracehead = trace.prev;
46122 return;
46123 }
46124 void parser___ReduceAction466___init(val_t self, int* init_table) {
46125 struct trace_t trace = {NULL, NULL, 17967, LOCATE_parser___ReduceAction466___init};
46126 val_t variable[2];
46127 struct WBT_ **closurevariable = NULL;
46128 trace.prev = tracehead; tracehead = &trace;
46129 trace.file = LOCATE_parser;
46130 /* Register variable[0]: Local variable */
46131 variable[0] = self;
46132 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction466].i]) return;
46133 /* Register variable[1]: Method return value and escape marker */
46134 return_label965: while(false);
46135 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction466].i] = 1;
46136 tracehead = trace.prev;
46137 return;
46138 }
46139 void parser___ReduceAction467___action(val_t self, val_t param0) {
46140 struct trace_t trace = {NULL, NULL, 17971, LOCATE_parser___ReduceAction467___action};
46141 val_t variable[5];
46142 struct WBT_ **closurevariable = NULL;
46143 trace.prev = tracehead; tracehead = &trace;
46144 trace.file = LOCATE_parser;
46145 /* Register variable[0]: Local variable */
46146 variable[0] = self;
46147 /* Register variable[1]: Local variable */
46148 variable[1] = param0;
46149 /* Register variable[2]: Method return value and escape marker */
46150 /* Register variable[3]: Local variable */
46151 variable[3] = NIT_NULL /*null*/;
46152 variable[3] = NIT_NULL /*null*/ /*node_list=*/;
46153 /* Register variable[4]: Result */
46154 variable[4] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
46155 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[4], variable[3] /*node_list*/) /*Parser::push*/;
46156 return_label966: while(false);
46157 tracehead = trace.prev;
46158 return;
46159 }
46160 void parser___ReduceAction467___init(val_t self, int* init_table) {
46161 struct trace_t trace = {NULL, NULL, 17977, LOCATE_parser___ReduceAction467___init};
46162 val_t variable[2];
46163 struct WBT_ **closurevariable = NULL;
46164 trace.prev = tracehead; tracehead = &trace;
46165 trace.file = LOCATE_parser;
46166 /* Register variable[0]: Local variable */
46167 variable[0] = self;
46168 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction467].i]) return;
46169 /* Register variable[1]: Method return value and escape marker */
46170 return_label967: while(false);
46171 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction467].i] = 1;
46172 tracehead = trace.prev;
46173 return;
46174 }
46175 void parser___ReduceAction468___action(val_t self, val_t param0) {
46176 struct trace_t trace = {NULL, NULL, 17981, LOCATE_parser___ReduceAction468___action};
46177 val_t variable[7];
46178 struct WBT_ **closurevariable = NULL;
46179 trace.prev = tracehead; tracehead = &trace;
46180 trace.file = LOCATE_parser;
46181 /* Register variable[0]: Local variable */
46182 variable[0] = self;
46183 /* Register variable[1]: Local variable */
46184 variable[1] = param0;
46185 /* Register variable[2]: Method return value and escape marker */
46186 /* Register variable[3]: Local variable */
46187 variable[3] = NIT_NULL /*null*/;
46188 /* Register variable[4]: Local variable */
46189 /* Register variable[5]: Result */
46190 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46191 variable[4] = variable[5];
46192 /* Register variable[5]: Local variable */
46193 variable[5] = variable[4] /*nodearraylist1*/;
46194 /* Register variable[6]: Result */
46195 variable[6] = TAG_Bool(( variable[5] /*pdocnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pdocnode1*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46196 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction468___action, LOCATE_parser, 17986); nit_exit(1);}
46197 variable[3] = variable[5] /*pdocnode1*/ /*node_list=*/;
46198 /* Register variable[6]: Result */
46199 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(68)) /*Parser::go_to*/;
46200 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46201 return_label968: while(false);
46202 tracehead = trace.prev;
46203 return;
46204 }
46205 void parser___ReduceAction468___init(val_t self, int* init_table) {
46206 struct trace_t trace = {NULL, NULL, 17990, LOCATE_parser___ReduceAction468___init};
46207 val_t variable[2];
46208 struct WBT_ **closurevariable = NULL;
46209 trace.prev = tracehead; tracehead = &trace;
46210 trace.file = LOCATE_parser;
46211 /* Register variable[0]: Local variable */
46212 variable[0] = self;
46213 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction468].i]) return;
46214 /* Register variable[1]: Method return value and escape marker */
46215 return_label969: while(false);
46216 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction468].i] = 1;
46217 tracehead = trace.prev;
46218 return;
46219 }
46220 void parser___ReduceAction469___action(val_t self, val_t param0) {
46221 struct trace_t trace = {NULL, NULL, 17994, LOCATE_parser___ReduceAction469___action};
46222 val_t variable[7];
46223 struct WBT_ **closurevariable = NULL;
46224 trace.prev = tracehead; tracehead = &trace;
46225 trace.file = LOCATE_parser;
46226 /* Register variable[0]: Local variable */
46227 variable[0] = self;
46228 /* Register variable[1]: Local variable */
46229 variable[1] = param0;
46230 /* Register variable[2]: Method return value and escape marker */
46231 /* Register variable[3]: Local variable */
46232 variable[3] = NIT_NULL /*null*/;
46233 /* Register variable[4]: Local variable */
46234 /* Register variable[5]: Result */
46235 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46236 variable[4] = variable[5];
46237 /* Register variable[5]: Local variable */
46238 /* Register variable[6]: Result */
46239 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46240 variable[5] = variable[6];
46241 /* Register variable[6]: Result */
46242 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
46243 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
46244 return_label970: while(false);
46245 tracehead = trace.prev;
46246 return;
46247 }
46248 void parser___ReduceAction469___init(val_t self, int* init_table) {
46249 struct trace_t trace = {NULL, NULL, 18001, LOCATE_parser___ReduceAction469___init};
46250 val_t variable[2];
46251 struct WBT_ **closurevariable = NULL;
46252 trace.prev = tracehead; tracehead = &trace;
46253 trace.file = LOCATE_parser;
46254 /* Register variable[0]: Local variable */
46255 variable[0] = self;
46256 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction469].i]) return;
46257 /* Register variable[1]: Method return value and escape marker */
46258 return_label971: while(false);
46259 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction469].i] = 1;
46260 tracehead = trace.prev;
46261 return;
46262 }
46263 void parser___ReduceAction470___action(val_t self, val_t param0) {
46264 struct trace_t trace = {NULL, NULL, 18005, LOCATE_parser___ReduceAction470___action};
46265 val_t variable[8];
46266 struct WBT_ **closurevariable = NULL;
46267 trace.prev = tracehead; tracehead = &trace;
46268 trace.file = LOCATE_parser;
46269 /* Register variable[0]: Local variable */
46270 variable[0] = self;
46271 /* Register variable[1]: Local variable */
46272 variable[1] = param0;
46273 /* Register variable[2]: Method return value and escape marker */
46274 /* Register variable[3]: Local variable */
46275 variable[3] = NIT_NULL /*null*/;
46276 /* Register variable[4]: Local variable */
46277 /* Register variable[5]: Result */
46278 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46279 variable[4] = variable[5];
46280 /* Register variable[5]: Local variable */
46281 /* Register variable[6]: Result */
46282 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46283 variable[5] = variable[6];
46284 /* Register variable[6]: Local variable */
46285 /* Register variable[7]: Result */
46286 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46287 variable[6] = variable[7];
46288 /* Register variable[7]: Result */
46289 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
46290 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
46291 return_label972: while(false);
46292 tracehead = trace.prev;
46293 return;
46294 }
46295 void parser___ReduceAction470___init(val_t self, int* init_table) {
46296 struct trace_t trace = {NULL, NULL, 18013, LOCATE_parser___ReduceAction470___init};
46297 val_t variable[2];
46298 struct WBT_ **closurevariable = NULL;
46299 trace.prev = tracehead; tracehead = &trace;
46300 trace.file = LOCATE_parser;
46301 /* Register variable[0]: Local variable */
46302 variable[0] = self;
46303 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction470].i]) return;
46304 /* Register variable[1]: Method return value and escape marker */
46305 return_label973: while(false);
46306 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction470].i] = 1;
46307 tracehead = trace.prev;
46308 return;
46309 }
46310 void parser___ReduceAction471___action(val_t self, val_t param0) {
46311 struct trace_t trace = {NULL, NULL, 18017, LOCATE_parser___ReduceAction471___action};
46312 val_t variable[6];
46313 struct WBT_ **closurevariable = NULL;
46314 trace.prev = tracehead; tracehead = &trace;
46315 trace.file = LOCATE_parser;
46316 /* Register variable[0]: Local variable */
46317 variable[0] = self;
46318 /* Register variable[1]: Local variable */
46319 variable[1] = param0;
46320 /* Register variable[2]: Method return value and escape marker */
46321 /* Register variable[3]: Local variable */
46322 variable[3] = NIT_NULL /*null*/;
46323 /* Register variable[4]: Local variable */
46324 /* Register variable[5]: Result */
46325 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46326 variable[4] = variable[5];
46327 /* Register variable[5]: Result */
46328 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(69)) /*Parser::go_to*/;
46329 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
46330 return_label974: while(false);
46331 tracehead = trace.prev;
46332 return;
46333 }
46334 void parser___ReduceAction471___init(val_t self, int* init_table) {
46335 struct trace_t trace = {NULL, NULL, 18023, LOCATE_parser___ReduceAction471___init};
46336 val_t variable[2];
46337 struct WBT_ **closurevariable = NULL;
46338 trace.prev = tracehead; tracehead = &trace;
46339 trace.file = LOCATE_parser;
46340 /* Register variable[0]: Local variable */
46341 variable[0] = self;
46342 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction471].i]) return;
46343 /* Register variable[1]: Method return value and escape marker */
46344 return_label975: while(false);
46345 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction471].i] = 1;
46346 tracehead = trace.prev;
46347 return;
46348 }
46349 void parser___ReduceAction472___action(val_t self, val_t param0) {
46350 struct trace_t trace = {NULL, NULL, 18027, LOCATE_parser___ReduceAction472___action};
46351 val_t variable[8];
46352 struct WBT_ **closurevariable = NULL;
46353 trace.prev = tracehead; tracehead = &trace;
46354 trace.file = LOCATE_parser;
46355 /* Register variable[0]: Local variable */
46356 variable[0] = self;
46357 /* Register variable[1]: Local variable */
46358 variable[1] = param0;
46359 /* Register variable[2]: Method return value and escape marker */
46360 /* Register variable[3]: Local variable */
46361 variable[3] = NIT_NULL /*null*/;
46362 /* Register variable[4]: Local variable */
46363 /* Register variable[5]: Result */
46364 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46365 variable[4] = variable[5];
46366 /* Register variable[5]: Local variable */
46367 /* Register variable[6]: Result */
46368 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46369 variable[5] = variable[6];
46370 /* Register variable[6]: Local variable */
46371 variable[6] = variable[5] /*nodearraylist1*/;
46372 /* Register variable[7]: Result */
46373 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
46374 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction472___action, LOCATE_parser, 18033); nit_exit(1);}
46375 variable[3] = variable[6] /*ppropdefnode1*/ /*node_list=*/;
46376 /* Register variable[7]: Result */
46377 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(70)) /*Parser::go_to*/;
46378 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
46379 return_label976: while(false);
46380 tracehead = trace.prev;
46381 return;
46382 }
46383 void parser___ReduceAction472___init(val_t self, int* init_table) {
46384 struct trace_t trace = {NULL, NULL, 18037, LOCATE_parser___ReduceAction472___init};
46385 val_t variable[2];
46386 struct WBT_ **closurevariable = NULL;
46387 trace.prev = tracehead; tracehead = &trace;
46388 trace.file = LOCATE_parser;
46389 /* Register variable[0]: Local variable */
46390 variable[0] = self;
46391 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction472].i]) return;
46392 /* Register variable[1]: Method return value and escape marker */
46393 return_label977: while(false);
46394 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction472].i] = 1;
46395 tracehead = trace.prev;
46396 return;
46397 }
46398 void parser___ReduceAction473___action(val_t self, val_t param0) {
46399 struct trace_t trace = {NULL, NULL, 18041, LOCATE_parser___ReduceAction473___action};
46400 val_t variable[19];
46401 struct WBT_ **closurevariable = NULL;
46402 trace.prev = tracehead; tracehead = &trace;
46403 trace.file = LOCATE_parser;
46404 /* Register variable[0]: Local variable */
46405 variable[0] = self;
46406 /* Register variable[1]: Local variable */
46407 variable[1] = param0;
46408 /* Register variable[2]: Method return value and escape marker */
46409 /* Register variable[3]: Local variable */
46410 variable[3] = NIT_NULL /*null*/;
46411 /* Register variable[4]: Local variable */
46412 /* Register variable[5]: Result */
46413 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46414 variable[4] = variable[5];
46415 /* Register variable[5]: Local variable */
46416 /* Register variable[6]: Result */
46417 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46418 variable[5] = variable[6];
46419 /* Register variable[6]: Local variable */
46420 /* Register variable[7]: Result */
46421 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46422 variable[6] = variable[7];
46423 /* Register variable[7]: Local variable */
46424 /* Register variable[8]: Result */
46425 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46426 variable[7] = variable[8];
46427 /* Register variable[8]: Local variable */
46428 /* Register variable[9]: Result */
46429 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46430 variable[8] = variable[9];
46431 /* Register variable[9]: Local variable */
46432 /* Register variable[10]: Result */
46433 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46434 variable[9] = variable[10];
46435 /* Register variable[10]: Local variable */
46436 /* Register variable[11]: Result */
46437 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46438 variable[10] = variable[11];
46439 /* Register variable[11]: Local variable */
46440 variable[11] = variable[10] /*nodearraylist1*/;
46441 /* Register variable[12]: Result */
46442 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46443 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18052); nit_exit(1);}
46444 /* Register variable[12]: Local variable */
46445 variable[12] = variable[9] /*nodearraylist2*/;
46446 /* Register variable[13]: Result */
46447 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46448 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18054); nit_exit(1);}
46449 /* Register variable[13]: Local variable */
46450 variable[13] = variable[8] /*nodearraylist3*/;
46451 /* Register variable[14]: Result */
46452 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46453 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18056); nit_exit(1);}
46454 /* Register variable[14]: Local variable */
46455 variable[14] = variable[7] /*nodearraylist4*/;
46456 /* Register variable[15]: Result */
46457 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46458 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18058); nit_exit(1);}
46459 /* Register variable[15]: Local variable */
46460 variable[15] = variable[6] /*nodearraylist5*/;
46461 /* Register variable[16]: Result */
46462 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46463 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18060); nit_exit(1);}
46464 /* Register variable[16]: Local variable */
46465 variable[16] = variable[4] /*nodearraylist7*/;
46466 /* Register variable[17]: Result */
46467 variable[17] = TAG_Bool(( variable[16] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46468 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction473___action, LOCATE_parser, 18062); nit_exit(1);}
46469 /* Register variable[17]: Local variable */
46470 /* Register variable[18]: Result */
46471 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*/;
46472 variable[17] = variable[18];
46473 variable[3] = variable[17] /*ppropdefnode1*/ /*node_list=*/;
46474 /* Register variable[18]: Result */
46475 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46476 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
46477 return_label978: while(false);
46478 tracehead = trace.prev;
46479 return;
46480 }
46481 void parser___ReduceAction473___init(val_t self, int* init_table) {
46482 struct trace_t trace = {NULL, NULL, 18075, LOCATE_parser___ReduceAction473___init};
46483 val_t variable[2];
46484 struct WBT_ **closurevariable = NULL;
46485 trace.prev = tracehead; tracehead = &trace;
46486 trace.file = LOCATE_parser;
46487 /* Register variable[0]: Local variable */
46488 variable[0] = self;
46489 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction473].i]) return;
46490 /* Register variable[1]: Method return value and escape marker */
46491 return_label979: while(false);
46492 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction473].i] = 1;
46493 tracehead = trace.prev;
46494 return;
46495 }
46496 void parser___ReduceAction474___action(val_t self, val_t param0) {
46497 struct trace_t trace = {NULL, NULL, 18079, LOCATE_parser___ReduceAction474___action};
46498 val_t variable[21];
46499 struct WBT_ **closurevariable = NULL;
46500 trace.prev = tracehead; tracehead = &trace;
46501 trace.file = LOCATE_parser;
46502 /* Register variable[0]: Local variable */
46503 variable[0] = self;
46504 /* Register variable[1]: Local variable */
46505 variable[1] = param0;
46506 /* Register variable[2]: Method return value and escape marker */
46507 /* Register variable[3]: Local variable */
46508 variable[3] = NIT_NULL /*null*/;
46509 /* Register variable[4]: Local variable */
46510 /* Register variable[5]: Result */
46511 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46512 variable[4] = variable[5];
46513 /* Register variable[5]: Local variable */
46514 /* Register variable[6]: Result */
46515 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46516 variable[5] = variable[6];
46517 /* Register variable[6]: Local variable */
46518 /* Register variable[7]: Result */
46519 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46520 variable[6] = variable[7];
46521 /* Register variable[7]: Local variable */
46522 /* Register variable[8]: Result */
46523 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46524 variable[7] = variable[8];
46525 /* Register variable[8]: Local variable */
46526 /* Register variable[9]: Result */
46527 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46528 variable[8] = variable[9];
46529 /* Register variable[9]: Local variable */
46530 /* Register variable[10]: Result */
46531 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46532 variable[9] = variable[10];
46533 /* Register variable[10]: Local variable */
46534 /* Register variable[11]: Result */
46535 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46536 variable[10] = variable[11];
46537 /* Register variable[11]: Local variable */
46538 /* Register variable[12]: Result */
46539 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46540 variable[11] = variable[12];
46541 /* Register variable[12]: Local variable */
46542 variable[12] = variable[11] /*nodearraylist1*/;
46543 /* Register variable[13]: Result */
46544 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46545 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18091); nit_exit(1);}
46546 /* Register variable[13]: Local variable */
46547 variable[13] = variable[10] /*nodearraylist2*/;
46548 /* Register variable[14]: Result */
46549 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
46550 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18093); nit_exit(1);}
46551 /* Register variable[14]: Local variable */
46552 variable[14] = variable[9] /*nodearraylist3*/;
46553 /* Register variable[15]: Result */
46554 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46555 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18095); nit_exit(1);}
46556 /* Register variable[15]: Local variable */
46557 variable[15] = variable[8] /*nodearraylist4*/;
46558 /* Register variable[16]: Result */
46559 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46560 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18097); nit_exit(1);}
46561 /* Register variable[16]: Local variable */
46562 variable[16] = variable[7] /*nodearraylist5*/;
46563 /* Register variable[17]: Result */
46564 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46565 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18099); nit_exit(1);}
46566 /* Register variable[17]: Local variable */
46567 variable[17] = variable[6] /*nodearraylist6*/;
46568 /* Register variable[18]: Result */
46569 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46570 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18101); nit_exit(1);}
46571 /* Register variable[18]: Local variable */
46572 variable[18] = variable[4] /*nodearraylist8*/;
46573 /* Register variable[19]: Result */
46574 variable[19] = TAG_Bool(( variable[18] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46575 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction474___action, LOCATE_parser, 18103); nit_exit(1);}
46576 /* Register variable[19]: Local variable */
46577 /* Register variable[20]: Result */
46578 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*/;
46579 variable[19] = variable[20];
46580 variable[3] = variable[19] /*ppropdefnode1*/ /*node_list=*/;
46581 /* Register variable[20]: Result */
46582 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46583 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
46584 return_label980: while(false);
46585 tracehead = trace.prev;
46586 return;
46587 }
46588 void parser___ReduceAction474___init(val_t self, int* init_table) {
46589 struct trace_t trace = {NULL, NULL, 18116, LOCATE_parser___ReduceAction474___init};
46590 val_t variable[2];
46591 struct WBT_ **closurevariable = NULL;
46592 trace.prev = tracehead; tracehead = &trace;
46593 trace.file = LOCATE_parser;
46594 /* Register variable[0]: Local variable */
46595 variable[0] = self;
46596 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction474].i]) return;
46597 /* Register variable[1]: Method return value and escape marker */
46598 return_label981: while(false);
46599 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction474].i] = 1;
46600 tracehead = trace.prev;
46601 return;
46602 }
46603 void parser___ReduceAction475___action(val_t self, val_t param0) {
46604 struct trace_t trace = {NULL, NULL, 18120, LOCATE_parser___ReduceAction475___action};
46605 val_t variable[20];
46606 struct WBT_ **closurevariable = NULL;
46607 trace.prev = tracehead; tracehead = &trace;
46608 trace.file = LOCATE_parser;
46609 /* Register variable[0]: Local variable */
46610 variable[0] = self;
46611 /* Register variable[1]: Local variable */
46612 variable[1] = param0;
46613 /* Register variable[2]: Method return value and escape marker */
46614 /* Register variable[3]: Local variable */
46615 variable[3] = NIT_NULL /*null*/;
46616 /* Register variable[4]: Local variable */
46617 /* Register variable[5]: Result */
46618 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46619 variable[4] = variable[5];
46620 /* Register variable[5]: Local variable */
46621 /* Register variable[6]: Result */
46622 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46623 variable[5] = variable[6];
46624 /* Register variable[6]: Local variable */
46625 /* Register variable[7]: Result */
46626 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46627 variable[6] = variable[7];
46628 /* Register variable[7]: Local variable */
46629 /* Register variable[8]: Result */
46630 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46631 variable[7] = variable[8];
46632 /* Register variable[8]: Local variable */
46633 /* Register variable[9]: Result */
46634 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46635 variable[8] = variable[9];
46636 /* Register variable[9]: Local variable */
46637 /* Register variable[10]: Result */
46638 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46639 variable[9] = variable[10];
46640 /* Register variable[10]: Local variable */
46641 /* Register variable[11]: Result */
46642 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46643 variable[10] = variable[11];
46644 /* Register variable[11]: Local variable */
46645 /* Register variable[12]: Result */
46646 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46647 variable[11] = variable[12];
46648 /* Register variable[12]: Local variable */
46649 variable[12] = variable[11] /*nodearraylist1*/;
46650 /* Register variable[13]: Result */
46651 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46652 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18132); nit_exit(1);}
46653 /* Register variable[13]: Local variable */
46654 variable[13] = variable[10] /*nodearraylist2*/;
46655 /* Register variable[14]: Result */
46656 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46657 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18134); nit_exit(1);}
46658 /* Register variable[14]: Local variable */
46659 variable[14] = variable[9] /*nodearraylist3*/;
46660 /* Register variable[15]: Result */
46661 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46662 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18136); nit_exit(1);}
46663 /* Register variable[15]: Local variable */
46664 variable[15] = variable[8] /*nodearraylist4*/;
46665 /* Register variable[16]: Result */
46666 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46667 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18138); nit_exit(1);}
46668 /* Register variable[16]: Local variable */
46669 variable[16] = variable[7] /*nodearraylist5*/;
46670 /* Register variable[17]: Result */
46671 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46672 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18140); nit_exit(1);}
46673 /* Register variable[17]: Local variable */
46674 variable[17] = variable[5] /*nodearraylist7*/;
46675 /* Register variable[18]: Result */
46676 variable[18] = TAG_Bool(( variable[17] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46677 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction475___action, LOCATE_parser, 18142); nit_exit(1);}
46678 /* Register variable[18]: Local variable */
46679 /* Register variable[19]: Result */
46680 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*/;
46681 variable[18] = variable[19];
46682 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
46683 /* Register variable[19]: Result */
46684 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46685 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
46686 return_label982: while(false);
46687 tracehead = trace.prev;
46688 return;
46689 }
46690 void parser___ReduceAction475___init(val_t self, int* init_table) {
46691 struct trace_t trace = {NULL, NULL, 18155, LOCATE_parser___ReduceAction475___init};
46692 val_t variable[2];
46693 struct WBT_ **closurevariable = NULL;
46694 trace.prev = tracehead; tracehead = &trace;
46695 trace.file = LOCATE_parser;
46696 /* Register variable[0]: Local variable */
46697 variable[0] = self;
46698 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction475].i]) return;
46699 /* Register variable[1]: Method return value and escape marker */
46700 return_label983: while(false);
46701 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction475].i] = 1;
46702 tracehead = trace.prev;
46703 return;
46704 }
46705 void parser___ReduceAction476___action(val_t self, val_t param0) {
46706 struct trace_t trace = {NULL, NULL, 18159, LOCATE_parser___ReduceAction476___action};
46707 val_t variable[22];
46708 struct WBT_ **closurevariable = NULL;
46709 trace.prev = tracehead; tracehead = &trace;
46710 trace.file = LOCATE_parser;
46711 /* Register variable[0]: Local variable */
46712 variable[0] = self;
46713 /* Register variable[1]: Local variable */
46714 variable[1] = param0;
46715 /* Register variable[2]: Method return value and escape marker */
46716 /* Register variable[3]: Local variable */
46717 variable[3] = NIT_NULL /*null*/;
46718 /* Register variable[4]: Local variable */
46719 /* Register variable[5]: Result */
46720 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46721 variable[4] = variable[5];
46722 /* Register variable[5]: Local variable */
46723 /* Register variable[6]: Result */
46724 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46725 variable[5] = variable[6];
46726 /* Register variable[6]: Local variable */
46727 /* Register variable[7]: Result */
46728 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46729 variable[6] = variable[7];
46730 /* Register variable[7]: Local variable */
46731 /* Register variable[8]: Result */
46732 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46733 variable[7] = variable[8];
46734 /* Register variable[8]: Local variable */
46735 /* Register variable[9]: Result */
46736 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46737 variable[8] = variable[9];
46738 /* Register variable[9]: Local variable */
46739 /* Register variable[10]: Result */
46740 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46741 variable[9] = variable[10];
46742 /* Register variable[10]: Local variable */
46743 /* Register variable[11]: Result */
46744 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46745 variable[10] = variable[11];
46746 /* Register variable[11]: Local variable */
46747 /* Register variable[12]: Result */
46748 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46749 variable[11] = variable[12];
46750 /* Register variable[12]: Local variable */
46751 /* Register variable[13]: Result */
46752 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46753 variable[12] = variable[13];
46754 /* Register variable[13]: Local variable */
46755 variable[13] = variable[12] /*nodearraylist1*/;
46756 /* Register variable[14]: Result */
46757 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46758 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18172); nit_exit(1);}
46759 /* Register variable[14]: Local variable */
46760 variable[14] = variable[11] /*nodearraylist2*/;
46761 /* Register variable[15]: Result */
46762 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
46763 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18174); nit_exit(1);}
46764 /* Register variable[15]: Local variable */
46765 variable[15] = variable[10] /*nodearraylist3*/;
46766 /* Register variable[16]: Result */
46767 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46768 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18176); nit_exit(1);}
46769 /* Register variable[16]: Local variable */
46770 variable[16] = variable[9] /*nodearraylist4*/;
46771 /* Register variable[17]: Result */
46772 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46773 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18178); nit_exit(1);}
46774 /* Register variable[17]: Local variable */
46775 variable[17] = variable[8] /*nodearraylist5*/;
46776 /* Register variable[18]: Result */
46777 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46778 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18180); nit_exit(1);}
46779 /* Register variable[18]: Local variable */
46780 variable[18] = variable[7] /*nodearraylist6*/;
46781 /* Register variable[19]: Result */
46782 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46783 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18182); nit_exit(1);}
46784 /* Register variable[19]: Local variable */
46785 variable[19] = variable[5] /*nodearraylist8*/;
46786 /* Register variable[20]: Result */
46787 variable[20] = TAG_Bool(( variable[19] /*pexprnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*pexprnode8*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
46788 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction476___action, LOCATE_parser, 18184); nit_exit(1);}
46789 /* Register variable[20]: Local variable */
46790 /* Register variable[21]: Result */
46791 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*/;
46792 variable[20] = variable[21];
46793 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
46794 /* Register variable[21]: Result */
46795 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46796 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
46797 return_label984: while(false);
46798 tracehead = trace.prev;
46799 return;
46800 }
46801 void parser___ReduceAction476___init(val_t self, int* init_table) {
46802 struct trace_t trace = {NULL, NULL, 18197, LOCATE_parser___ReduceAction476___init};
46803 val_t variable[2];
46804 struct WBT_ **closurevariable = NULL;
46805 trace.prev = tracehead; tracehead = &trace;
46806 trace.file = LOCATE_parser;
46807 /* Register variable[0]: Local variable */
46808 variable[0] = self;
46809 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction476].i]) return;
46810 /* Register variable[1]: Method return value and escape marker */
46811 return_label985: while(false);
46812 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction476].i] = 1;
46813 tracehead = trace.prev;
46814 return;
46815 }
46816 void parser___ReduceAction477___action(val_t self, val_t param0) {
46817 struct trace_t trace = {NULL, NULL, 18201, LOCATE_parser___ReduceAction477___action};
46818 val_t variable[18];
46819 struct WBT_ **closurevariable = NULL;
46820 trace.prev = tracehead; tracehead = &trace;
46821 trace.file = LOCATE_parser;
46822 /* Register variable[0]: Local variable */
46823 variable[0] = self;
46824 /* Register variable[1]: Local variable */
46825 variable[1] = param0;
46826 /* Register variable[2]: Method return value and escape marker */
46827 /* Register variable[3]: Local variable */
46828 variable[3] = NIT_NULL /*null*/;
46829 /* Register variable[4]: Local variable */
46830 /* Register variable[5]: Result */
46831 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46832 variable[4] = variable[5];
46833 /* Register variable[5]: Local variable */
46834 /* Register variable[6]: Result */
46835 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46836 variable[5] = variable[6];
46837 /* Register variable[6]: Local variable */
46838 /* Register variable[7]: Result */
46839 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46840 variable[6] = variable[7];
46841 /* Register variable[7]: Local variable */
46842 /* Register variable[8]: Result */
46843 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46844 variable[7] = variable[8];
46845 /* Register variable[8]: Local variable */
46846 /* Register variable[9]: Result */
46847 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46848 variable[8] = variable[9];
46849 /* Register variable[9]: Local variable */
46850 /* Register variable[10]: Result */
46851 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46852 variable[9] = variable[10];
46853 /* Register variable[10]: Local variable */
46854 /* Register variable[11]: Result */
46855 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46856 variable[10] = variable[11];
46857 /* Register variable[11]: Local variable */
46858 variable[11] = variable[10] /*nodearraylist1*/;
46859 /* Register variable[12]: Result */
46860 variable[12] = TAG_Bool(( variable[11] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46861 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 18212); nit_exit(1);}
46862 /* Register variable[12]: Local variable */
46863 variable[12] = variable[9] /*nodearraylist2*/;
46864 /* Register variable[13]: Result */
46865 variable[13] = TAG_Bool(( variable[12] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[12] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46866 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 18214); nit_exit(1);}
46867 /* Register variable[13]: Local variable */
46868 variable[13] = variable[8] /*nodearraylist3*/;
46869 /* Register variable[14]: Result */
46870 variable[14] = TAG_Bool(( variable[13] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46871 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 18216); nit_exit(1);}
46872 /* Register variable[14]: Local variable */
46873 variable[14] = variable[7] /*nodearraylist4*/;
46874 /* Register variable[15]: Result */
46875 variable[15] = TAG_Bool(( variable[14] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46876 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 18218); nit_exit(1);}
46877 /* Register variable[15]: Local variable */
46878 variable[15] = variable[6] /*nodearraylist5*/;
46879 /* Register variable[16]: Result */
46880 variable[16] = TAG_Bool(( variable[15] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[15] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46881 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction477___action, LOCATE_parser, 18220); nit_exit(1);}
46882 /* Register variable[16]: Local variable */
46883 /* Register variable[17]: Result */
46884 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*/;
46885 variable[16] = variable[17];
46886 variable[3] = variable[16] /*ppropdefnode1*/ /*node_list=*/;
46887 /* Register variable[17]: Result */
46888 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46889 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
46890 return_label986: while(false);
46891 tracehead = trace.prev;
46892 return;
46893 }
46894 void parser___ReduceAction477___init(val_t self, int* init_table) {
46895 struct trace_t trace = {NULL, NULL, 18233, LOCATE_parser___ReduceAction477___init};
46896 val_t variable[2];
46897 struct WBT_ **closurevariable = NULL;
46898 trace.prev = tracehead; tracehead = &trace;
46899 trace.file = LOCATE_parser;
46900 /* Register variable[0]: Local variable */
46901 variable[0] = self;
46902 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction477].i]) return;
46903 /* Register variable[1]: Method return value and escape marker */
46904 return_label987: while(false);
46905 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction477].i] = 1;
46906 tracehead = trace.prev;
46907 return;
46908 }
46909 void parser___ReduceAction478___action(val_t self, val_t param0) {
46910 struct trace_t trace = {NULL, NULL, 18237, LOCATE_parser___ReduceAction478___action};
46911 val_t variable[20];
46912 struct WBT_ **closurevariable = NULL;
46913 trace.prev = tracehead; tracehead = &trace;
46914 trace.file = LOCATE_parser;
46915 /* Register variable[0]: Local variable */
46916 variable[0] = self;
46917 /* Register variable[1]: Local variable */
46918 variable[1] = param0;
46919 /* Register variable[2]: Method return value and escape marker */
46920 /* Register variable[3]: Local variable */
46921 variable[3] = NIT_NULL /*null*/;
46922 /* Register variable[4]: Local variable */
46923 /* Register variable[5]: Result */
46924 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46925 variable[4] = variable[5];
46926 /* Register variable[5]: Local variable */
46927 /* Register variable[6]: Result */
46928 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46929 variable[5] = variable[6];
46930 /* Register variable[6]: Local variable */
46931 /* Register variable[7]: Result */
46932 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46933 variable[6] = variable[7];
46934 /* Register variable[7]: Local variable */
46935 /* Register variable[8]: Result */
46936 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46937 variable[7] = variable[8];
46938 /* Register variable[8]: Local variable */
46939 /* Register variable[9]: Result */
46940 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46941 variable[8] = variable[9];
46942 /* Register variable[9]: Local variable */
46943 /* Register variable[10]: Result */
46944 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46945 variable[9] = variable[10];
46946 /* Register variable[10]: Local variable */
46947 /* Register variable[11]: Result */
46948 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46949 variable[10] = variable[11];
46950 /* Register variable[11]: Local variable */
46951 /* Register variable[12]: Result */
46952 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
46953 variable[11] = variable[12];
46954 /* Register variable[12]: Local variable */
46955 variable[12] = variable[11] /*nodearraylist1*/;
46956 /* Register variable[13]: Result */
46957 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
46958 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18249); nit_exit(1);}
46959 /* Register variable[13]: Local variable */
46960 variable[13] = variable[10] /*nodearraylist2*/;
46961 /* Register variable[14]: Result */
46962 variable[14] = TAG_Bool(( variable[13] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
46963 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18251); nit_exit(1);}
46964 /* Register variable[14]: Local variable */
46965 variable[14] = variable[9] /*nodearraylist3*/;
46966 /* Register variable[15]: Result */
46967 variable[15] = TAG_Bool(( variable[14] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
46968 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18253); nit_exit(1);}
46969 /* Register variable[15]: Local variable */
46970 variable[15] = variable[8] /*nodearraylist4*/;
46971 /* Register variable[16]: Result */
46972 variable[16] = TAG_Bool(( variable[15] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
46973 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18255); nit_exit(1);}
46974 /* Register variable[16]: Local variable */
46975 variable[16] = variable[7] /*nodearraylist5*/;
46976 /* Register variable[17]: Result */
46977 variable[17] = TAG_Bool(( variable[16] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[16] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
46978 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18257); nit_exit(1);}
46979 /* Register variable[17]: Local variable */
46980 variable[17] = variable[6] /*nodearraylist6*/;
46981 /* Register variable[18]: Result */
46982 variable[18] = TAG_Bool(( variable[17] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[17] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
46983 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction478___action, LOCATE_parser, 18259); nit_exit(1);}
46984 /* Register variable[18]: Local variable */
46985 /* Register variable[19]: Result */
46986 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*/;
46987 variable[18] = variable[19];
46988 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
46989 /* Register variable[19]: Result */
46990 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
46991 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
46992 return_label988: while(false);
46993 tracehead = trace.prev;
46994 return;
46995 }
46996 void parser___ReduceAction478___init(val_t self, int* init_table) {
46997 struct trace_t trace = {NULL, NULL, 18272, LOCATE_parser___ReduceAction478___init};
46998 val_t variable[2];
46999 struct WBT_ **closurevariable = NULL;
47000 trace.prev = tracehead; tracehead = &trace;
47001 trace.file = LOCATE_parser;
47002 /* Register variable[0]: Local variable */
47003 variable[0] = self;
47004 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction478].i]) return;
47005 /* Register variable[1]: Method return value and escape marker */
47006 return_label989: while(false);
47007 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction478].i] = 1;
47008 tracehead = trace.prev;
47009 return;
47010 }
47011 void parser___ReduceAction479___action(val_t self, val_t param0) {
47012 struct trace_t trace = {NULL, NULL, 18276, LOCATE_parser___ReduceAction479___action};
47013 val_t variable[20];
47014 struct WBT_ **closurevariable = NULL;
47015 trace.prev = tracehead; tracehead = &trace;
47016 trace.file = LOCATE_parser;
47017 /* Register variable[0]: Local variable */
47018 variable[0] = self;
47019 /* Register variable[1]: Local variable */
47020 variable[1] = param0;
47021 /* Register variable[2]: Method return value and escape marker */
47022 /* Register variable[3]: Local variable */
47023 variable[3] = NIT_NULL /*null*/;
47024 /* Register variable[4]: Local variable */
47025 /* Register variable[5]: Result */
47026 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47027 variable[4] = variable[5];
47028 /* Register variable[5]: Local variable */
47029 /* Register variable[6]: Result */
47030 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47031 variable[5] = variable[6];
47032 /* Register variable[6]: Local variable */
47033 /* Register variable[7]: Result */
47034 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47035 variable[6] = variable[7];
47036 /* Register variable[7]: Local variable */
47037 /* Register variable[8]: Result */
47038 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47039 variable[7] = variable[8];
47040 /* Register variable[8]: Local variable */
47041 /* Register variable[9]: Result */
47042 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47043 variable[8] = variable[9];
47044 /* Register variable[9]: Local variable */
47045 /* Register variable[10]: Result */
47046 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47047 variable[9] = variable[10];
47048 /* Register variable[10]: Local variable */
47049 /* Register variable[11]: Result */
47050 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47051 variable[10] = variable[11];
47052 /* Register variable[11]: Local variable */
47053 /* Register variable[12]: Result */
47054 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47055 variable[11] = variable[12];
47056 /* Register variable[12]: Local variable */
47057 variable[12] = variable[11] /*nodearraylist1*/;
47058 /* Register variable[13]: Result */
47059 variable[13] = TAG_Bool(( variable[12] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
47060 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18288); nit_exit(1);}
47061 /* Register variable[13]: Local variable */
47062 variable[13] = variable[10] /*nodearraylist2*/;
47063 /* Register variable[14]: Result */
47064 variable[14] = TAG_Bool(( variable[13] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[13] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
47065 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18290); nit_exit(1);}
47066 /* Register variable[14]: Local variable */
47067 variable[14] = variable[9] /*nodearraylist3*/;
47068 /* Register variable[15]: Result */
47069 variable[15] = TAG_Bool(( variable[14] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
47070 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18292); nit_exit(1);}
47071 /* Register variable[15]: Local variable */
47072 variable[15] = variable[8] /*nodearraylist4*/;
47073 /* Register variable[16]: Result */
47074 variable[16] = TAG_Bool(( variable[15] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
47075 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18294); nit_exit(1);}
47076 /* Register variable[16]: Local variable */
47077 variable[16] = variable[7] /*nodearraylist5*/;
47078 /* Register variable[17]: Result */
47079 variable[17] = TAG_Bool(( variable[16] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[16] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
47080 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18296); nit_exit(1);}
47081 /* Register variable[17]: Local variable */
47082 variable[17] = variable[4] /*nodearraylist8*/;
47083 /* Register variable[18]: Result */
47084 variable[18] = TAG_Bool(( variable[17] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[17] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
47085 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction479___action, LOCATE_parser, 18298); nit_exit(1);}
47086 /* Register variable[18]: Local variable */
47087 /* Register variable[19]: Result */
47088 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*/;
47089 variable[18] = variable[19];
47090 variable[3] = variable[18] /*ppropdefnode1*/ /*node_list=*/;
47091 /* Register variable[19]: Result */
47092 variable[19] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
47093 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[19], variable[3] /*node_list*/) /*Parser::push*/;
47094 return_label990: while(false);
47095 tracehead = trace.prev;
47096 return;
47097 }
47098 void parser___ReduceAction479___init(val_t self, int* init_table) {
47099 struct trace_t trace = {NULL, NULL, 18311, LOCATE_parser___ReduceAction479___init};
47100 val_t variable[2];
47101 struct WBT_ **closurevariable = NULL;
47102 trace.prev = tracehead; tracehead = &trace;
47103 trace.file = LOCATE_parser;
47104 /* Register variable[0]: Local variable */
47105 variable[0] = self;
47106 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction479].i]) return;
47107 /* Register variable[1]: Method return value and escape marker */
47108 return_label991: while(false);
47109 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction479].i] = 1;
47110 tracehead = trace.prev;
47111 return;
47112 }
47113 void parser___ReduceAction480___action(val_t self, val_t param0) {
47114 struct trace_t trace = {NULL, NULL, 18315, LOCATE_parser___ReduceAction480___action};
47115 val_t variable[22];
47116 struct WBT_ **closurevariable = NULL;
47117 trace.prev = tracehead; tracehead = &trace;
47118 trace.file = LOCATE_parser;
47119 /* Register variable[0]: Local variable */
47120 variable[0] = self;
47121 /* Register variable[1]: Local variable */
47122 variable[1] = param0;
47123 /* Register variable[2]: Method return value and escape marker */
47124 /* Register variable[3]: Local variable */
47125 variable[3] = NIT_NULL /*null*/;
47126 /* Register variable[4]: Local variable */
47127 /* Register variable[5]: Result */
47128 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47129 variable[4] = variable[5];
47130 /* Register variable[5]: Local variable */
47131 /* Register variable[6]: Result */
47132 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47133 variable[5] = variable[6];
47134 /* Register variable[6]: Local variable */
47135 /* Register variable[7]: Result */
47136 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47137 variable[6] = variable[7];
47138 /* Register variable[7]: Local variable */
47139 /* Register variable[8]: Result */
47140 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47141 variable[7] = variable[8];
47142 /* Register variable[8]: Local variable */
47143 /* Register variable[9]: Result */
47144 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47145 variable[8] = variable[9];
47146 /* Register variable[9]: Local variable */
47147 /* Register variable[10]: Result */
47148 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47149 variable[9] = variable[10];
47150 /* Register variable[10]: Local variable */
47151 /* Register variable[11]: Result */
47152 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47153 variable[10] = variable[11];
47154 /* Register variable[11]: Local variable */
47155 /* Register variable[12]: Result */
47156 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47157 variable[11] = variable[12];
47158 /* Register variable[12]: Local variable */
47159 /* Register variable[13]: Result */
47160 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47161 variable[12] = variable[13];
47162 /* Register variable[13]: Local variable */
47163 variable[13] = variable[12] /*nodearraylist1*/;
47164 /* Register variable[14]: Result */
47165 variable[14] = TAG_Bool(( variable[13] /*pdocnode2*/==NIT_NULL) || VAL_ISA( variable[13] /*pdocnode2*/, COLOR_PDoc, ID_PDoc)) /*cast PDoc*/;
47166 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18328); nit_exit(1);}
47167 /* Register variable[14]: Local variable */
47168 variable[14] = variable[11] /*nodearraylist2*/;
47169 /* Register variable[15]: Result */
47170 variable[15] = TAG_Bool(( variable[14] /*tkwredefnode3*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwredefnode3*/, COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
47171 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18330); nit_exit(1);}
47172 /* Register variable[15]: Local variable */
47173 variable[15] = variable[10] /*nodearraylist3*/;
47174 /* Register variable[16]: Result */
47175 variable[16] = TAG_Bool(( variable[15] /*pvisibilitynode4*/==NIT_NULL) || VAL_ISA( variable[15] /*pvisibilitynode4*/, COLOR_PVisibility, ID_PVisibility)) /*cast PVisibility*/;
47176 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18332); nit_exit(1);}
47177 /* Register variable[16]: Local variable */
47178 variable[16] = variable[9] /*nodearraylist4*/;
47179 /* Register variable[17]: Result */
47180 variable[17] = TAG_Bool(( variable[16] /*tkwmethnode5*/==NIT_NULL) || VAL_ISA( variable[16] /*tkwmethnode5*/, COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
47181 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18334); nit_exit(1);}
47182 /* Register variable[17]: Local variable */
47183 variable[17] = variable[8] /*nodearraylist5*/;
47184 /* Register variable[18]: Result */
47185 variable[18] = TAG_Bool(( variable[17] /*pmethidnode6*/==NIT_NULL) || VAL_ISA( variable[17] /*pmethidnode6*/, COLOR_PMethid, ID_PMethid)) /*cast PMethid*/;
47186 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18336); nit_exit(1);}
47187 /* Register variable[18]: Local variable */
47188 variable[18] = variable[7] /*nodearraylist6*/;
47189 /* Register variable[19]: Result */
47190 variable[19] = TAG_Bool(( variable[18] /*psignaturenode7*/==NIT_NULL) || VAL_ISA( variable[18] /*psignaturenode7*/, COLOR_PSignature, ID_PSignature)) /*cast PSignature*/;
47191 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18338); nit_exit(1);}
47192 /* Register variable[19]: Local variable */
47193 variable[19] = variable[4] /*nodearraylist9*/;
47194 /* Register variable[20]: Result */
47195 variable[20] = TAG_Bool(( variable[19] /*tstringnode8*/==NIT_NULL) || VAL_ISA( variable[19] /*tstringnode8*/, COLOR_TString, ID_TString)) /*cast TString*/;
47196 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction480___action, LOCATE_parser, 18340); nit_exit(1);}
47197 /* Register variable[20]: Local variable */
47198 /* Register variable[21]: Result */
47199 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*/;
47200 variable[20] = variable[21];
47201 variable[3] = variable[20] /*ppropdefnode1*/ /*node_list=*/;
47202 /* Register variable[21]: Result */
47203 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(71)) /*Parser::go_to*/;
47204 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
47205 return_label992: while(false);
47206 tracehead = trace.prev;
47207 return;
47208 }
47209 void parser___ReduceAction480___init(val_t self, int* init_table) {
47210 struct trace_t trace = {NULL, NULL, 18353, LOCATE_parser___ReduceAction480___init};
47211 val_t variable[2];
47212 struct WBT_ **closurevariable = NULL;
47213 trace.prev = tracehead; tracehead = &trace;
47214 trace.file = LOCATE_parser;
47215 /* Register variable[0]: Local variable */
47216 variable[0] = self;
47217 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction480].i]) return;
47218 /* Register variable[1]: Method return value and escape marker */
47219 return_label993: while(false);
47220 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction480].i] = 1;
47221 tracehead = trace.prev;
47222 return;
47223 }
47224 void parser___ReduceAction481___action(val_t self, val_t param0) {
47225 struct trace_t trace = {NULL, NULL, 18357, LOCATE_parser___ReduceAction481___action};
47226 val_t variable[9];
47227 struct WBT_ **closurevariable = NULL;
47228 trace.prev = tracehead; tracehead = &trace;
47229 trace.file = LOCATE_parser;
47230 /* Register variable[0]: Local variable */
47231 variable[0] = self;
47232 /* Register variable[1]: Local variable */
47233 variable[1] = param0;
47234 /* Register variable[2]: Method return value and escape marker */
47235 /* Register variable[3]: Local variable */
47236 variable[3] = NIT_NULL /*null*/;
47237 /* Register variable[4]: Local variable */
47238 /* Register variable[5]: Result */
47239 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47240 variable[4] = variable[5];
47241 /* Register variable[5]: Local variable */
47242 /* Register variable[6]: Result */
47243 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47244 variable[5] = variable[6];
47245 /* Register variable[6]: Local variable */
47246 variable[6] = variable[4] /*nodearraylist1*/;
47247 /* Register variable[7]: Result */
47248 variable[7] = TAG_Bool(( variable[6] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
47249 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction481___action, LOCATE_parser, 18363); nit_exit(1);}
47250 /* Register variable[7]: Local variable */
47251 /* Register variable[8]: Result */
47252 variable[8] = NEW_AType_parser_prod___AType___init_atype( NIT_NULL /*null*/, variable[6] /*tclassidnode3*/, variable[5] /*listnode4*/) /*new AType*/;
47253 variable[7] = variable[8];
47254 variable[3] = variable[7] /*ptypenode1*/ /*node_list=*/;
47255 /* Register variable[8]: Result */
47256 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
47257 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
47258 return_label994: while(false);
47259 tracehead = trace.prev;
47260 return;
47261 }
47262 void parser___ReduceAction481___init(val_t self, int* init_table) {
47263 struct trace_t trace = {NULL, NULL, 18372, LOCATE_parser___ReduceAction481___init};
47264 val_t variable[2];
47265 struct WBT_ **closurevariable = NULL;
47266 trace.prev = tracehead; tracehead = &trace;
47267 trace.file = LOCATE_parser;
47268 /* Register variable[0]: Local variable */
47269 variable[0] = self;
47270 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction481].i]) return;
47271 /* Register variable[1]: Method return value and escape marker */
47272 return_label995: while(false);
47273 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction481].i] = 1;
47274 tracehead = trace.prev;
47275 return;
47276 }
47277 void parser___ReduceAction482___action(val_t self, val_t param0) {
47278 struct trace_t trace = {NULL, NULL, 18376, LOCATE_parser___ReduceAction482___action};
47279 val_t variable[11];
47280 struct WBT_ **closurevariable = NULL;
47281 trace.prev = tracehead; tracehead = &trace;
47282 trace.file = LOCATE_parser;
47283 /* Register variable[0]: Local variable */
47284 variable[0] = self;
47285 /* Register variable[1]: Local variable */
47286 variable[1] = param0;
47287 /* Register variable[2]: Method return value and escape marker */
47288 /* Register variable[3]: Local variable */
47289 variable[3] = NIT_NULL /*null*/;
47290 /* Register variable[4]: Local variable */
47291 /* Register variable[5]: Result */
47292 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47293 variable[4] = variable[5];
47294 /* Register variable[5]: Local variable */
47295 /* Register variable[6]: Result */
47296 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47297 variable[5] = variable[6];
47298 /* Register variable[6]: Local variable */
47299 /* Register variable[7]: Result */
47300 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47301 variable[6] = variable[7];
47302 /* Register variable[7]: Local variable */
47303 variable[7] = variable[5] /*nodearraylist1*/;
47304 /* Register variable[8]: Result */
47305 variable[8] = TAG_Bool(( variable[7] /*tkwnullablenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnullablenode2*/, COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
47306 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 18383); nit_exit(1);}
47307 /* Register variable[8]: Local variable */
47308 variable[8] = variable[4] /*nodearraylist2*/;
47309 /* Register variable[9]: Result */
47310 variable[9] = TAG_Bool(( variable[8] /*tclassidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tclassidnode3*/, COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
47311 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction482___action, LOCATE_parser, 18385); nit_exit(1);}
47312 /* Register variable[9]: Local variable */
47313 /* Register variable[10]: Result */
47314 variable[10] = NEW_AType_parser_prod___AType___init_atype( variable[7] /*tkwnullablenode2*/, variable[8] /*tclassidnode3*/, variable[6] /*listnode4*/) /*new AType*/;
47315 variable[9] = variable[10];
47316 variable[3] = variable[9] /*ptypenode1*/ /*node_list=*/;
47317 /* Register variable[10]: Result */
47318 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(72)) /*Parser::go_to*/;
47319 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
47320 return_label996: while(false);
47321 tracehead = trace.prev;
47322 return;
47323 }
47324 void parser___ReduceAction482___init(val_t self, int* init_table) {
47325 struct trace_t trace = {NULL, NULL, 18394, LOCATE_parser___ReduceAction482___init};
47326 val_t variable[2];
47327 struct WBT_ **closurevariable = NULL;
47328 trace.prev = tracehead; tracehead = &trace;
47329 trace.file = LOCATE_parser;
47330 /* Register variable[0]: Local variable */
47331 variable[0] = self;
47332 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction482].i]) return;
47333 /* Register variable[1]: Method return value and escape marker */
47334 return_label997: while(false);
47335 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction482].i] = 1;
47336 tracehead = trace.prev;
47337 return;
47338 }
47339 void parser___ReduceAction483___action(val_t self, val_t param0) {
47340 struct trace_t trace = {NULL, NULL, 18398, LOCATE_parser___ReduceAction483___action};
47341 val_t variable[7];
47342 struct WBT_ **closurevariable = NULL;
47343 trace.prev = tracehead; tracehead = &trace;
47344 trace.file = LOCATE_parser;
47345 /* Register variable[0]: Local variable */
47346 variable[0] = self;
47347 /* Register variable[1]: Local variable */
47348 variable[1] = param0;
47349 /* Register variable[2]: Method return value and escape marker */
47350 /* Register variable[3]: Local variable */
47351 variable[3] = NIT_NULL /*null*/;
47352 /* Register variable[4]: Local variable */
47353 /* Register variable[5]: Result */
47354 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47355 variable[4] = variable[5];
47356 /* Register variable[5]: Local variable */
47357 variable[5] = variable[4] /*nodearraylist1*/;
47358 /* Register variable[6]: Result */
47359 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47360 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction483___action, LOCATE_parser, 18403); nit_exit(1);}
47361 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47362 /* Register variable[6]: Result */
47363 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
47364 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47365 return_label998: while(false);
47366 tracehead = trace.prev;
47367 return;
47368 }
47369 void parser___ReduceAction483___init(val_t self, int* init_table) {
47370 struct trace_t trace = {NULL, NULL, 18407, LOCATE_parser___ReduceAction483___init};
47371 val_t variable[2];
47372 struct WBT_ **closurevariable = NULL;
47373 trace.prev = tracehead; tracehead = &trace;
47374 trace.file = LOCATE_parser;
47375 /* Register variable[0]: Local variable */
47376 variable[0] = self;
47377 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction483].i]) return;
47378 /* Register variable[1]: Method return value and escape marker */
47379 return_label999: while(false);
47380 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction483].i] = 1;
47381 tracehead = trace.prev;
47382 return;
47383 }
47384 void parser___ReduceAction484___action(val_t self, val_t param0) {
47385 struct trace_t trace = {NULL, NULL, 18411, LOCATE_parser___ReduceAction484___action};
47386 val_t variable[18];
47387 struct WBT_ **closurevariable = NULL;
47388 trace.prev = tracehead; tracehead = &trace;
47389 trace.file = LOCATE_parser;
47390 /* Register variable[0]: Local variable */
47391 variable[0] = self;
47392 /* Register variable[1]: Local variable */
47393 variable[1] = param0;
47394 /* Register variable[2]: Method return value and escape marker */
47395 /* Register variable[3]: Local variable */
47396 variable[3] = NIT_NULL /*null*/;
47397 /* Register variable[4]: Local variable */
47398 /* Register variable[5]: Result */
47399 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47400 variable[4] = variable[5];
47401 /* Register variable[5]: Local variable */
47402 /* Register variable[6]: Result */
47403 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47404 variable[5] = variable[6];
47405 /* Register variable[6]: Local variable */
47406 /* Register variable[7]: Result */
47407 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47408 variable[6] = variable[7];
47409 /* Register variable[7]: Local variable */
47410 /* Register variable[8]: Result */
47411 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47412 variable[7] = variable[8];
47413 /* Register variable[8]: Local variable */
47414 /* Register variable[9]: Result */
47415 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47416 variable[8] = variable[9];
47417 /* Register variable[9]: Local variable */
47418 /* Register variable[10]: Result */
47419 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47420 variable[9] = variable[10];
47421 /* Register variable[10]: Local variable */
47422 /* Register variable[11]: Result */
47423 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47424 variable[10] = variable[11];
47425 /* Register variable[11]: Local variable */
47426 /* Register variable[12]: Result */
47427 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47428 variable[11] = variable[12];
47429 /* Register variable[12]: Local variable */
47430 variable[12] = variable[9] /*nodearraylist1*/;
47431 /* Register variable[13]: Result */
47432 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47433 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 18423); nit_exit(1);}
47434 /* Register variable[13]: Local variable */
47435 variable[13] = variable[6] /*nodearraylist4*/;
47436 /* Register variable[14]: Result */
47437 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
47438 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 18425); nit_exit(1);}
47439 /* Register variable[14]: Local variable */
47440 variable[14] = variable[5] /*nodearraylist5*/;
47441 /* Register variable[15]: Result */
47442 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47443 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 18427); nit_exit(1);}
47444 /* Register variable[15]: Result */
47445 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::==*/)))))));
47446 if (UNTAG_Bool(variable[15])) { /*if*/
47447 /* Register variable[15]: Result */
47448 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
47449 if (UNTAG_Bool(variable[15])) { /*if*/
47450 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
47451 } else { /*if*/
47452 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
47453 }
47454 }
47455 /* Register variable[15]: Local variable */
47456 variable[15] = variable[4] /*nodearraylist6*/;
47457 /* Register variable[16]: Result */
47458 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47459 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction484___action, LOCATE_parser, 18436); nit_exit(1);}
47460 /* Register variable[16]: Result */
47461 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::==*/)))))));
47462 if (UNTAG_Bool(variable[16])) { /*if*/
47463 /* Register variable[16]: Result */
47464 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
47465 if (UNTAG_Bool(variable[16])) { /*if*/
47466 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
47467 } else { /*if*/
47468 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
47469 }
47470 }
47471 /* Register variable[16]: Local variable */
47472 /* Register variable[17]: Result */
47473 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
47474 variable[16] = variable[17];
47475 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
47476 /* Register variable[17]: Result */
47477 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
47478 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
47479 return_label1000: while(false);
47480 tracehead = trace.prev;
47481 return;
47482 }
47483 void parser___ReduceAction484___init(val_t self, int* init_table) {
47484 struct trace_t trace = {NULL, NULL, 18453, LOCATE_parser___ReduceAction484___init};
47485 val_t variable[2];
47486 struct WBT_ **closurevariable = NULL;
47487 trace.prev = tracehead; tracehead = &trace;
47488 trace.file = LOCATE_parser;
47489 /* Register variable[0]: Local variable */
47490 variable[0] = self;
47491 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction484].i]) return;
47492 /* Register variable[1]: Method return value and escape marker */
47493 return_label1001: while(false);
47494 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction484].i] = 1;
47495 tracehead = trace.prev;
47496 return;
47497 }
47498 void parser___ReduceAction485___action(val_t self, val_t param0) {
47499 struct trace_t trace = {NULL, NULL, 18457, LOCATE_parser___ReduceAction485___action};
47500 val_t variable[15];
47501 struct WBT_ **closurevariable = NULL;
47502 trace.prev = tracehead; tracehead = &trace;
47503 trace.file = LOCATE_parser;
47504 /* Register variable[0]: Local variable */
47505 variable[0] = self;
47506 /* Register variable[1]: Local variable */
47507 variable[1] = param0;
47508 /* Register variable[2]: Method return value and escape marker */
47509 /* Register variable[3]: Local variable */
47510 variable[3] = NIT_NULL /*null*/;
47511 /* Register variable[4]: Local variable */
47512 /* Register variable[5]: Result */
47513 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47514 variable[4] = variable[5];
47515 /* Register variable[5]: Local variable */
47516 /* Register variable[6]: Result */
47517 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47518 variable[5] = variable[6];
47519 /* Register variable[6]: Local variable */
47520 /* Register variable[7]: Result */
47521 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47522 variable[6] = variable[7];
47523 /* Register variable[7]: Local variable */
47524 /* Register variable[8]: Result */
47525 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47526 variable[7] = variable[8];
47527 /* Register variable[8]: Local variable */
47528 /* Register variable[9]: Result */
47529 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
47530 variable[8] = variable[9];
47531 /* Register variable[9]: Local variable */
47532 /* Register variable[10]: Result */
47533 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
47534 variable[9] = variable[10];
47535 /* Register variable[10]: Local variable */
47536 variable[10] = variable[6] /*nodearraylist1*/;
47537 /* Register variable[11]: Result */
47538 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
47539 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 18468); nit_exit(1);}
47540 /* Register variable[11]: Local variable */
47541 variable[11] = variable[5] /*nodearraylist2*/;
47542 /* Register variable[12]: Result */
47543 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47544 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 18470); nit_exit(1);}
47545 /* Register variable[12]: Result */
47546 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::==*/)))))));
47547 if (UNTAG_Bool(variable[12])) { /*if*/
47548 /* Register variable[12]: Result */
47549 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
47550 if (UNTAG_Bool(variable[12])) { /*if*/
47551 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
47552 } else { /*if*/
47553 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
47554 }
47555 }
47556 /* Register variable[12]: Local variable */
47557 variable[12] = variable[4] /*nodearraylist3*/;
47558 /* Register variable[13]: Result */
47559 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
47560 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction485___action, LOCATE_parser, 18479); nit_exit(1);}
47561 /* Register variable[13]: Result */
47562 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::==*/)))))));
47563 if (UNTAG_Bool(variable[13])) { /*if*/
47564 /* Register variable[13]: Result */
47565 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
47566 if (UNTAG_Bool(variable[13])) { /*if*/
47567 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
47568 } else { /*if*/
47569 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
47570 }
47571 }
47572 /* Register variable[13]: Local variable */
47573 /* Register variable[14]: Result */
47574 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
47575 variable[13] = variable[14];
47576 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
47577 /* Register variable[14]: Result */
47578 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(73)) /*Parser::go_to*/;
47579 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
47580 return_label1002: while(false);
47581 tracehead = trace.prev;
47582 return;
47583 }
47584 void parser___ReduceAction485___init(val_t self, int* init_table) {
47585 struct trace_t trace = {NULL, NULL, 18496, LOCATE_parser___ReduceAction485___init};
47586 val_t variable[2];
47587 struct WBT_ **closurevariable = NULL;
47588 trace.prev = tracehead; tracehead = &trace;
47589 trace.file = LOCATE_parser;
47590 /* Register variable[0]: Local variable */
47591 variable[0] = self;
47592 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction485].i]) return;
47593 /* Register variable[1]: Method return value and escape marker */
47594 return_label1003: while(false);
47595 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction485].i] = 1;
47596 tracehead = trace.prev;
47597 return;
47598 }
47599 void parser___ReduceAction486___action(val_t self, val_t param0) {
47600 struct trace_t trace = {NULL, NULL, 18500, LOCATE_parser___ReduceAction486___action};
47601 val_t variable[7];
47602 struct WBT_ **closurevariable = NULL;
47603 trace.prev = tracehead; tracehead = &trace;
47604 trace.file = LOCATE_parser;
47605 /* Register variable[0]: Local variable */
47606 variable[0] = self;
47607 /* Register variable[1]: Local variable */
47608 variable[1] = param0;
47609 /* Register variable[2]: Method return value and escape marker */
47610 /* Register variable[3]: Local variable */
47611 variable[3] = NIT_NULL /*null*/;
47612 /* Register variable[4]: Local variable */
47613 /* Register variable[5]: Result */
47614 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47615 variable[4] = variable[5];
47616 /* Register variable[5]: Local variable */
47617 variable[5] = variable[4] /*nodearraylist1*/;
47618 /* Register variable[6]: Result */
47619 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47620 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction486___action, LOCATE_parser, 18505); nit_exit(1);}
47621 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47622 /* Register variable[6]: Result */
47623 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
47624 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47625 return_label1004: while(false);
47626 tracehead = trace.prev;
47627 return;
47628 }
47629 void parser___ReduceAction486___init(val_t self, int* init_table) {
47630 struct trace_t trace = {NULL, NULL, 18509, LOCATE_parser___ReduceAction486___init};
47631 val_t variable[2];
47632 struct WBT_ **closurevariable = NULL;
47633 trace.prev = tracehead; tracehead = &trace;
47634 trace.file = LOCATE_parser;
47635 /* Register variable[0]: Local variable */
47636 variable[0] = self;
47637 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction486].i]) return;
47638 /* Register variable[1]: Method return value and escape marker */
47639 return_label1005: while(false);
47640 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction486].i] = 1;
47641 tracehead = trace.prev;
47642 return;
47643 }
47644 void parser___ReduceAction487___action(val_t self, val_t param0) {
47645 struct trace_t trace = {NULL, NULL, 18513, LOCATE_parser___ReduceAction487___action};
47646 val_t variable[23];
47647 struct WBT_ **closurevariable = NULL;
47648 trace.prev = tracehead; tracehead = &trace;
47649 trace.file = LOCATE_parser;
47650 /* Register variable[0]: Local variable */
47651 variable[0] = self;
47652 /* Register variable[1]: Local variable */
47653 variable[1] = param0;
47654 /* Register variable[2]: Method return value and escape marker */
47655 /* Register variable[3]: Local variable */
47656 variable[3] = NIT_NULL /*null*/;
47657 /* Register variable[4]: Local variable */
47658 /* Register variable[5]: Result */
47659 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47660 variable[4] = variable[5];
47661 /* Register variable[5]: Local variable */
47662 /* Register variable[6]: Result */
47663 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47664 variable[5] = variable[6];
47665 /* Register variable[6]: Local variable */
47666 /* Register variable[7]: Result */
47667 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47668 variable[6] = variable[7];
47669 /* Register variable[7]: Local variable */
47670 /* Register variable[8]: Result */
47671 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47672 variable[7] = variable[8];
47673 /* Register variable[8]: Local variable */
47674 /* Register variable[9]: Result */
47675 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47676 variable[8] = variable[9];
47677 /* Register variable[9]: Local variable */
47678 /* Register variable[10]: Result */
47679 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47680 variable[9] = variable[10];
47681 /* Register variable[10]: Local variable */
47682 /* Register variable[11]: Result */
47683 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47684 variable[10] = variable[11];
47685 /* Register variable[11]: Local variable */
47686 /* Register variable[12]: Result */
47687 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47688 variable[11] = variable[12];
47689 /* Register variable[12]: Local variable */
47690 /* Register variable[13]: Result */
47691 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47692 variable[12] = variable[13];
47693 /* Register variable[13]: Local variable */
47694 /* Register variable[14]: Result */
47695 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47696 variable[13] = variable[14];
47697 /* Register variable[14]: Local variable */
47698 /* Register variable[15]: Result */
47699 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47700 variable[14] = variable[15];
47701 /* Register variable[15]: Local variable */
47702 variable[15] = variable[14] /*nodearraylist1*/;
47703 /* Register variable[16]: Result */
47704 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
47705 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18528); nit_exit(1);}
47706 /* Register variable[16]: Local variable */
47707 variable[16] = variable[12] /*nodearraylist3*/;
47708 /* Register variable[17]: Result */
47709 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47710 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18530); nit_exit(1);}
47711 /* Register variable[17]: Local variable */
47712 variable[17] = variable[10] /*nodearraylist5*/;
47713 /* Register variable[18]: Result */
47714 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
47715 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18532); nit_exit(1);}
47716 /* Register variable[18]: Local variable */
47717 variable[18] = variable[8] /*nodearraylist7*/;
47718 /* Register variable[19]: Result */
47719 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47720 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18534); nit_exit(1);}
47721 /* Register variable[19]: Local variable */
47722 variable[19] = variable[6] /*nodearraylist9*/;
47723 /* Register variable[20]: Result */
47724 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
47725 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18536); nit_exit(1);}
47726 /* Register variable[20]: Local variable */
47727 variable[20] = variable[4] /*nodearraylist11*/;
47728 /* Register variable[21]: Result */
47729 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47730 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction487___action, LOCATE_parser, 18538); nit_exit(1);}
47731 /* Register variable[21]: Local variable */
47732 /* Register variable[22]: Result */
47733 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*/;
47734 variable[21] = variable[22];
47735 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
47736 /* Register variable[22]: Result */
47737 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(74)) /*Parser::go_to*/;
47738 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
47739 return_label1006: while(false);
47740 tracehead = trace.prev;
47741 return;
47742 }
47743 void parser___ReduceAction487___init(val_t self, int* init_table) {
47744 struct trace_t trace = {NULL, NULL, 18550, LOCATE_parser___ReduceAction487___init};
47745 val_t variable[2];
47746 struct WBT_ **closurevariable = NULL;
47747 trace.prev = tracehead; tracehead = &trace;
47748 trace.file = LOCATE_parser;
47749 /* Register variable[0]: Local variable */
47750 variable[0] = self;
47751 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction487].i]) return;
47752 /* Register variable[1]: Method return value and escape marker */
47753 return_label1007: while(false);
47754 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction487].i] = 1;
47755 tracehead = trace.prev;
47756 return;
47757 }
47758 void parser___ReduceAction488___action(val_t self, val_t param0) {
47759 struct trace_t trace = {NULL, NULL, 18554, LOCATE_parser___ReduceAction488___action};
47760 val_t variable[7];
47761 struct WBT_ **closurevariable = NULL;
47762 trace.prev = tracehead; tracehead = &trace;
47763 trace.file = LOCATE_parser;
47764 /* Register variable[0]: Local variable */
47765 variable[0] = self;
47766 /* Register variable[1]: Local variable */
47767 variable[1] = param0;
47768 /* Register variable[2]: Method return value and escape marker */
47769 /* Register variable[3]: Local variable */
47770 variable[3] = NIT_NULL /*null*/;
47771 /* Register variable[4]: Local variable */
47772 /* Register variable[5]: Result */
47773 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47774 variable[4] = variable[5];
47775 /* Register variable[5]: Local variable */
47776 variable[5] = variable[4] /*nodearraylist1*/;
47777 /* Register variable[6]: Result */
47778 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47779 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction488___action, LOCATE_parser, 18559); nit_exit(1);}
47780 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47781 /* Register variable[6]: Result */
47782 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
47783 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47784 return_label1008: while(false);
47785 tracehead = trace.prev;
47786 return;
47787 }
47788 void parser___ReduceAction488___init(val_t self, int* init_table) {
47789 struct trace_t trace = {NULL, NULL, 18563, LOCATE_parser___ReduceAction488___init};
47790 val_t variable[2];
47791 struct WBT_ **closurevariable = NULL;
47792 trace.prev = tracehead; tracehead = &trace;
47793 trace.file = LOCATE_parser;
47794 /* Register variable[0]: Local variable */
47795 variable[0] = self;
47796 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction488].i]) return;
47797 /* Register variable[1]: Method return value and escape marker */
47798 return_label1009: while(false);
47799 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction488].i] = 1;
47800 tracehead = trace.prev;
47801 return;
47802 }
47803 void parser___ReduceAction489___action(val_t self, val_t param0) {
47804 struct trace_t trace = {NULL, NULL, 18567, LOCATE_parser___ReduceAction489___action};
47805 val_t variable[12];
47806 struct WBT_ **closurevariable = NULL;
47807 trace.prev = tracehead; tracehead = &trace;
47808 trace.file = LOCATE_parser;
47809 /* Register variable[0]: Local variable */
47810 variable[0] = self;
47811 /* Register variable[1]: Local variable */
47812 variable[1] = param0;
47813 /* Register variable[2]: Method return value and escape marker */
47814 /* Register variable[3]: Local variable */
47815 variable[3] = NIT_NULL /*null*/;
47816 /* Register variable[4]: Local variable */
47817 /* Register variable[5]: Result */
47818 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47819 variable[4] = variable[5];
47820 /* Register variable[5]: Local variable */
47821 /* Register variable[6]: Result */
47822 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47823 variable[5] = variable[6];
47824 /* Register variable[6]: Local variable */
47825 /* Register variable[7]: Result */
47826 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47827 variable[6] = variable[7];
47828 /* Register variable[7]: Local variable */
47829 /* Register variable[8]: Result */
47830 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47831 variable[7] = variable[8];
47832 /* Register variable[8]: Local variable */
47833 variable[8] = variable[7] /*nodearraylist1*/;
47834 /* Register variable[9]: Result */
47835 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47836 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 18575); nit_exit(1);}
47837 /* Register variable[9]: Local variable */
47838 variable[9] = variable[4] /*nodearraylist4*/;
47839 /* Register variable[10]: Result */
47840 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47841 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction489___action, LOCATE_parser, 18577); nit_exit(1);}
47842 /* Register variable[10]: Local variable */
47843 /* Register variable[11]: Result */
47844 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AOrExpr*/;
47845 variable[10] = variable[11];
47846 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47847 /* Register variable[11]: Result */
47848 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
47849 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47850 return_label1010: while(false);
47851 tracehead = trace.prev;
47852 return;
47853 }
47854 void parser___ReduceAction489___init(val_t self, int* init_table) {
47855 struct trace_t trace = {NULL, NULL, 18585, LOCATE_parser___ReduceAction489___init};
47856 val_t variable[2];
47857 struct WBT_ **closurevariable = NULL;
47858 trace.prev = tracehead; tracehead = &trace;
47859 trace.file = LOCATE_parser;
47860 /* Register variable[0]: Local variable */
47861 variable[0] = self;
47862 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction489].i]) return;
47863 /* Register variable[1]: Method return value and escape marker */
47864 return_label1011: while(false);
47865 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction489].i] = 1;
47866 tracehead = trace.prev;
47867 return;
47868 }
47869 void parser___ReduceAction490___action(val_t self, val_t param0) {
47870 struct trace_t trace = {NULL, NULL, 18589, LOCATE_parser___ReduceAction490___action};
47871 val_t variable[12];
47872 struct WBT_ **closurevariable = NULL;
47873 trace.prev = tracehead; tracehead = &trace;
47874 trace.file = LOCATE_parser;
47875 /* Register variable[0]: Local variable */
47876 variable[0] = self;
47877 /* Register variable[1]: Local variable */
47878 variable[1] = param0;
47879 /* Register variable[2]: Method return value and escape marker */
47880 /* Register variable[3]: Local variable */
47881 variable[3] = NIT_NULL /*null*/;
47882 /* Register variable[4]: Local variable */
47883 /* Register variable[5]: Result */
47884 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47885 variable[4] = variable[5];
47886 /* Register variable[5]: Local variable */
47887 /* Register variable[6]: Result */
47888 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47889 variable[5] = variable[6];
47890 /* Register variable[6]: Local variable */
47891 /* Register variable[7]: Result */
47892 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47893 variable[6] = variable[7];
47894 /* Register variable[7]: Local variable */
47895 /* Register variable[8]: Result */
47896 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47897 variable[7] = variable[8];
47898 /* Register variable[8]: Local variable */
47899 variable[8] = variable[7] /*nodearraylist1*/;
47900 /* Register variable[9]: Result */
47901 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47902 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 18597); nit_exit(1);}
47903 /* Register variable[9]: Local variable */
47904 variable[9] = variable[4] /*nodearraylist4*/;
47905 /* Register variable[10]: Result */
47906 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47907 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction490___action, LOCATE_parser, 18599); nit_exit(1);}
47908 /* Register variable[10]: Local variable */
47909 /* Register variable[11]: Result */
47910 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AAndExpr*/;
47911 variable[10] = variable[11];
47912 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
47913 /* Register variable[11]: Result */
47914 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(75)) /*Parser::go_to*/;
47915 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
47916 return_label1012: while(false);
47917 tracehead = trace.prev;
47918 return;
47919 }
47920 void parser___ReduceAction490___init(val_t self, int* init_table) {
47921 struct trace_t trace = {NULL, NULL, 18607, LOCATE_parser___ReduceAction490___init};
47922 val_t variable[2];
47923 struct WBT_ **closurevariable = NULL;
47924 trace.prev = tracehead; tracehead = &trace;
47925 trace.file = LOCATE_parser;
47926 /* Register variable[0]: Local variable */
47927 variable[0] = self;
47928 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction490].i]) return;
47929 /* Register variable[1]: Method return value and escape marker */
47930 return_label1013: while(false);
47931 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction490].i] = 1;
47932 tracehead = trace.prev;
47933 return;
47934 }
47935 void parser___ReduceAction491___action(val_t self, val_t param0) {
47936 struct trace_t trace = {NULL, NULL, 18611, LOCATE_parser___ReduceAction491___action};
47937 val_t variable[7];
47938 struct WBT_ **closurevariable = NULL;
47939 trace.prev = tracehead; tracehead = &trace;
47940 trace.file = LOCATE_parser;
47941 /* Register variable[0]: Local variable */
47942 variable[0] = self;
47943 /* Register variable[1]: Local variable */
47944 variable[1] = param0;
47945 /* Register variable[2]: Method return value and escape marker */
47946 /* Register variable[3]: Local variable */
47947 variable[3] = NIT_NULL /*null*/;
47948 /* Register variable[4]: Local variable */
47949 /* Register variable[5]: Result */
47950 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47951 variable[4] = variable[5];
47952 /* Register variable[5]: Local variable */
47953 variable[5] = variable[4] /*nodearraylist1*/;
47954 /* Register variable[6]: Result */
47955 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
47956 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction491___action, LOCATE_parser, 18616); nit_exit(1);}
47957 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
47958 /* Register variable[6]: Result */
47959 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
47960 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
47961 return_label1014: while(false);
47962 tracehead = trace.prev;
47963 return;
47964 }
47965 void parser___ReduceAction491___init(val_t self, int* init_table) {
47966 struct trace_t trace = {NULL, NULL, 18620, LOCATE_parser___ReduceAction491___init};
47967 val_t variable[2];
47968 struct WBT_ **closurevariable = NULL;
47969 trace.prev = tracehead; tracehead = &trace;
47970 trace.file = LOCATE_parser;
47971 /* Register variable[0]: Local variable */
47972 variable[0] = self;
47973 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction491].i]) return;
47974 /* Register variable[1]: Method return value and escape marker */
47975 return_label1015: while(false);
47976 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction491].i] = 1;
47977 tracehead = trace.prev;
47978 return;
47979 }
47980 void parser___ReduceAction492___action(val_t self, val_t param0) {
47981 struct trace_t trace = {NULL, NULL, 18624, LOCATE_parser___ReduceAction492___action};
47982 val_t variable[11];
47983 struct WBT_ **closurevariable = NULL;
47984 trace.prev = tracehead; tracehead = &trace;
47985 trace.file = LOCATE_parser;
47986 /* Register variable[0]: Local variable */
47987 variable[0] = self;
47988 /* Register variable[1]: Local variable */
47989 variable[1] = param0;
47990 /* Register variable[2]: Method return value and escape marker */
47991 /* Register variable[3]: Local variable */
47992 variable[3] = NIT_NULL /*null*/;
47993 /* Register variable[4]: Local variable */
47994 /* Register variable[5]: Result */
47995 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
47996 variable[4] = variable[5];
47997 /* Register variable[5]: Local variable */
47998 /* Register variable[6]: Result */
47999 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48000 variable[5] = variable[6];
48001 /* Register variable[6]: Local variable */
48002 /* Register variable[7]: Result */
48003 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48004 variable[6] = variable[7];
48005 /* Register variable[7]: Local variable */
48006 variable[7] = variable[6] /*nodearraylist1*/;
48007 /* Register variable[8]: Result */
48008 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
48009 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 18631); nit_exit(1);}
48010 /* Register variable[8]: Local variable */
48011 variable[8] = variable[4] /*nodearraylist3*/;
48012 /* Register variable[9]: Result */
48013 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48014 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction492___action, LOCATE_parser, 18633); nit_exit(1);}
48015 /* Register variable[9]: Local variable */
48016 /* Register variable[10]: Result */
48017 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/) /*new ANotExpr*/;
48018 variable[9] = variable[10];
48019 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
48020 /* Register variable[10]: Result */
48021 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(76)) /*Parser::go_to*/;
48022 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
48023 return_label1016: while(false);
48024 tracehead = trace.prev;
48025 return;
48026 }
48027 void parser___ReduceAction492___init(val_t self, int* init_table) {
48028 struct trace_t trace = {NULL, NULL, 18641, LOCATE_parser___ReduceAction492___init};
48029 val_t variable[2];
48030 struct WBT_ **closurevariable = NULL;
48031 trace.prev = tracehead; tracehead = &trace;
48032 trace.file = LOCATE_parser;
48033 /* Register variable[0]: Local variable */
48034 variable[0] = self;
48035 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction492].i]) return;
48036 /* Register variable[1]: Method return value and escape marker */
48037 return_label1017: while(false);
48038 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction492].i] = 1;
48039 tracehead = trace.prev;
48040 return;
48041 }
48042 void parser___ReduceAction493___action(val_t self, val_t param0) {
48043 struct trace_t trace = {NULL, NULL, 18645, LOCATE_parser___ReduceAction493___action};
48044 val_t variable[7];
48045 struct WBT_ **closurevariable = NULL;
48046 trace.prev = tracehead; tracehead = &trace;
48047 trace.file = LOCATE_parser;
48048 /* Register variable[0]: Local variable */
48049 variable[0] = self;
48050 /* Register variable[1]: Local variable */
48051 variable[1] = param0;
48052 /* Register variable[2]: Method return value and escape marker */
48053 /* Register variable[3]: Local variable */
48054 variable[3] = NIT_NULL /*null*/;
48055 /* Register variable[4]: Local variable */
48056 /* Register variable[5]: Result */
48057 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48058 variable[4] = variable[5];
48059 /* Register variable[5]: Local variable */
48060 variable[5] = variable[4] /*nodearraylist1*/;
48061 /* Register variable[6]: Result */
48062 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48063 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction493___action, LOCATE_parser, 18650); nit_exit(1);}
48064 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48065 /* Register variable[6]: Result */
48066 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48067 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48068 return_label1018: while(false);
48069 tracehead = trace.prev;
48070 return;
48071 }
48072 void parser___ReduceAction493___init(val_t self, int* init_table) {
48073 struct trace_t trace = {NULL, NULL, 18654, LOCATE_parser___ReduceAction493___init};
48074 val_t variable[2];
48075 struct WBT_ **closurevariable = NULL;
48076 trace.prev = tracehead; tracehead = &trace;
48077 trace.file = LOCATE_parser;
48078 /* Register variable[0]: Local variable */
48079 variable[0] = self;
48080 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction493].i]) return;
48081 /* Register variable[1]: Method return value and escape marker */
48082 return_label1019: while(false);
48083 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction493].i] = 1;
48084 tracehead = trace.prev;
48085 return;
48086 }
48087 void parser___ReduceAction494___action(val_t self, val_t param0) {
48088 struct trace_t trace = {NULL, NULL, 18658, LOCATE_parser___ReduceAction494___action};
48089 val_t variable[12];
48090 struct WBT_ **closurevariable = NULL;
48091 trace.prev = tracehead; tracehead = &trace;
48092 trace.file = LOCATE_parser;
48093 /* Register variable[0]: Local variable */
48094 variable[0] = self;
48095 /* Register variable[1]: Local variable */
48096 variable[1] = param0;
48097 /* Register variable[2]: Method return value and escape marker */
48098 /* Register variable[3]: Local variable */
48099 variable[3] = NIT_NULL /*null*/;
48100 /* Register variable[4]: Local variable */
48101 /* Register variable[5]: Result */
48102 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48103 variable[4] = variable[5];
48104 /* Register variable[5]: Local variable */
48105 /* Register variable[6]: Result */
48106 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48107 variable[5] = variable[6];
48108 /* Register variable[6]: Local variable */
48109 /* Register variable[7]: Result */
48110 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48111 variable[6] = variable[7];
48112 /* Register variable[7]: Local variable */
48113 /* Register variable[8]: Result */
48114 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48115 variable[7] = variable[8];
48116 /* Register variable[8]: Local variable */
48117 variable[8] = variable[7] /*nodearraylist1*/;
48118 /* Register variable[9]: Result */
48119 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48120 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 18666); nit_exit(1);}
48121 /* Register variable[9]: Local variable */
48122 variable[9] = variable[4] /*nodearraylist4*/;
48123 /* Register variable[10]: Result */
48124 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48125 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction494___action, LOCATE_parser, 18668); nit_exit(1);}
48126 /* Register variable[10]: Local variable */
48127 /* Register variable[11]: Result */
48128 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEqExpr*/;
48129 variable[10] = variable[11];
48130 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48131 /* Register variable[11]: Result */
48132 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48133 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48134 return_label1020: while(false);
48135 tracehead = trace.prev;
48136 return;
48137 }
48138 void parser___ReduceAction494___init(val_t self, int* init_table) {
48139 struct trace_t trace = {NULL, NULL, 18676, LOCATE_parser___ReduceAction494___init};
48140 val_t variable[2];
48141 struct WBT_ **closurevariable = NULL;
48142 trace.prev = tracehead; tracehead = &trace;
48143 trace.file = LOCATE_parser;
48144 /* Register variable[0]: Local variable */
48145 variable[0] = self;
48146 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction494].i]) return;
48147 /* Register variable[1]: Method return value and escape marker */
48148 return_label1021: while(false);
48149 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction494].i] = 1;
48150 tracehead = trace.prev;
48151 return;
48152 }
48153 void parser___ReduceAction495___action(val_t self, val_t param0) {
48154 struct trace_t trace = {NULL, NULL, 18680, LOCATE_parser___ReduceAction495___action};
48155 val_t variable[12];
48156 struct WBT_ **closurevariable = NULL;
48157 trace.prev = tracehead; tracehead = &trace;
48158 trace.file = LOCATE_parser;
48159 /* Register variable[0]: Local variable */
48160 variable[0] = self;
48161 /* Register variable[1]: Local variable */
48162 variable[1] = param0;
48163 /* Register variable[2]: Method return value and escape marker */
48164 /* Register variable[3]: Local variable */
48165 variable[3] = NIT_NULL /*null*/;
48166 /* Register variable[4]: Local variable */
48167 /* Register variable[5]: Result */
48168 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48169 variable[4] = variable[5];
48170 /* Register variable[5]: Local variable */
48171 /* Register variable[6]: Result */
48172 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48173 variable[5] = variable[6];
48174 /* Register variable[6]: Local variable */
48175 /* Register variable[7]: Result */
48176 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48177 variable[6] = variable[7];
48178 /* Register variable[7]: Local variable */
48179 /* Register variable[8]: Result */
48180 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48181 variable[7] = variable[8];
48182 /* Register variable[8]: Local variable */
48183 variable[8] = variable[7] /*nodearraylist1*/;
48184 /* Register variable[9]: Result */
48185 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48186 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 18688); nit_exit(1);}
48187 /* Register variable[9]: Local variable */
48188 variable[9] = variable[4] /*nodearraylist4*/;
48189 /* Register variable[10]: Result */
48190 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48191 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction495___action, LOCATE_parser, 18690); nit_exit(1);}
48192 /* Register variable[10]: Local variable */
48193 /* Register variable[11]: Result */
48194 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEeExpr*/;
48195 variable[10] = variable[11];
48196 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48197 /* Register variable[11]: Result */
48198 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48199 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48200 return_label1022: while(false);
48201 tracehead = trace.prev;
48202 return;
48203 }
48204 void parser___ReduceAction495___init(val_t self, int* init_table) {
48205 struct trace_t trace = {NULL, NULL, 18698, LOCATE_parser___ReduceAction495___init};
48206 val_t variable[2];
48207 struct WBT_ **closurevariable = NULL;
48208 trace.prev = tracehead; tracehead = &trace;
48209 trace.file = LOCATE_parser;
48210 /* Register variable[0]: Local variable */
48211 variable[0] = self;
48212 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction495].i]) return;
48213 /* Register variable[1]: Method return value and escape marker */
48214 return_label1023: while(false);
48215 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction495].i] = 1;
48216 tracehead = trace.prev;
48217 return;
48218 }
48219 void parser___ReduceAction496___action(val_t self, val_t param0) {
48220 struct trace_t trace = {NULL, NULL, 18702, LOCATE_parser___ReduceAction496___action};
48221 val_t variable[12];
48222 struct WBT_ **closurevariable = NULL;
48223 trace.prev = tracehead; tracehead = &trace;
48224 trace.file = LOCATE_parser;
48225 /* Register variable[0]: Local variable */
48226 variable[0] = self;
48227 /* Register variable[1]: Local variable */
48228 variable[1] = param0;
48229 /* Register variable[2]: Method return value and escape marker */
48230 /* Register variable[3]: Local variable */
48231 variable[3] = NIT_NULL /*null*/;
48232 /* Register variable[4]: Local variable */
48233 /* Register variable[5]: Result */
48234 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48235 variable[4] = variable[5];
48236 /* Register variable[5]: Local variable */
48237 /* Register variable[6]: Result */
48238 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48239 variable[5] = variable[6];
48240 /* Register variable[6]: Local variable */
48241 /* Register variable[7]: Result */
48242 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48243 variable[6] = variable[7];
48244 /* Register variable[7]: Local variable */
48245 /* Register variable[8]: Result */
48246 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48247 variable[7] = variable[8];
48248 /* Register variable[8]: Local variable */
48249 variable[8] = variable[7] /*nodearraylist1*/;
48250 /* Register variable[9]: Result */
48251 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48252 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 18710); nit_exit(1);}
48253 /* Register variable[9]: Local variable */
48254 variable[9] = variable[4] /*nodearraylist4*/;
48255 /* Register variable[10]: Result */
48256 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48257 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction496___action, LOCATE_parser, 18712); nit_exit(1);}
48258 /* Register variable[10]: Local variable */
48259 /* Register variable[11]: Result */
48260 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ANeExpr*/;
48261 variable[10] = variable[11];
48262 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48263 /* Register variable[11]: Result */
48264 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48265 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48266 return_label1024: while(false);
48267 tracehead = trace.prev;
48268 return;
48269 }
48270 void parser___ReduceAction496___init(val_t self, int* init_table) {
48271 struct trace_t trace = {NULL, NULL, 18720, LOCATE_parser___ReduceAction496___init};
48272 val_t variable[2];
48273 struct WBT_ **closurevariable = NULL;
48274 trace.prev = tracehead; tracehead = &trace;
48275 trace.file = LOCATE_parser;
48276 /* Register variable[0]: Local variable */
48277 variable[0] = self;
48278 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction496].i]) return;
48279 /* Register variable[1]: Method return value and escape marker */
48280 return_label1025: while(false);
48281 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction496].i] = 1;
48282 tracehead = trace.prev;
48283 return;
48284 }
48285 void parser___ReduceAction497___action(val_t self, val_t param0) {
48286 struct trace_t trace = {NULL, NULL, 18724, LOCATE_parser___ReduceAction497___action};
48287 val_t variable[12];
48288 struct WBT_ **closurevariable = NULL;
48289 trace.prev = tracehead; tracehead = &trace;
48290 trace.file = LOCATE_parser;
48291 /* Register variable[0]: Local variable */
48292 variable[0] = self;
48293 /* Register variable[1]: Local variable */
48294 variable[1] = param0;
48295 /* Register variable[2]: Method return value and escape marker */
48296 /* Register variable[3]: Local variable */
48297 variable[3] = NIT_NULL /*null*/;
48298 /* Register variable[4]: Local variable */
48299 /* Register variable[5]: Result */
48300 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48301 variable[4] = variable[5];
48302 /* Register variable[5]: Local variable */
48303 /* Register variable[6]: Result */
48304 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48305 variable[5] = variable[6];
48306 /* Register variable[6]: Local variable */
48307 /* Register variable[7]: Result */
48308 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48309 variable[6] = variable[7];
48310 /* Register variable[7]: Local variable */
48311 /* Register variable[8]: Result */
48312 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48313 variable[7] = variable[8];
48314 /* Register variable[8]: Local variable */
48315 variable[8] = variable[7] /*nodearraylist1*/;
48316 /* Register variable[9]: Result */
48317 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48318 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 18732); nit_exit(1);}
48319 /* Register variable[9]: Local variable */
48320 variable[9] = variable[4] /*nodearraylist4*/;
48321 /* Register variable[10]: Result */
48322 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48323 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction497___action, LOCATE_parser, 18734); nit_exit(1);}
48324 /* Register variable[10]: Local variable */
48325 /* Register variable[11]: Result */
48326 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALtExpr*/;
48327 variable[10] = variable[11];
48328 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48329 /* Register variable[11]: Result */
48330 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48331 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48332 return_label1026: while(false);
48333 tracehead = trace.prev;
48334 return;
48335 }
48336 void parser___ReduceAction497___init(val_t self, int* init_table) {
48337 struct trace_t trace = {NULL, NULL, 18742, LOCATE_parser___ReduceAction497___init};
48338 val_t variable[2];
48339 struct WBT_ **closurevariable = NULL;
48340 trace.prev = tracehead; tracehead = &trace;
48341 trace.file = LOCATE_parser;
48342 /* Register variable[0]: Local variable */
48343 variable[0] = self;
48344 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction497].i]) return;
48345 /* Register variable[1]: Method return value and escape marker */
48346 return_label1027: while(false);
48347 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction497].i] = 1;
48348 tracehead = trace.prev;
48349 return;
48350 }
48351 void parser___ReduceAction498___action(val_t self, val_t param0) {
48352 struct trace_t trace = {NULL, NULL, 18746, LOCATE_parser___ReduceAction498___action};
48353 val_t variable[12];
48354 struct WBT_ **closurevariable = NULL;
48355 trace.prev = tracehead; tracehead = &trace;
48356 trace.file = LOCATE_parser;
48357 /* Register variable[0]: Local variable */
48358 variable[0] = self;
48359 /* Register variable[1]: Local variable */
48360 variable[1] = param0;
48361 /* Register variable[2]: Method return value and escape marker */
48362 /* Register variable[3]: Local variable */
48363 variable[3] = NIT_NULL /*null*/;
48364 /* Register variable[4]: Local variable */
48365 /* Register variable[5]: Result */
48366 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48367 variable[4] = variable[5];
48368 /* Register variable[5]: Local variable */
48369 /* Register variable[6]: Result */
48370 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48371 variable[5] = variable[6];
48372 /* Register variable[6]: Local variable */
48373 /* Register variable[7]: Result */
48374 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48375 variable[6] = variable[7];
48376 /* Register variable[7]: Local variable */
48377 /* Register variable[8]: Result */
48378 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48379 variable[7] = variable[8];
48380 /* Register variable[8]: Local variable */
48381 variable[8] = variable[7] /*nodearraylist1*/;
48382 /* Register variable[9]: Result */
48383 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48384 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 18754); nit_exit(1);}
48385 /* Register variable[9]: Local variable */
48386 variable[9] = variable[4] /*nodearraylist4*/;
48387 /* Register variable[10]: Result */
48388 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48389 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction498___action, LOCATE_parser, 18756); nit_exit(1);}
48390 /* Register variable[10]: Local variable */
48391 /* Register variable[11]: Result */
48392 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALeExpr*/;
48393 variable[10] = variable[11];
48394 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48395 /* Register variable[11]: Result */
48396 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48397 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48398 return_label1028: while(false);
48399 tracehead = trace.prev;
48400 return;
48401 }
48402 void parser___ReduceAction498___init(val_t self, int* init_table) {
48403 struct trace_t trace = {NULL, NULL, 18764, LOCATE_parser___ReduceAction498___init};
48404 val_t variable[2];
48405 struct WBT_ **closurevariable = NULL;
48406 trace.prev = tracehead; tracehead = &trace;
48407 trace.file = LOCATE_parser;
48408 /* Register variable[0]: Local variable */
48409 variable[0] = self;
48410 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction498].i]) return;
48411 /* Register variable[1]: Method return value and escape marker */
48412 return_label1029: while(false);
48413 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction498].i] = 1;
48414 tracehead = trace.prev;
48415 return;
48416 }
48417 void parser___ReduceAction499___action(val_t self, val_t param0) {
48418 struct trace_t trace = {NULL, NULL, 18768, LOCATE_parser___ReduceAction499___action};
48419 val_t variable[12];
48420 struct WBT_ **closurevariable = NULL;
48421 trace.prev = tracehead; tracehead = &trace;
48422 trace.file = LOCATE_parser;
48423 /* Register variable[0]: Local variable */
48424 variable[0] = self;
48425 /* Register variable[1]: Local variable */
48426 variable[1] = param0;
48427 /* Register variable[2]: Method return value and escape marker */
48428 /* Register variable[3]: Local variable */
48429 variable[3] = NIT_NULL /*null*/;
48430 /* Register variable[4]: Local variable */
48431 /* Register variable[5]: Result */
48432 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48433 variable[4] = variable[5];
48434 /* Register variable[5]: Local variable */
48435 /* Register variable[6]: Result */
48436 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48437 variable[5] = variable[6];
48438 /* Register variable[6]: Local variable */
48439 /* Register variable[7]: Result */
48440 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48441 variable[6] = variable[7];
48442 /* Register variable[7]: Local variable */
48443 /* Register variable[8]: Result */
48444 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48445 variable[7] = variable[8];
48446 /* Register variable[8]: Local variable */
48447 variable[8] = variable[7] /*nodearraylist1*/;
48448 /* Register variable[9]: Result */
48449 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48450 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 18776); nit_exit(1);}
48451 /* Register variable[9]: Local variable */
48452 variable[9] = variable[4] /*nodearraylist4*/;
48453 /* Register variable[10]: Result */
48454 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48455 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction499___action, LOCATE_parser, 18778); nit_exit(1);}
48456 /* Register variable[10]: Local variable */
48457 /* Register variable[11]: Result */
48458 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGtExpr*/;
48459 variable[10] = variable[11];
48460 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48461 /* Register variable[11]: Result */
48462 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48463 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48464 return_label1030: while(false);
48465 tracehead = trace.prev;
48466 return;
48467 }
48468 void parser___ReduceAction499___init(val_t self, int* init_table) {
48469 struct trace_t trace = {NULL, NULL, 18786, LOCATE_parser___ReduceAction499___init};
48470 val_t variable[2];
48471 struct WBT_ **closurevariable = NULL;
48472 trace.prev = tracehead; tracehead = &trace;
48473 trace.file = LOCATE_parser;
48474 /* Register variable[0]: Local variable */
48475 variable[0] = self;
48476 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction499].i]) return;
48477 /* Register variable[1]: Method return value and escape marker */
48478 return_label1031: while(false);
48479 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction499].i] = 1;
48480 tracehead = trace.prev;
48481 return;
48482 }
48483 void parser___ReduceAction500___action(val_t self, val_t param0) {
48484 struct trace_t trace = {NULL, NULL, 18790, LOCATE_parser___ReduceAction500___action};
48485 val_t variable[12];
48486 struct WBT_ **closurevariable = NULL;
48487 trace.prev = tracehead; tracehead = &trace;
48488 trace.file = LOCATE_parser;
48489 /* Register variable[0]: Local variable */
48490 variable[0] = self;
48491 /* Register variable[1]: Local variable */
48492 variable[1] = param0;
48493 /* Register variable[2]: Method return value and escape marker */
48494 /* Register variable[3]: Local variable */
48495 variable[3] = NIT_NULL /*null*/;
48496 /* Register variable[4]: Local variable */
48497 /* Register variable[5]: Result */
48498 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48499 variable[4] = variable[5];
48500 /* Register variable[5]: Local variable */
48501 /* Register variable[6]: Result */
48502 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48503 variable[5] = variable[6];
48504 /* Register variable[6]: Local variable */
48505 /* Register variable[7]: Result */
48506 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48507 variable[6] = variable[7];
48508 /* Register variable[7]: Local variable */
48509 /* Register variable[8]: Result */
48510 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48511 variable[7] = variable[8];
48512 /* Register variable[8]: Local variable */
48513 variable[8] = variable[7] /*nodearraylist1*/;
48514 /* Register variable[9]: Result */
48515 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48516 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 18798); nit_exit(1);}
48517 /* Register variable[9]: Local variable */
48518 variable[9] = variable[4] /*nodearraylist4*/;
48519 /* Register variable[10]: Result */
48520 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48521 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction500___action, LOCATE_parser, 18800); nit_exit(1);}
48522 /* Register variable[10]: Local variable */
48523 /* Register variable[11]: Result */
48524 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGeExpr*/;
48525 variable[10] = variable[11];
48526 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48527 /* Register variable[11]: Result */
48528 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48529 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48530 return_label1032: while(false);
48531 tracehead = trace.prev;
48532 return;
48533 }
48534 void parser___ReduceAction500___init(val_t self, int* init_table) {
48535 struct trace_t trace = {NULL, NULL, 18808, LOCATE_parser___ReduceAction500___init};
48536 val_t variable[2];
48537 struct WBT_ **closurevariable = NULL;
48538 trace.prev = tracehead; tracehead = &trace;
48539 trace.file = LOCATE_parser;
48540 /* Register variable[0]: Local variable */
48541 variable[0] = self;
48542 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction500].i]) return;
48543 /* Register variable[1]: Method return value and escape marker */
48544 return_label1033: while(false);
48545 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction500].i] = 1;
48546 tracehead = trace.prev;
48547 return;
48548 }
48549 void parser___ReduceAction501___action(val_t self, val_t param0) {
48550 struct trace_t trace = {NULL, NULL, 18812, LOCATE_parser___ReduceAction501___action};
48551 val_t variable[12];
48552 struct WBT_ **closurevariable = NULL;
48553 trace.prev = tracehead; tracehead = &trace;
48554 trace.file = LOCATE_parser;
48555 /* Register variable[0]: Local variable */
48556 variable[0] = self;
48557 /* Register variable[1]: Local variable */
48558 variable[1] = param0;
48559 /* Register variable[2]: Method return value and escape marker */
48560 /* Register variable[3]: Local variable */
48561 variable[3] = NIT_NULL /*null*/;
48562 /* Register variable[4]: Local variable */
48563 /* Register variable[5]: Result */
48564 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48565 variable[4] = variable[5];
48566 /* Register variable[5]: Local variable */
48567 /* Register variable[6]: Result */
48568 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48569 variable[5] = variable[6];
48570 /* Register variable[6]: Local variable */
48571 /* Register variable[7]: Result */
48572 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48573 variable[6] = variable[7];
48574 /* Register variable[7]: Local variable */
48575 /* Register variable[8]: Result */
48576 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48577 variable[7] = variable[8];
48578 /* Register variable[8]: Local variable */
48579 variable[8] = variable[7] /*nodearraylist1*/;
48580 /* Register variable[9]: Result */
48581 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48582 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 18820); nit_exit(1);}
48583 /* Register variable[9]: Local variable */
48584 variable[9] = variable[4] /*nodearraylist4*/;
48585 /* Register variable[10]: Result */
48586 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48587 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction501___action, LOCATE_parser, 18822); nit_exit(1);}
48588 /* Register variable[10]: Local variable */
48589 /* Register variable[11]: Result */
48590 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarshipExpr*/;
48591 variable[10] = variable[11];
48592 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48593 /* Register variable[11]: Result */
48594 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48595 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48596 return_label1034: while(false);
48597 tracehead = trace.prev;
48598 return;
48599 }
48600 void parser___ReduceAction501___init(val_t self, int* init_table) {
48601 struct trace_t trace = {NULL, NULL, 18830, LOCATE_parser___ReduceAction501___init};
48602 val_t variable[2];
48603 struct WBT_ **closurevariable = NULL;
48604 trace.prev = tracehead; tracehead = &trace;
48605 trace.file = LOCATE_parser;
48606 /* Register variable[0]: Local variable */
48607 variable[0] = self;
48608 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction501].i]) return;
48609 /* Register variable[1]: Method return value and escape marker */
48610 return_label1035: while(false);
48611 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction501].i] = 1;
48612 tracehead = trace.prev;
48613 return;
48614 }
48615 void parser___ReduceAction502___action(val_t self, val_t param0) {
48616 struct trace_t trace = {NULL, NULL, 18834, LOCATE_parser___ReduceAction502___action};
48617 val_t variable[12];
48618 struct WBT_ **closurevariable = NULL;
48619 trace.prev = tracehead; tracehead = &trace;
48620 trace.file = LOCATE_parser;
48621 /* Register variable[0]: Local variable */
48622 variable[0] = self;
48623 /* Register variable[1]: Local variable */
48624 variable[1] = param0;
48625 /* Register variable[2]: Method return value and escape marker */
48626 /* Register variable[3]: Local variable */
48627 variable[3] = NIT_NULL /*null*/;
48628 /* Register variable[4]: Local variable */
48629 /* Register variable[5]: Result */
48630 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48631 variable[4] = variable[5];
48632 /* Register variable[5]: Local variable */
48633 /* Register variable[6]: Result */
48634 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48635 variable[5] = variable[6];
48636 /* Register variable[6]: Local variable */
48637 /* Register variable[7]: Result */
48638 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48639 variable[6] = variable[7];
48640 /* Register variable[7]: Local variable */
48641 /* Register variable[8]: Result */
48642 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48643 variable[7] = variable[8];
48644 /* Register variable[8]: Local variable */
48645 variable[8] = variable[7] /*nodearraylist1*/;
48646 /* Register variable[9]: Result */
48647 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48648 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 18842); nit_exit(1);}
48649 /* Register variable[9]: Local variable */
48650 variable[9] = variable[4] /*nodearraylist4*/;
48651 /* Register variable[10]: Result */
48652 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
48653 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction502___action, LOCATE_parser, 18844); nit_exit(1);}
48654 /* Register variable[10]: Local variable */
48655 /* Register variable[11]: Result */
48656 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/) /*new AIsaExpr*/;
48657 variable[10] = variable[11];
48658 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48659 /* Register variable[11]: Result */
48660 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(77)) /*Parser::go_to*/;
48661 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48662 return_label1036: while(false);
48663 tracehead = trace.prev;
48664 return;
48665 }
48666 void parser___ReduceAction502___init(val_t self, int* init_table) {
48667 struct trace_t trace = {NULL, NULL, 18852, LOCATE_parser___ReduceAction502___init};
48668 val_t variable[2];
48669 struct WBT_ **closurevariable = NULL;
48670 trace.prev = tracehead; tracehead = &trace;
48671 trace.file = LOCATE_parser;
48672 /* Register variable[0]: Local variable */
48673 variable[0] = self;
48674 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction502].i]) return;
48675 /* Register variable[1]: Method return value and escape marker */
48676 return_label1037: while(false);
48677 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction502].i] = 1;
48678 tracehead = trace.prev;
48679 return;
48680 }
48681 void parser___ReduceAction503___action(val_t self, val_t param0) {
48682 struct trace_t trace = {NULL, NULL, 18856, LOCATE_parser___ReduceAction503___action};
48683 val_t variable[7];
48684 struct WBT_ **closurevariable = NULL;
48685 trace.prev = tracehead; tracehead = &trace;
48686 trace.file = LOCATE_parser;
48687 /* Register variable[0]: Local variable */
48688 variable[0] = self;
48689 /* Register variable[1]: Local variable */
48690 variable[1] = param0;
48691 /* Register variable[2]: Method return value and escape marker */
48692 /* Register variable[3]: Local variable */
48693 variable[3] = NIT_NULL /*null*/;
48694 /* Register variable[4]: Local variable */
48695 /* Register variable[5]: Result */
48696 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48697 variable[4] = variable[5];
48698 /* Register variable[5]: Local variable */
48699 variable[5] = variable[4] /*nodearraylist1*/;
48700 /* Register variable[6]: Result */
48701 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48702 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction503___action, LOCATE_parser, 18861); nit_exit(1);}
48703 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48704 /* Register variable[6]: Result */
48705 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
48706 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48707 return_label1038: while(false);
48708 tracehead = trace.prev;
48709 return;
48710 }
48711 void parser___ReduceAction503___init(val_t self, int* init_table) {
48712 struct trace_t trace = {NULL, NULL, 18865, LOCATE_parser___ReduceAction503___init};
48713 val_t variable[2];
48714 struct WBT_ **closurevariable = NULL;
48715 trace.prev = tracehead; tracehead = &trace;
48716 trace.file = LOCATE_parser;
48717 /* Register variable[0]: Local variable */
48718 variable[0] = self;
48719 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction503].i]) return;
48720 /* Register variable[1]: Method return value and escape marker */
48721 return_label1039: while(false);
48722 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction503].i] = 1;
48723 tracehead = trace.prev;
48724 return;
48725 }
48726 void parser___ReduceAction504___action(val_t self, val_t param0) {
48727 struct trace_t trace = {NULL, NULL, 18869, LOCATE_parser___ReduceAction504___action};
48728 val_t variable[12];
48729 struct WBT_ **closurevariable = NULL;
48730 trace.prev = tracehead; tracehead = &trace;
48731 trace.file = LOCATE_parser;
48732 /* Register variable[0]: Local variable */
48733 variable[0] = self;
48734 /* Register variable[1]: Local variable */
48735 variable[1] = param0;
48736 /* Register variable[2]: Method return value and escape marker */
48737 /* Register variable[3]: Local variable */
48738 variable[3] = NIT_NULL /*null*/;
48739 /* Register variable[4]: Local variable */
48740 /* Register variable[5]: Result */
48741 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48742 variable[4] = variable[5];
48743 /* Register variable[5]: Local variable */
48744 /* Register variable[6]: Result */
48745 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48746 variable[5] = variable[6];
48747 /* Register variable[6]: Local variable */
48748 /* Register variable[7]: Result */
48749 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48750 variable[6] = variable[7];
48751 /* Register variable[7]: Local variable */
48752 /* Register variable[8]: Result */
48753 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48754 variable[7] = variable[8];
48755 /* Register variable[8]: Local variable */
48756 variable[8] = variable[7] /*nodearraylist1*/;
48757 /* Register variable[9]: Result */
48758 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48759 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 18877); nit_exit(1);}
48760 /* Register variable[9]: Local variable */
48761 variable[9] = variable[4] /*nodearraylist4*/;
48762 /* Register variable[10]: Result */
48763 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48764 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction504___action, LOCATE_parser, 18879); nit_exit(1);}
48765 /* Register variable[10]: Local variable */
48766 /* Register variable[11]: Result */
48767 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APlusExpr*/;
48768 variable[10] = variable[11];
48769 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48770 /* Register variable[11]: Result */
48771 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
48772 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48773 return_label1040: while(false);
48774 tracehead = trace.prev;
48775 return;
48776 }
48777 void parser___ReduceAction504___init(val_t self, int* init_table) {
48778 struct trace_t trace = {NULL, NULL, 18887, LOCATE_parser___ReduceAction504___init};
48779 val_t variable[2];
48780 struct WBT_ **closurevariable = NULL;
48781 trace.prev = tracehead; tracehead = &trace;
48782 trace.file = LOCATE_parser;
48783 /* Register variable[0]: Local variable */
48784 variable[0] = self;
48785 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction504].i]) return;
48786 /* Register variable[1]: Method return value and escape marker */
48787 return_label1041: while(false);
48788 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction504].i] = 1;
48789 tracehead = trace.prev;
48790 return;
48791 }
48792 void parser___ReduceAction505___action(val_t self, val_t param0) {
48793 struct trace_t trace = {NULL, NULL, 18891, LOCATE_parser___ReduceAction505___action};
48794 val_t variable[12];
48795 struct WBT_ **closurevariable = NULL;
48796 trace.prev = tracehead; tracehead = &trace;
48797 trace.file = LOCATE_parser;
48798 /* Register variable[0]: Local variable */
48799 variable[0] = self;
48800 /* Register variable[1]: Local variable */
48801 variable[1] = param0;
48802 /* Register variable[2]: Method return value and escape marker */
48803 /* Register variable[3]: Local variable */
48804 variable[3] = NIT_NULL /*null*/;
48805 /* Register variable[4]: Local variable */
48806 /* Register variable[5]: Result */
48807 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48808 variable[4] = variable[5];
48809 /* Register variable[5]: Local variable */
48810 /* Register variable[6]: Result */
48811 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48812 variable[5] = variable[6];
48813 /* Register variable[6]: Local variable */
48814 /* Register variable[7]: Result */
48815 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48816 variable[6] = variable[7];
48817 /* Register variable[7]: Local variable */
48818 /* Register variable[8]: Result */
48819 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48820 variable[7] = variable[8];
48821 /* Register variable[8]: Local variable */
48822 variable[8] = variable[7] /*nodearraylist1*/;
48823 /* Register variable[9]: Result */
48824 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48825 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 18899); nit_exit(1);}
48826 /* Register variable[9]: Local variable */
48827 variable[9] = variable[4] /*nodearraylist4*/;
48828 /* Register variable[10]: Result */
48829 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48830 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction505___action, LOCATE_parser, 18901); nit_exit(1);}
48831 /* Register variable[10]: Local variable */
48832 /* Register variable[11]: Result */
48833 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AMinusExpr*/;
48834 variable[10] = variable[11];
48835 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48836 /* Register variable[11]: Result */
48837 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(78)) /*Parser::go_to*/;
48838 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48839 return_label1042: while(false);
48840 tracehead = trace.prev;
48841 return;
48842 }
48843 void parser___ReduceAction505___init(val_t self, int* init_table) {
48844 struct trace_t trace = {NULL, NULL, 18909, LOCATE_parser___ReduceAction505___init};
48845 val_t variable[2];
48846 struct WBT_ **closurevariable = NULL;
48847 trace.prev = tracehead; tracehead = &trace;
48848 trace.file = LOCATE_parser;
48849 /* Register variable[0]: Local variable */
48850 variable[0] = self;
48851 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction505].i]) return;
48852 /* Register variable[1]: Method return value and escape marker */
48853 return_label1043: while(false);
48854 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction505].i] = 1;
48855 tracehead = trace.prev;
48856 return;
48857 }
48858 void parser___ReduceAction506___action(val_t self, val_t param0) {
48859 struct trace_t trace = {NULL, NULL, 18913, LOCATE_parser___ReduceAction506___action};
48860 val_t variable[7];
48861 struct WBT_ **closurevariable = NULL;
48862 trace.prev = tracehead; tracehead = &trace;
48863 trace.file = LOCATE_parser;
48864 /* Register variable[0]: Local variable */
48865 variable[0] = self;
48866 /* Register variable[1]: Local variable */
48867 variable[1] = param0;
48868 /* Register variable[2]: Method return value and escape marker */
48869 /* Register variable[3]: Local variable */
48870 variable[3] = NIT_NULL /*null*/;
48871 /* Register variable[4]: Local variable */
48872 /* Register variable[5]: Result */
48873 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48874 variable[4] = variable[5];
48875 /* Register variable[5]: Local variable */
48876 variable[5] = variable[4] /*nodearraylist1*/;
48877 /* Register variable[6]: Result */
48878 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48879 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction506___action, LOCATE_parser, 18918); nit_exit(1);}
48880 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
48881 /* Register variable[6]: Result */
48882 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
48883 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
48884 return_label1044: while(false);
48885 tracehead = trace.prev;
48886 return;
48887 }
48888 void parser___ReduceAction506___init(val_t self, int* init_table) {
48889 struct trace_t trace = {NULL, NULL, 18922, LOCATE_parser___ReduceAction506___init};
48890 val_t variable[2];
48891 struct WBT_ **closurevariable = NULL;
48892 trace.prev = tracehead; tracehead = &trace;
48893 trace.file = LOCATE_parser;
48894 /* Register variable[0]: Local variable */
48895 variable[0] = self;
48896 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction506].i]) return;
48897 /* Register variable[1]: Method return value and escape marker */
48898 return_label1045: while(false);
48899 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction506].i] = 1;
48900 tracehead = trace.prev;
48901 return;
48902 }
48903 void parser___ReduceAction507___action(val_t self, val_t param0) {
48904 struct trace_t trace = {NULL, NULL, 18926, LOCATE_parser___ReduceAction507___action};
48905 val_t variable[12];
48906 struct WBT_ **closurevariable = NULL;
48907 trace.prev = tracehead; tracehead = &trace;
48908 trace.file = LOCATE_parser;
48909 /* Register variable[0]: Local variable */
48910 variable[0] = self;
48911 /* Register variable[1]: Local variable */
48912 variable[1] = param0;
48913 /* Register variable[2]: Method return value and escape marker */
48914 /* Register variable[3]: Local variable */
48915 variable[3] = NIT_NULL /*null*/;
48916 /* Register variable[4]: Local variable */
48917 /* Register variable[5]: Result */
48918 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48919 variable[4] = variable[5];
48920 /* Register variable[5]: Local variable */
48921 /* Register variable[6]: Result */
48922 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48923 variable[5] = variable[6];
48924 /* Register variable[6]: Local variable */
48925 /* Register variable[7]: Result */
48926 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48927 variable[6] = variable[7];
48928 /* Register variable[7]: Local variable */
48929 /* Register variable[8]: Result */
48930 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48931 variable[7] = variable[8];
48932 /* Register variable[8]: Local variable */
48933 variable[8] = variable[7] /*nodearraylist1*/;
48934 /* Register variable[9]: Result */
48935 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48936 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 18934); nit_exit(1);}
48937 /* Register variable[9]: Local variable */
48938 variable[9] = variable[4] /*nodearraylist4*/;
48939 /* Register variable[10]: Result */
48940 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
48941 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction507___action, LOCATE_parser, 18936); nit_exit(1);}
48942 /* Register variable[10]: Local variable */
48943 /* Register variable[11]: Result */
48944 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarExpr*/;
48945 variable[10] = variable[11];
48946 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
48947 /* Register variable[11]: Result */
48948 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
48949 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
48950 return_label1046: while(false);
48951 tracehead = trace.prev;
48952 return;
48953 }
48954 void parser___ReduceAction507___init(val_t self, int* init_table) {
48955 struct trace_t trace = {NULL, NULL, 18944, LOCATE_parser___ReduceAction507___init};
48956 val_t variable[2];
48957 struct WBT_ **closurevariable = NULL;
48958 trace.prev = tracehead; tracehead = &trace;
48959 trace.file = LOCATE_parser;
48960 /* Register variable[0]: Local variable */
48961 variable[0] = self;
48962 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction507].i]) return;
48963 /* Register variable[1]: Method return value and escape marker */
48964 return_label1047: while(false);
48965 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction507].i] = 1;
48966 tracehead = trace.prev;
48967 return;
48968 }
48969 void parser___ReduceAction508___action(val_t self, val_t param0) {
48970 struct trace_t trace = {NULL, NULL, 18948, LOCATE_parser___ReduceAction508___action};
48971 val_t variable[12];
48972 struct WBT_ **closurevariable = NULL;
48973 trace.prev = tracehead; tracehead = &trace;
48974 trace.file = LOCATE_parser;
48975 /* Register variable[0]: Local variable */
48976 variable[0] = self;
48977 /* Register variable[1]: Local variable */
48978 variable[1] = param0;
48979 /* Register variable[2]: Method return value and escape marker */
48980 /* Register variable[3]: Local variable */
48981 variable[3] = NIT_NULL /*null*/;
48982 /* Register variable[4]: Local variable */
48983 /* Register variable[5]: Result */
48984 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48985 variable[4] = variable[5];
48986 /* Register variable[5]: Local variable */
48987 /* Register variable[6]: Result */
48988 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48989 variable[5] = variable[6];
48990 /* Register variable[6]: Local variable */
48991 /* Register variable[7]: Result */
48992 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48993 variable[6] = variable[7];
48994 /* Register variable[7]: Local variable */
48995 /* Register variable[8]: Result */
48996 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
48997 variable[7] = variable[8];
48998 /* Register variable[8]: Local variable */
48999 variable[8] = variable[7] /*nodearraylist1*/;
49000 /* Register variable[9]: Result */
49001 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49002 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 18956); nit_exit(1);}
49003 /* Register variable[9]: Local variable */
49004 variable[9] = variable[4] /*nodearraylist4*/;
49005 /* Register variable[10]: Result */
49006 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49007 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction508___action, LOCATE_parser, 18958); nit_exit(1);}
49008 /* Register variable[10]: Local variable */
49009 /* Register variable[11]: Result */
49010 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ASlashExpr*/;
49011 variable[10] = variable[11];
49012 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49013 /* Register variable[11]: Result */
49014 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
49015 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49016 return_label1048: while(false);
49017 tracehead = trace.prev;
49018 return;
49019 }
49020 void parser___ReduceAction508___init(val_t self, int* init_table) {
49021 struct trace_t trace = {NULL, NULL, 18966, LOCATE_parser___ReduceAction508___init};
49022 val_t variable[2];
49023 struct WBT_ **closurevariable = NULL;
49024 trace.prev = tracehead; tracehead = &trace;
49025 trace.file = LOCATE_parser;
49026 /* Register variable[0]: Local variable */
49027 variable[0] = self;
49028 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction508].i]) return;
49029 /* Register variable[1]: Method return value and escape marker */
49030 return_label1049: while(false);
49031 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction508].i] = 1;
49032 tracehead = trace.prev;
49033 return;
49034 }
49035 void parser___ReduceAction509___action(val_t self, val_t param0) {
49036 struct trace_t trace = {NULL, NULL, 18970, LOCATE_parser___ReduceAction509___action};
49037 val_t variable[12];
49038 struct WBT_ **closurevariable = NULL;
49039 trace.prev = tracehead; tracehead = &trace;
49040 trace.file = LOCATE_parser;
49041 /* Register variable[0]: Local variable */
49042 variable[0] = self;
49043 /* Register variable[1]: Local variable */
49044 variable[1] = param0;
49045 /* Register variable[2]: Method return value and escape marker */
49046 /* Register variable[3]: Local variable */
49047 variable[3] = NIT_NULL /*null*/;
49048 /* Register variable[4]: Local variable */
49049 /* Register variable[5]: Result */
49050 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49051 variable[4] = variable[5];
49052 /* Register variable[5]: Local variable */
49053 /* Register variable[6]: Result */
49054 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49055 variable[5] = variable[6];
49056 /* Register variable[6]: Local variable */
49057 /* Register variable[7]: Result */
49058 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49059 variable[6] = variable[7];
49060 /* Register variable[7]: Local variable */
49061 /* Register variable[8]: Result */
49062 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49063 variable[7] = variable[8];
49064 /* Register variable[8]: Local variable */
49065 variable[8] = variable[7] /*nodearraylist1*/;
49066 /* Register variable[9]: Result */
49067 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49068 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 18978); nit_exit(1);}
49069 /* Register variable[9]: Local variable */
49070 variable[9] = variable[4] /*nodearraylist4*/;
49071 /* Register variable[10]: Result */
49072 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49073 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction509___action, LOCATE_parser, 18980); nit_exit(1);}
49074 /* Register variable[10]: Local variable */
49075 /* Register variable[11]: Result */
49076 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APercentExpr*/;
49077 variable[10] = variable[11];
49078 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49079 /* Register variable[11]: Result */
49080 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(79)) /*Parser::go_to*/;
49081 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49082 return_label1050: while(false);
49083 tracehead = trace.prev;
49084 return;
49085 }
49086 void parser___ReduceAction509___init(val_t self, int* init_table) {
49087 struct trace_t trace = {NULL, NULL, 18988, LOCATE_parser___ReduceAction509___init};
49088 val_t variable[2];
49089 struct WBT_ **closurevariable = NULL;
49090 trace.prev = tracehead; tracehead = &trace;
49091 trace.file = LOCATE_parser;
49092 /* Register variable[0]: Local variable */
49093 variable[0] = self;
49094 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction509].i]) return;
49095 /* Register variable[1]: Method return value and escape marker */
49096 return_label1051: while(false);
49097 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction509].i] = 1;
49098 tracehead = trace.prev;
49099 return;
49100 }
49101 void parser___ReduceAction510___action(val_t self, val_t param0) {
49102 struct trace_t trace = {NULL, NULL, 18992, LOCATE_parser___ReduceAction510___action};
49103 val_t variable[7];
49104 struct WBT_ **closurevariable = NULL;
49105 trace.prev = tracehead; tracehead = &trace;
49106 trace.file = LOCATE_parser;
49107 /* Register variable[0]: Local variable */
49108 variable[0] = self;
49109 /* Register variable[1]: Local variable */
49110 variable[1] = param0;
49111 /* Register variable[2]: Method return value and escape marker */
49112 /* Register variable[3]: Local variable */
49113 variable[3] = NIT_NULL /*null*/;
49114 /* Register variable[4]: Local variable */
49115 /* Register variable[5]: Result */
49116 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49117 variable[4] = variable[5];
49118 /* Register variable[5]: Local variable */
49119 variable[5] = variable[4] /*nodearraylist1*/;
49120 /* Register variable[6]: Result */
49121 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49122 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction510___action, LOCATE_parser, 18997); nit_exit(1);}
49123 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49124 /* Register variable[6]: Result */
49125 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
49126 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49127 return_label1052: while(false);
49128 tracehead = trace.prev;
49129 return;
49130 }
49131 void parser___ReduceAction510___init(val_t self, int* init_table) {
49132 struct trace_t trace = {NULL, NULL, 19001, LOCATE_parser___ReduceAction510___init};
49133 val_t variable[2];
49134 struct WBT_ **closurevariable = NULL;
49135 trace.prev = tracehead; tracehead = &trace;
49136 trace.file = LOCATE_parser;
49137 /* Register variable[0]: Local variable */
49138 variable[0] = self;
49139 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction510].i]) return;
49140 /* Register variable[1]: Method return value and escape marker */
49141 return_label1053: while(false);
49142 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction510].i] = 1;
49143 tracehead = trace.prev;
49144 return;
49145 }
49146 void parser___ReduceAction511___action(val_t self, val_t param0) {
49147 struct trace_t trace = {NULL, NULL, 19005, LOCATE_parser___ReduceAction511___action};
49148 val_t variable[11];
49149 struct WBT_ **closurevariable = NULL;
49150 trace.prev = tracehead; tracehead = &trace;
49151 trace.file = LOCATE_parser;
49152 /* Register variable[0]: Local variable */
49153 variable[0] = self;
49154 /* Register variable[1]: Local variable */
49155 variable[1] = param0;
49156 /* Register variable[2]: Method return value and escape marker */
49157 /* Register variable[3]: Local variable */
49158 variable[3] = NIT_NULL /*null*/;
49159 /* Register variable[4]: Local variable */
49160 /* Register variable[5]: Result */
49161 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49162 variable[4] = variable[5];
49163 /* Register variable[5]: Local variable */
49164 /* Register variable[6]: Result */
49165 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49166 variable[5] = variable[6];
49167 /* Register variable[6]: Local variable */
49168 /* Register variable[7]: Result */
49169 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49170 variable[6] = variable[7];
49171 /* Register variable[7]: Local variable */
49172 variable[7] = variable[6] /*nodearraylist1*/;
49173 /* Register variable[8]: Result */
49174 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
49175 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 19012); nit_exit(1);}
49176 /* Register variable[8]: Local variable */
49177 variable[8] = variable[4] /*nodearraylist3*/;
49178 /* Register variable[9]: Result */
49179 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49180 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction511___action, LOCATE_parser, 19014); nit_exit(1);}
49181 /* Register variable[9]: Local variable */
49182 /* Register variable[10]: Result */
49183 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/) /*new AUminusExpr*/;
49184 variable[9] = variable[10];
49185 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49186 /* Register variable[10]: Result */
49187 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
49188 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49189 return_label1054: while(false);
49190 tracehead = trace.prev;
49191 return;
49192 }
49193 void parser___ReduceAction511___init(val_t self, int* init_table) {
49194 struct trace_t trace = {NULL, NULL, 19022, LOCATE_parser___ReduceAction511___init};
49195 val_t variable[2];
49196 struct WBT_ **closurevariable = NULL;
49197 trace.prev = tracehead; tracehead = &trace;
49198 trace.file = LOCATE_parser;
49199 /* Register variable[0]: Local variable */
49200 variable[0] = self;
49201 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction511].i]) return;
49202 /* Register variable[1]: Method return value and escape marker */
49203 return_label1055: while(false);
49204 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction511].i] = 1;
49205 tracehead = trace.prev;
49206 return;
49207 }
49208 void parser___ReduceAction512___action(val_t self, val_t param0) {
49209 struct trace_t trace = {NULL, NULL, 19026, LOCATE_parser___ReduceAction512___action};
49210 val_t variable[11];
49211 struct WBT_ **closurevariable = NULL;
49212 trace.prev = tracehead; tracehead = &trace;
49213 trace.file = LOCATE_parser;
49214 /* Register variable[0]: Local variable */
49215 variable[0] = self;
49216 /* Register variable[1]: Local variable */
49217 variable[1] = param0;
49218 /* Register variable[2]: Method return value and escape marker */
49219 /* Register variable[3]: Local variable */
49220 variable[3] = NIT_NULL /*null*/;
49221 /* Register variable[4]: Local variable */
49222 /* Register variable[5]: Result */
49223 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49224 variable[4] = variable[5];
49225 /* Register variable[5]: Local variable */
49226 /* Register variable[6]: Result */
49227 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49228 variable[5] = variable[6];
49229 /* Register variable[6]: Local variable */
49230 /* Register variable[7]: Result */
49231 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49232 variable[6] = variable[7];
49233 /* Register variable[7]: Local variable */
49234 variable[7] = variable[6] /*nodearraylist1*/;
49235 /* Register variable[8]: Result */
49236 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
49237 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 19033); nit_exit(1);}
49238 /* Register variable[8]: Local variable */
49239 variable[8] = variable[4] /*nodearraylist3*/;
49240 /* Register variable[9]: Result */
49241 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49242 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction512___action, LOCATE_parser, 19035); nit_exit(1);}
49243 /* Register variable[9]: Local variable */
49244 /* Register variable[10]: Result */
49245 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/) /*new AOnceExpr*/;
49246 variable[9] = variable[10];
49247 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49248 /* Register variable[10]: Result */
49249 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(80)) /*Parser::go_to*/;
49250 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49251 return_label1056: while(false);
49252 tracehead = trace.prev;
49253 return;
49254 }
49255 void parser___ReduceAction512___init(val_t self, int* init_table) {
49256 struct trace_t trace = {NULL, NULL, 19043, LOCATE_parser___ReduceAction512___init};
49257 val_t variable[2];
49258 struct WBT_ **closurevariable = NULL;
49259 trace.prev = tracehead; tracehead = &trace;
49260 trace.file = LOCATE_parser;
49261 /* Register variable[0]: Local variable */
49262 variable[0] = self;
49263 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction512].i]) return;
49264 /* Register variable[1]: Method return value and escape marker */
49265 return_label1057: while(false);
49266 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction512].i] = 1;
49267 tracehead = trace.prev;
49268 return;
49269 }
49270 void parser___ReduceAction513___action(val_t self, val_t param0) {
49271 struct trace_t trace = {NULL, NULL, 19047, LOCATE_parser___ReduceAction513___action};
49272 val_t variable[7];
49273 struct WBT_ **closurevariable = NULL;
49274 trace.prev = tracehead; tracehead = &trace;
49275 trace.file = LOCATE_parser;
49276 /* Register variable[0]: Local variable */
49277 variable[0] = self;
49278 /* Register variable[1]: Local variable */
49279 variable[1] = param0;
49280 /* Register variable[2]: Method return value and escape marker */
49281 /* Register variable[3]: Local variable */
49282 variable[3] = NIT_NULL /*null*/;
49283 /* Register variable[4]: Local variable */
49284 /* Register variable[5]: Result */
49285 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49286 variable[4] = variable[5];
49287 /* Register variable[5]: Local variable */
49288 variable[5] = variable[4] /*nodearraylist1*/;
49289 /* Register variable[6]: Result */
49290 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49291 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction513___action, LOCATE_parser, 19052); nit_exit(1);}
49292 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
49293 /* Register variable[6]: Result */
49294 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
49295 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
49296 return_label1058: while(false);
49297 tracehead = trace.prev;
49298 return;
49299 }
49300 void parser___ReduceAction513___init(val_t self, int* init_table) {
49301 struct trace_t trace = {NULL, NULL, 19056, LOCATE_parser___ReduceAction513___init};
49302 val_t variable[2];
49303 struct WBT_ **closurevariable = NULL;
49304 trace.prev = tracehead; tracehead = &trace;
49305 trace.file = LOCATE_parser;
49306 /* Register variable[0]: Local variable */
49307 variable[0] = self;
49308 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction513].i]) return;
49309 /* Register variable[1]: Method return value and escape marker */
49310 return_label1059: while(false);
49311 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction513].i] = 1;
49312 tracehead = trace.prev;
49313 return;
49314 }
49315 void parser___ReduceAction514___action(val_t self, val_t param0) {
49316 struct trace_t trace = {NULL, NULL, 19060, LOCATE_parser___ReduceAction514___action};
49317 val_t variable[14];
49318 struct WBT_ **closurevariable = NULL;
49319 trace.prev = tracehead; tracehead = &trace;
49320 trace.file = LOCATE_parser;
49321 /* Register variable[0]: Local variable */
49322 variable[0] = self;
49323 /* Register variable[1]: Local variable */
49324 variable[1] = param0;
49325 /* Register variable[2]: Method return value and escape marker */
49326 /* Register variable[3]: Local variable */
49327 variable[3] = NIT_NULL /*null*/;
49328 /* Register variable[4]: Local variable */
49329 /* Register variable[5]: Result */
49330 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49331 variable[4] = variable[5];
49332 /* Register variable[5]: Local variable */
49333 /* Register variable[6]: Result */
49334 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49335 variable[5] = variable[6];
49336 /* Register variable[6]: Local variable */
49337 /* Register variable[7]: Result */
49338 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49339 variable[6] = variable[7];
49340 /* Register variable[7]: Local variable */
49341 /* Register variable[8]: Result */
49342 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49343 variable[7] = variable[8];
49344 /* Register variable[8]: Local variable */
49345 /* Register variable[9]: Result */
49346 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49347 variable[8] = variable[9];
49348 /* Register variable[9]: Local variable */
49349 variable[9] = variable[7] /*nodearraylist1*/;
49350 /* Register variable[10]: Result */
49351 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
49352 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 19069); nit_exit(1);}
49353 /* Register variable[10]: Local variable */
49354 variable[10] = variable[5] /*nodearraylist3*/;
49355 /* Register variable[11]: Result */
49356 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
49357 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 19071); nit_exit(1);}
49358 /* Register variable[11]: Local variable */
49359 variable[11] = variable[4] /*nodearraylist4*/;
49360 /* Register variable[12]: Result */
49361 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
49362 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction514___action, LOCATE_parser, 19073); nit_exit(1);}
49363 /* Register variable[12]: Result */
49364 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::==*/)))))));
49365 if (UNTAG_Bool(variable[12])) { /*if*/
49366 /* Register variable[12]: Result */
49367 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
49368 if (UNTAG_Bool(variable[12])) { /*if*/
49369 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
49370 } else { /*if*/
49371 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
49372 }
49373 }
49374 /* Register variable[12]: Local variable */
49375 /* Register variable[13]: Result */
49376 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/) /*new ANewExpr*/;
49377 variable[12] = variable[13];
49378 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
49379 /* Register variable[13]: Result */
49380 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
49381 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
49382 return_label1060: while(false);
49383 tracehead = trace.prev;
49384 return;
49385 }
49386 void parser___ReduceAction514___init(val_t self, int* init_table) {
49387 struct trace_t trace = {NULL, NULL, 19090, LOCATE_parser___ReduceAction514___init};
49388 val_t variable[2];
49389 struct WBT_ **closurevariable = NULL;
49390 trace.prev = tracehead; tracehead = &trace;
49391 trace.file = LOCATE_parser;
49392 /* Register variable[0]: Local variable */
49393 variable[0] = self;
49394 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction514].i]) return;
49395 /* Register variable[1]: Method return value and escape marker */
49396 return_label1061: while(false);
49397 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction514].i] = 1;
49398 tracehead = trace.prev;
49399 return;
49400 }
49401 void parser___ReduceAction515___action(val_t self, val_t param0) {
49402 struct trace_t trace = {NULL, NULL, 19094, LOCATE_parser___ReduceAction515___action};
49403 val_t variable[14];
49404 struct WBT_ **closurevariable = NULL;
49405 trace.prev = tracehead; tracehead = &trace;
49406 trace.file = LOCATE_parser;
49407 /* Register variable[0]: Local variable */
49408 variable[0] = self;
49409 /* Register variable[1]: Local variable */
49410 variable[1] = param0;
49411 /* Register variable[2]: Method return value and escape marker */
49412 /* Register variable[3]: Local variable */
49413 variable[3] = NIT_NULL /*null*/;
49414 /* Register variable[4]: Local variable */
49415 /* Register variable[5]: Result */
49416 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49417 variable[4] = variable[5];
49418 /* Register variable[5]: Local variable */
49419 /* Register variable[6]: Result */
49420 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49421 variable[5] = variable[6];
49422 /* Register variable[6]: Local variable */
49423 /* Register variable[7]: Result */
49424 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49425 variable[6] = variable[7];
49426 /* Register variable[7]: Local variable */
49427 /* Register variable[8]: Result */
49428 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49429 variable[7] = variable[8];
49430 /* Register variable[8]: Local variable */
49431 /* Register variable[9]: Result */
49432 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49433 variable[8] = variable[9];
49434 /* Register variable[9]: Local variable */
49435 variable[9] = variable[8] /*nodearraylist1*/;
49436 /* Register variable[10]: Result */
49437 variable[10] = TAG_Bool(( variable[9] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
49438 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 19103); nit_exit(1);}
49439 /* Register variable[10]: Local variable */
49440 variable[10] = variable[7] /*nodearraylist2*/;
49441 /* Register variable[11]: Result */
49442 variable[11] = TAG_Bool(( variable[10] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49443 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 19105); nit_exit(1);}
49444 /* Register variable[11]: Local variable */
49445 variable[11] = variable[4] /*nodearraylist5*/;
49446 /* Register variable[12]: Result */
49447 variable[12] = TAG_Bool(( variable[11] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
49448 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction515___action, LOCATE_parser, 19107); nit_exit(1);}
49449 /* Register variable[12]: Local variable */
49450 /* Register variable[13]: Result */
49451 variable[13] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[9] /*tkwissetnode2*/, variable[10] /*pexprnode3*/, variable[11] /*tattridnode4*/) /*new AIssetAttrExpr*/;
49452 variable[12] = variable[13];
49453 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
49454 /* Register variable[13]: Result */
49455 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
49456 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
49457 return_label1062: while(false);
49458 tracehead = trace.prev;
49459 return;
49460 }
49461 void parser___ReduceAction515___init(val_t self, int* init_table) {
49462 struct trace_t trace = {NULL, NULL, 19116, LOCATE_parser___ReduceAction515___init};
49463 val_t variable[2];
49464 struct WBT_ **closurevariable = NULL;
49465 trace.prev = tracehead; tracehead = &trace;
49466 trace.file = LOCATE_parser;
49467 /* Register variable[0]: Local variable */
49468 variable[0] = self;
49469 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction515].i]) return;
49470 /* Register variable[1]: Method return value and escape marker */
49471 return_label1063: while(false);
49472 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction515].i] = 1;
49473 tracehead = trace.prev;
49474 return;
49475 }
49476 void parser___ReduceAction516___action(val_t self, val_t param0) {
49477 struct trace_t trace = {NULL, NULL, 19120, LOCATE_parser___ReduceAction516___action};
49478 val_t variable[11];
49479 struct WBT_ **closurevariable = NULL;
49480 trace.prev = tracehead; tracehead = &trace;
49481 trace.file = LOCATE_parser;
49482 /* Register variable[0]: Local variable */
49483 variable[0] = self;
49484 /* Register variable[1]: Local variable */
49485 variable[1] = param0;
49486 /* Register variable[2]: Method return value and escape marker */
49487 /* Register variable[3]: Local variable */
49488 variable[3] = NIT_NULL /*null*/;
49489 /* Register variable[4]: Local variable */
49490 /* Register variable[5]: Result */
49491 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49492 variable[4] = variable[5];
49493 /* Register variable[5]: Local variable */
49494 /* Register variable[6]: Result */
49495 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49496 variable[5] = variable[6];
49497 /* Register variable[6]: Local variable */
49498 variable[6] = variable[5] /*nodearraylist1*/;
49499 /* Register variable[7]: Result */
49500 variable[7] = TAG_Bool(( variable[6] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
49501 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 19126); nit_exit(1);}
49502 /* Register variable[7]: Local variable */
49503 /* Register variable[8]: Result */
49504 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
49505 variable[7] = variable[8];
49506 /* Register variable[8]: Local variable */
49507 variable[8] = variable[4] /*nodearraylist2*/;
49508 /* Register variable[9]: Result */
49509 variable[9] = TAG_Bool(( variable[8] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
49510 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction516___action, LOCATE_parser, 19130); nit_exit(1);}
49511 /* Register variable[9]: Local variable */
49512 /* Register variable[10]: Result */
49513 variable[10] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[6] /*tkwissetnode2*/, variable[7] /*pexprnode3*/, variable[8] /*tattridnode4*/) /*new AIssetAttrExpr*/;
49514 variable[9] = variable[10];
49515 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49516 /* Register variable[10]: Result */
49517 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(81)) /*Parser::go_to*/;
49518 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49519 return_label1064: while(false);
49520 tracehead = trace.prev;
49521 return;
49522 }
49523 void parser___ReduceAction516___init(val_t self, int* init_table) {
49524 struct trace_t trace = {NULL, NULL, 19139, LOCATE_parser___ReduceAction516___init};
49525 val_t variable[2];
49526 struct WBT_ **closurevariable = NULL;
49527 trace.prev = tracehead; tracehead = &trace;
49528 trace.file = LOCATE_parser;
49529 /* Register variable[0]: Local variable */
49530 variable[0] = self;
49531 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction516].i]) return;
49532 /* Register variable[1]: Method return value and escape marker */
49533 return_label1065: while(false);
49534 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction516].i] = 1;
49535 tracehead = trace.prev;
49536 return;
49537 }
49538 void parser___ReduceAction517___action(val_t self, val_t param0) {
49539 struct trace_t trace = {NULL, NULL, 19143, LOCATE_parser___ReduceAction517___action};
49540 val_t variable[12];
49541 struct WBT_ **closurevariable = NULL;
49542 trace.prev = tracehead; tracehead = &trace;
49543 trace.file = LOCATE_parser;
49544 /* Register variable[0]: Local variable */
49545 variable[0] = self;
49546 /* Register variable[1]: Local variable */
49547 variable[1] = param0;
49548 /* Register variable[2]: Method return value and escape marker */
49549 /* Register variable[3]: Local variable */
49550 variable[3] = NIT_NULL /*null*/;
49551 /* Register variable[4]: Local variable */
49552 /* Register variable[5]: Result */
49553 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49554 variable[4] = variable[5];
49555 /* Register variable[5]: Local variable */
49556 /* Register variable[6]: Result */
49557 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49558 variable[5] = variable[6];
49559 /* Register variable[6]: Local variable */
49560 /* Register variable[7]: Result */
49561 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49562 variable[6] = variable[7];
49563 /* Register variable[7]: Local variable */
49564 /* Register variable[8]: Result */
49565 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49566 variable[7] = variable[8];
49567 /* Register variable[8]: Local variable */
49568 variable[8] = variable[7] /*nodearraylist1*/;
49569 /* Register variable[9]: Result */
49570 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49571 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 19151); nit_exit(1);}
49572 /* Register variable[9]: Local variable */
49573 variable[9] = variable[4] /*nodearraylist4*/;
49574 /* Register variable[10]: Result */
49575 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
49576 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction517___action, LOCATE_parser, 19153); nit_exit(1);}
49577 /* Register variable[10]: Local variable */
49578 /* Register variable[11]: Result */
49579 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/) /*new AAttrExpr*/;
49580 variable[10] = variable[11];
49581 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
49582 /* Register variable[11]: Result */
49583 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49584 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
49585 return_label1066: while(false);
49586 tracehead = trace.prev;
49587 return;
49588 }
49589 void parser___ReduceAction517___init(val_t self, int* init_table) {
49590 struct trace_t trace = {NULL, NULL, 19161, LOCATE_parser___ReduceAction517___init};
49591 val_t variable[2];
49592 struct WBT_ **closurevariable = NULL;
49593 trace.prev = tracehead; tracehead = &trace;
49594 trace.file = LOCATE_parser;
49595 /* Register variable[0]: Local variable */
49596 variable[0] = self;
49597 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction517].i]) return;
49598 /* Register variable[1]: Method return value and escape marker */
49599 return_label1067: while(false);
49600 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction517].i] = 1;
49601 tracehead = trace.prev;
49602 return;
49603 }
49604 void parser___ReduceAction518___action(val_t self, val_t param0) {
49605 struct trace_t trace = {NULL, NULL, 19165, LOCATE_parser___ReduceAction518___action};
49606 val_t variable[9];
49607 struct WBT_ **closurevariable = NULL;
49608 trace.prev = tracehead; tracehead = &trace;
49609 trace.file = LOCATE_parser;
49610 /* Register variable[0]: Local variable */
49611 variable[0] = self;
49612 /* Register variable[1]: Local variable */
49613 variable[1] = param0;
49614 /* Register variable[2]: Method return value and escape marker */
49615 /* Register variable[3]: Local variable */
49616 variable[3] = NIT_NULL /*null*/;
49617 /* Register variable[4]: Local variable */
49618 /* Register variable[5]: Result */
49619 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49620 variable[4] = variable[5];
49621 /* Register variable[5]: Local variable */
49622 /* Register variable[6]: Result */
49623 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
49624 variable[5] = variable[6];
49625 /* Register variable[6]: Local variable */
49626 variable[6] = variable[4] /*nodearraylist1*/;
49627 /* Register variable[7]: Result */
49628 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
49629 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction518___action, LOCATE_parser, 19172); nit_exit(1);}
49630 /* Register variable[7]: Local variable */
49631 /* Register variable[8]: Result */
49632 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/) /*new AAttrExpr*/;
49633 variable[7] = variable[8];
49634 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
49635 /* Register variable[8]: Result */
49636 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49637 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
49638 return_label1068: while(false);
49639 tracehead = trace.prev;
49640 return;
49641 }
49642 void parser___ReduceAction518___init(val_t self, int* init_table) {
49643 struct trace_t trace = {NULL, NULL, 19180, LOCATE_parser___ReduceAction518___init};
49644 val_t variable[2];
49645 struct WBT_ **closurevariable = NULL;
49646 trace.prev = tracehead; tracehead = &trace;
49647 trace.file = LOCATE_parser;
49648 /* Register variable[0]: Local variable */
49649 variable[0] = self;
49650 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction518].i]) return;
49651 /* Register variable[1]: Method return value and escape marker */
49652 return_label1069: while(false);
49653 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction518].i] = 1;
49654 tracehead = trace.prev;
49655 return;
49656 }
49657 void parser___ReduceAction519___action(val_t self, val_t param0) {
49658 struct trace_t trace = {NULL, NULL, 19184, LOCATE_parser___ReduceAction519___action};
49659 val_t variable[16];
49660 struct WBT_ **closurevariable = NULL;
49661 trace.prev = tracehead; tracehead = &trace;
49662 trace.file = LOCATE_parser;
49663 /* Register variable[0]: Local variable */
49664 variable[0] = self;
49665 /* Register variable[1]: Local variable */
49666 variable[1] = param0;
49667 /* Register variable[2]: Method return value and escape marker */
49668 /* Register variable[3]: Local variable */
49669 variable[3] = NIT_NULL /*null*/;
49670 /* Register variable[4]: Local variable */
49671 /* Register variable[5]: Result */
49672 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49673 variable[4] = variable[5];
49674 /* Register variable[5]: Local variable */
49675 /* Register variable[6]: Result */
49676 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49677 variable[5] = variable[6];
49678 /* Register variable[6]: Local variable */
49679 /* Register variable[7]: Result */
49680 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49681 variable[6] = variable[7];
49682 /* Register variable[7]: Local variable */
49683 /* Register variable[8]: Result */
49684 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49685 variable[7] = variable[8];
49686 /* Register variable[8]: Local variable */
49687 /* Register variable[9]: Result */
49688 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49689 variable[8] = variable[9];
49690 /* Register variable[9]: Local variable */
49691 /* Register variable[10]: Result */
49692 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49693 variable[9] = variable[10];
49694 /* Register variable[10]: Local variable */
49695 /* Register variable[11]: Result */
49696 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49697 variable[10] = variable[11];
49698 /* Register variable[11]: Local variable */
49699 variable[11] = variable[8] /*nodearraylist1*/;
49700 /* Register variable[12]: Result */
49701 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
49702 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 19195); nit_exit(1);}
49703 /* Register variable[12]: Local variable */
49704 variable[12] = variable[5] /*nodearraylist4*/;
49705 /* Register variable[13]: Result */
49706 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
49707 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 19197); nit_exit(1);}
49708 /* Register variable[13]: Local variable */
49709 variable[13] = variable[4] /*nodearraylist5*/;
49710 /* Register variable[14]: Result */
49711 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
49712 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction519___action, LOCATE_parser, 19199); nit_exit(1);}
49713 /* Register variable[14]: Result */
49714 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::==*/)))))));
49715 if (UNTAG_Bool(variable[14])) { /*if*/
49716 /* Register variable[14]: Result */
49717 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
49718 if (UNTAG_Bool(variable[14])) { /*if*/
49719 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
49720 } else { /*if*/
49721 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
49722 }
49723 }
49724 /* Register variable[14]: Local variable */
49725 /* Register variable[15]: Result */
49726 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/) /*new ACallExpr*/;
49727 variable[14] = variable[15];
49728 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
49729 /* Register variable[15]: Result */
49730 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49731 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
49732 return_label1070: while(false);
49733 tracehead = trace.prev;
49734 return;
49735 }
49736 void parser___ReduceAction519___init(val_t self, int* init_table) {
49737 struct trace_t trace = {NULL, NULL, 19216, LOCATE_parser___ReduceAction519___init};
49738 val_t variable[2];
49739 struct WBT_ **closurevariable = NULL;
49740 trace.prev = tracehead; tracehead = &trace;
49741 trace.file = LOCATE_parser;
49742 /* Register variable[0]: Local variable */
49743 variable[0] = self;
49744 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction519].i]) return;
49745 /* Register variable[1]: Method return value and escape marker */
49746 return_label1071: while(false);
49747 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction519].i] = 1;
49748 tracehead = trace.prev;
49749 return;
49750 }
49751 void parser___ReduceAction520___action(val_t self, val_t param0) {
49752 struct trace_t trace = {NULL, NULL, 19220, LOCATE_parser___ReduceAction520___action};
49753 val_t variable[13];
49754 struct WBT_ **closurevariable = NULL;
49755 trace.prev = tracehead; tracehead = &trace;
49756 trace.file = LOCATE_parser;
49757 /* Register variable[0]: Local variable */
49758 variable[0] = self;
49759 /* Register variable[1]: Local variable */
49760 variable[1] = param0;
49761 /* Register variable[2]: Method return value and escape marker */
49762 /* Register variable[3]: Local variable */
49763 variable[3] = NIT_NULL /*null*/;
49764 /* Register variable[4]: Local variable */
49765 /* Register variable[5]: Result */
49766 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49767 variable[4] = variable[5];
49768 /* Register variable[5]: Local variable */
49769 /* Register variable[6]: Result */
49770 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49771 variable[5] = variable[6];
49772 /* Register variable[6]: Local variable */
49773 /* Register variable[7]: Result */
49774 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49775 variable[6] = variable[7];
49776 /* Register variable[7]: Local variable */
49777 /* Register variable[8]: Result */
49778 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49779 variable[7] = variable[8];
49780 /* Register variable[8]: Local variable */
49781 /* Register variable[9]: Result */
49782 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
49783 variable[8] = variable[9];
49784 /* Register variable[9]: Local variable */
49785 variable[9] = variable[5] /*nodearraylist1*/;
49786 /* Register variable[10]: Result */
49787 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
49788 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 19230); nit_exit(1);}
49789 /* Register variable[10]: Local variable */
49790 variable[10] = variable[4] /*nodearraylist2*/;
49791 /* Register variable[11]: Result */
49792 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
49793 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction520___action, LOCATE_parser, 19232); nit_exit(1);}
49794 /* Register variable[11]: Result */
49795 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::==*/)))))));
49796 if (UNTAG_Bool(variable[11])) { /*if*/
49797 /* Register variable[11]: Result */
49798 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
49799 if (UNTAG_Bool(variable[11])) { /*if*/
49800 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
49801 } else { /*if*/
49802 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
49803 }
49804 }
49805 /* Register variable[11]: Local variable */
49806 /* Register variable[12]: Result */
49807 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/) /*new ACallExpr*/;
49808 variable[11] = variable[12];
49809 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
49810 /* Register variable[12]: Result */
49811 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49812 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
49813 return_label1072: while(false);
49814 tracehead = trace.prev;
49815 return;
49816 }
49817 void parser___ReduceAction520___init(val_t self, int* init_table) {
49818 struct trace_t trace = {NULL, NULL, 19249, LOCATE_parser___ReduceAction520___init};
49819 val_t variable[2];
49820 struct WBT_ **closurevariable = NULL;
49821 trace.prev = tracehead; tracehead = &trace;
49822 trace.file = LOCATE_parser;
49823 /* Register variable[0]: Local variable */
49824 variable[0] = self;
49825 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction520].i]) return;
49826 /* Register variable[1]: Method return value and escape marker */
49827 return_label1073: while(false);
49828 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction520].i] = 1;
49829 tracehead = trace.prev;
49830 return;
49831 }
49832 void parser___ReduceAction521___action(val_t self, val_t param0) {
49833 struct trace_t trace = {NULL, NULL, 19253, LOCATE_parser___ReduceAction521___action};
49834 val_t variable[11];
49835 struct WBT_ **closurevariable = NULL;
49836 trace.prev = tracehead; tracehead = &trace;
49837 trace.file = LOCATE_parser;
49838 /* Register variable[0]: Local variable */
49839 variable[0] = self;
49840 /* Register variable[1]: Local variable */
49841 variable[1] = param0;
49842 /* Register variable[2]: Method return value and escape marker */
49843 /* Register variable[3]: Local variable */
49844 variable[3] = NIT_NULL /*null*/;
49845 /* Register variable[4]: Local variable */
49846 /* Register variable[5]: Result */
49847 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49848 variable[4] = variable[5];
49849 /* Register variable[5]: Local variable */
49850 /* Register variable[6]: Result */
49851 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49852 variable[5] = variable[6];
49853 /* Register variable[6]: Local variable */
49854 /* Register variable[7]: Result */
49855 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49856 variable[6] = variable[7];
49857 /* Register variable[7]: Local variable */
49858 variable[7] = variable[5] /*nodearraylist1*/;
49859 /* Register variable[8]: Result */
49860 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
49861 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 19260); nit_exit(1);}
49862 /* Register variable[8]: Local variable */
49863 variable[8] = variable[4] /*nodearraylist2*/;
49864 /* Register variable[9]: Result */
49865 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
49866 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction521___action, LOCATE_parser, 19262); nit_exit(1);}
49867 /* Register variable[9]: Result */
49868 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::==*/)))))));
49869 if (UNTAG_Bool(variable[9])) { /*if*/
49870 /* Register variable[9]: Result */
49871 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
49872 if (UNTAG_Bool(variable[9])) { /*if*/
49873 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
49874 } else { /*if*/
49875 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
49876 }
49877 }
49878 /* Register variable[9]: Local variable */
49879 /* Register variable[10]: Result */
49880 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
49881 variable[9] = variable[10];
49882 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
49883 /* Register variable[10]: Result */
49884 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49885 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
49886 return_label1074: while(false);
49887 tracehead = trace.prev;
49888 return;
49889 }
49890 void parser___ReduceAction521___init(val_t self, int* init_table) {
49891 struct trace_t trace = {NULL, NULL, 19278, LOCATE_parser___ReduceAction521___init};
49892 val_t variable[2];
49893 struct WBT_ **closurevariable = NULL;
49894 trace.prev = tracehead; tracehead = &trace;
49895 trace.file = LOCATE_parser;
49896 /* Register variable[0]: Local variable */
49897 variable[0] = self;
49898 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction521].i]) return;
49899 /* Register variable[1]: Method return value and escape marker */
49900 return_label1075: while(false);
49901 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction521].i] = 1;
49902 tracehead = trace.prev;
49903 return;
49904 }
49905 void parser___ReduceAction522___action(val_t self, val_t param0) {
49906 struct trace_t trace = {NULL, NULL, 19282, LOCATE_parser___ReduceAction522___action};
49907 val_t variable[13];
49908 struct WBT_ **closurevariable = NULL;
49909 trace.prev = tracehead; tracehead = &trace;
49910 trace.file = LOCATE_parser;
49911 /* Register variable[0]: Local variable */
49912 variable[0] = self;
49913 /* Register variable[1]: Local variable */
49914 variable[1] = param0;
49915 /* Register variable[2]: Method return value and escape marker */
49916 /* Register variable[3]: Local variable */
49917 variable[3] = NIT_NULL /*null*/;
49918 /* Register variable[4]: Local variable */
49919 /* Register variable[5]: Result */
49920 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49921 variable[4] = variable[5];
49922 /* Register variable[5]: Local variable */
49923 /* Register variable[6]: Result */
49924 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49925 variable[5] = variable[6];
49926 /* Register variable[6]: Local variable */
49927 /* Register variable[7]: Result */
49928 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
49929 variable[6] = variable[7];
49930 /* Register variable[7]: Local variable */
49931 /* Register variable[8]: Result */
49932 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
49933 variable[7] = variable[8];
49934 /* Register variable[8]: Local variable */
49935 variable[8] = variable[6] /*nodearraylist1*/;
49936 /* Register variable[9]: Result */
49937 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
49938 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 19290); nit_exit(1);}
49939 /* Register variable[9]: Local variable */
49940 variable[9] = variable[5] /*nodearraylist2*/;
49941 /* Register variable[10]: Result */
49942 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
49943 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 19292); nit_exit(1);}
49944 /* Register variable[10]: Local variable */
49945 variable[10] = variable[4] /*nodearraylist3*/;
49946 /* Register variable[11]: Result */
49947 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
49948 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction522___action, LOCATE_parser, 19294); nit_exit(1);}
49949 /* Register variable[11]: Result */
49950 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::==*/)))))));
49951 if (UNTAG_Bool(variable[11])) { /*if*/
49952 /* Register variable[11]: Result */
49953 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
49954 if (UNTAG_Bool(variable[11])) { /*if*/
49955 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
49956 } else { /*if*/
49957 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
49958 }
49959 }
49960 /* Register variable[11]: Local variable */
49961 /* Register variable[12]: Result */
49962 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
49963 variable[11] = variable[12];
49964 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
49965 /* Register variable[12]: Result */
49966 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
49967 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
49968 return_label1076: while(false);
49969 tracehead = trace.prev;
49970 return;
49971 }
49972 void parser___ReduceAction522___init(val_t self, int* init_table) {
49973 struct trace_t trace = {NULL, NULL, 19310, LOCATE_parser___ReduceAction522___init};
49974 val_t variable[2];
49975 struct WBT_ **closurevariable = NULL;
49976 trace.prev = tracehead; tracehead = &trace;
49977 trace.file = LOCATE_parser;
49978 /* Register variable[0]: Local variable */
49979 variable[0] = self;
49980 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction522].i]) return;
49981 /* Register variable[1]: Method return value and escape marker */
49982 return_label1077: while(false);
49983 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction522].i] = 1;
49984 tracehead = trace.prev;
49985 return;
49986 }
49987 void parser___ReduceAction523___action(val_t self, val_t param0) {
49988 struct trace_t trace = {NULL, NULL, 19314, LOCATE_parser___ReduceAction523___action};
49989 val_t variable[15];
49990 struct WBT_ **closurevariable = NULL;
49991 trace.prev = tracehead; tracehead = &trace;
49992 trace.file = LOCATE_parser;
49993 /* Register variable[0]: Local variable */
49994 variable[0] = self;
49995 /* Register variable[1]: Local variable */
49996 variable[1] = param0;
49997 /* Register variable[2]: Method return value and escape marker */
49998 /* Register variable[3]: Local variable */
49999 variable[3] = NIT_NULL /*null*/;
50000 /* Register variable[4]: Local variable */
50001 /* Register variable[5]: Result */
50002 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50003 variable[4] = variable[5];
50004 /* Register variable[5]: Local variable */
50005 /* Register variable[6]: Result */
50006 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50007 variable[5] = variable[6];
50008 /* Register variable[6]: Local variable */
50009 /* Register variable[7]: Result */
50010 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50011 variable[6] = variable[7];
50012 /* Register variable[7]: Local variable */
50013 /* Register variable[8]: Result */
50014 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50015 variable[7] = variable[8];
50016 /* Register variable[8]: Local variable */
50017 /* Register variable[9]: Result */
50018 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50019 variable[8] = variable[9];
50020 /* Register variable[9]: Local variable */
50021 /* Register variable[10]: Result */
50022 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
50023 variable[9] = variable[10];
50024 /* Register variable[10]: Local variable */
50025 variable[10] = variable[8] /*nodearraylist1*/;
50026 /* Register variable[11]: Result */
50027 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50028 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 19324); nit_exit(1);}
50029 /* Register variable[11]: Local variable */
50030 variable[11] = variable[5] /*nodearraylist4*/;
50031 /* Register variable[12]: Result */
50032 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
50033 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 19326); nit_exit(1);}
50034 /* Register variable[12]: Local variable */
50035 variable[12] = variable[4] /*nodearraylist5*/;
50036 /* Register variable[13]: Result */
50037 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50038 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction523___action, LOCATE_parser, 19328); nit_exit(1);}
50039 /* Register variable[13]: Result */
50040 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::==*/)))))));
50041 if (UNTAG_Bool(variable[13])) { /*if*/
50042 /* Register variable[13]: Result */
50043 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
50044 if (UNTAG_Bool(variable[13])) { /*if*/
50045 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
50046 } else { /*if*/
50047 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
50048 }
50049 }
50050 /* Register variable[13]: Local variable */
50051 /* Register variable[14]: Result */
50052 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/) /*new AInitExpr*/;
50053 variable[13] = variable[14];
50054 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
50055 /* Register variable[14]: Result */
50056 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50057 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
50058 return_label1078: while(false);
50059 tracehead = trace.prev;
50060 return;
50061 }
50062 void parser___ReduceAction523___init(val_t self, int* init_table) {
50063 struct trace_t trace = {NULL, NULL, 19344, LOCATE_parser___ReduceAction523___init};
50064 val_t variable[2];
50065 struct WBT_ **closurevariable = NULL;
50066 trace.prev = tracehead; tracehead = &trace;
50067 trace.file = LOCATE_parser;
50068 /* Register variable[0]: Local variable */
50069 variable[0] = self;
50070 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction523].i]) return;
50071 /* Register variable[1]: Method return value and escape marker */
50072 return_label1079: while(false);
50073 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction523].i] = 1;
50074 tracehead = trace.prev;
50075 return;
50076 }
50077 void parser___ReduceAction524___action(val_t self, val_t param0) {
50078 struct trace_t trace = {NULL, NULL, 19348, LOCATE_parser___ReduceAction524___action};
50079 val_t variable[12];
50080 struct WBT_ **closurevariable = NULL;
50081 trace.prev = tracehead; tracehead = &trace;
50082 trace.file = LOCATE_parser;
50083 /* Register variable[0]: Local variable */
50084 variable[0] = self;
50085 /* Register variable[1]: Local variable */
50086 variable[1] = param0;
50087 /* Register variable[2]: Method return value and escape marker */
50088 /* Register variable[3]: Local variable */
50089 variable[3] = NIT_NULL /*null*/;
50090 /* Register variable[4]: Local variable */
50091 /* Register variable[5]: Result */
50092 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50093 variable[4] = variable[5];
50094 /* Register variable[5]: Local variable */
50095 /* Register variable[6]: Result */
50096 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50097 variable[5] = variable[6];
50098 /* Register variable[6]: Local variable */
50099 /* Register variable[7]: Result */
50100 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
50101 variable[6] = variable[7];
50102 /* Register variable[7]: Local variable */
50103 /* Register variable[8]: Result */
50104 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
50105 variable[7] = variable[8];
50106 /* Register variable[8]: Local variable */
50107 variable[8] = variable[5] /*nodearraylist1*/;
50108 /* Register variable[9]: Result */
50109 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
50110 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 19357); nit_exit(1);}
50111 /* Register variable[9]: Local variable */
50112 variable[9] = variable[4] /*nodearraylist2*/;
50113 /* Register variable[10]: Result */
50114 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50115 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction524___action, LOCATE_parser, 19359); nit_exit(1);}
50116 /* Register variable[10]: Result */
50117 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::==*/)))))));
50118 if (UNTAG_Bool(variable[10])) { /*if*/
50119 /* Register variable[10]: Result */
50120 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
50121 if (UNTAG_Bool(variable[10])) { /*if*/
50122 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
50123 } else { /*if*/
50124 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
50125 }
50126 }
50127 /* Register variable[10]: Local variable */
50128 /* Register variable[11]: Result */
50129 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/) /*new AInitExpr*/;
50130 variable[10] = variable[11];
50131 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
50132 /* Register variable[11]: Result */
50133 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50134 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
50135 return_label1080: while(false);
50136 tracehead = trace.prev;
50137 return;
50138 }
50139 void parser___ReduceAction524___init(val_t self, int* init_table) {
50140 struct trace_t trace = {NULL, NULL, 19375, LOCATE_parser___ReduceAction524___init};
50141 val_t variable[2];
50142 struct WBT_ **closurevariable = NULL;
50143 trace.prev = tracehead; tracehead = &trace;
50144 trace.file = LOCATE_parser;
50145 /* Register variable[0]: Local variable */
50146 variable[0] = self;
50147 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction524].i]) return;
50148 /* Register variable[1]: Method return value and escape marker */
50149 return_label1081: while(false);
50150 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction524].i] = 1;
50151 tracehead = trace.prev;
50152 return;
50153 }
50154 void parser___ReduceAction525___action(val_t self, val_t param0) {
50155 struct trace_t trace = {NULL, NULL, 19379, LOCATE_parser___ReduceAction525___action};
50156 val_t variable[18];
50157 struct WBT_ **closurevariable = NULL;
50158 trace.prev = tracehead; tracehead = &trace;
50159 trace.file = LOCATE_parser;
50160 /* Register variable[0]: Local variable */
50161 variable[0] = self;
50162 /* Register variable[1]: Local variable */
50163 variable[1] = param0;
50164 /* Register variable[2]: Method return value and escape marker */
50165 /* Register variable[3]: Local variable */
50166 variable[3] = NIT_NULL /*null*/;
50167 /* Register variable[4]: Local variable */
50168 /* Register variable[5]: Result */
50169 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50170 variable[4] = variable[5];
50171 /* Register variable[5]: Local variable */
50172 /* Register variable[6]: Result */
50173 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50174 variable[5] = variable[6];
50175 /* Register variable[6]: Local variable */
50176 /* Register variable[7]: Result */
50177 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50178 variable[6] = variable[7];
50179 /* Register variable[7]: Local variable */
50180 /* Register variable[8]: Result */
50181 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50182 variable[7] = variable[8];
50183 /* Register variable[8]: Local variable */
50184 /* Register variable[9]: Result */
50185 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50186 variable[8] = variable[9];
50187 /* Register variable[9]: Local variable */
50188 /* Register variable[10]: Result */
50189 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50190 variable[9] = variable[10];
50191 /* Register variable[10]: Local variable */
50192 /* Register variable[11]: Result */
50193 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50194 variable[10] = variable[11];
50195 /* Register variable[11]: Local variable */
50196 /* Register variable[12]: Result */
50197 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
50198 variable[11] = variable[12];
50199 /* Register variable[12]: Local variable */
50200 variable[12] = variable[10] /*nodearraylist1*/;
50201 /* Register variable[13]: Result */
50202 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
50203 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 19391); nit_exit(1);}
50204 /* Register variable[13]: Local variable */
50205 variable[13] = variable[8] /*nodearraylist3*/;
50206 /* Register variable[14]: Result */
50207 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
50208 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 19393); nit_exit(1);}
50209 /* Register variable[14]: Local variable */
50210 variable[14] = variable[5] /*nodearraylist6*/;
50211 /* Register variable[15]: Result */
50212 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
50213 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 19395); nit_exit(1);}
50214 /* Register variable[15]: Local variable */
50215 variable[15] = variable[4] /*nodearraylist7*/;
50216 /* Register variable[16]: Result */
50217 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
50218 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction525___action, LOCATE_parser, 19397); nit_exit(1);}
50219 /* Register variable[16]: Result */
50220 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::==*/)))))));
50221 if (UNTAG_Bool(variable[16])) { /*if*/
50222 /* Register variable[16]: Result */
50223 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
50224 if (UNTAG_Bool(variable[16])) { /*if*/
50225 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
50226 } else { /*if*/
50227 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
50228 }
50229 }
50230 /* Register variable[16]: Local variable */
50231 /* Register variable[17]: Result */
50232 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/) /*new ANewExpr*/;
50233 variable[16] = variable[17];
50234 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
50235 /* Register variable[17]: Result */
50236 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50237 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
50238 return_label1082: while(false);
50239 tracehead = trace.prev;
50240 return;
50241 }
50242 void parser___ReduceAction525___init(val_t self, int* init_table) {
50243 struct trace_t trace = {NULL, NULL, 19414, LOCATE_parser___ReduceAction525___init};
50244 val_t variable[2];
50245 struct WBT_ **closurevariable = NULL;
50246 trace.prev = tracehead; tracehead = &trace;
50247 trace.file = LOCATE_parser;
50248 /* Register variable[0]: Local variable */
50249 variable[0] = self;
50250 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction525].i]) return;
50251 /* Register variable[1]: Method return value and escape marker */
50252 return_label1083: while(false);
50253 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction525].i] = 1;
50254 tracehead = trace.prev;
50255 return;
50256 }
50257 void parser___ReduceAction526___action(val_t self, val_t param0) {
50258 struct trace_t trace = {NULL, NULL, 19418, LOCATE_parser___ReduceAction526___action};
50259 val_t variable[8];
50260 struct WBT_ **closurevariable = NULL;
50261 trace.prev = tracehead; tracehead = &trace;
50262 trace.file = LOCATE_parser;
50263 /* Register variable[0]: Local variable */
50264 variable[0] = self;
50265 /* Register variable[1]: Local variable */
50266 variable[1] = param0;
50267 /* Register variable[2]: Method return value and escape marker */
50268 /* Register variable[3]: Local variable */
50269 variable[3] = NIT_NULL /*null*/;
50270 /* Register variable[4]: Local variable */
50271 /* Register variable[5]: Result */
50272 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50273 variable[4] = variable[5];
50274 /* Register variable[5]: Local variable */
50275 variable[5] = variable[4] /*nodearraylist1*/;
50276 /* Register variable[6]: Result */
50277 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
50278 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction526___action, LOCATE_parser, 19423); nit_exit(1);}
50279 /* Register variable[6]: Local variable */
50280 /* Register variable[7]: Result */
50281 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/) /*new ASelfExpr*/;
50282 variable[6] = variable[7];
50283 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50284 /* Register variable[7]: Result */
50285 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50286 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50287 return_label1084: while(false);
50288 tracehead = trace.prev;
50289 return;
50290 }
50291 void parser___ReduceAction526___init(val_t self, int* init_table) {
50292 struct trace_t trace = {NULL, NULL, 19430, LOCATE_parser___ReduceAction526___init};
50293 val_t variable[2];
50294 struct WBT_ **closurevariable = NULL;
50295 trace.prev = tracehead; tracehead = &trace;
50296 trace.file = LOCATE_parser;
50297 /* Register variable[0]: Local variable */
50298 variable[0] = self;
50299 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction526].i]) return;
50300 /* Register variable[1]: Method return value and escape marker */
50301 return_label1085: while(false);
50302 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction526].i] = 1;
50303 tracehead = trace.prev;
50304 return;
50305 }
50306 void parser___ReduceAction527___action(val_t self, val_t param0) {
50307 struct trace_t trace = {NULL, NULL, 19434, LOCATE_parser___ReduceAction527___action};
50308 val_t variable[8];
50309 struct WBT_ **closurevariable = NULL;
50310 trace.prev = tracehead; tracehead = &trace;
50311 trace.file = LOCATE_parser;
50312 /* Register variable[0]: Local variable */
50313 variable[0] = self;
50314 /* Register variable[1]: Local variable */
50315 variable[1] = param0;
50316 /* Register variable[2]: Method return value and escape marker */
50317 /* Register variable[3]: Local variable */
50318 variable[3] = NIT_NULL /*null*/;
50319 /* Register variable[4]: Local variable */
50320 /* Register variable[5]: Result */
50321 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50322 variable[4] = variable[5];
50323 /* Register variable[5]: Local variable */
50324 variable[5] = variable[4] /*nodearraylist1*/;
50325 /* Register variable[6]: Result */
50326 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
50327 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction527___action, LOCATE_parser, 19439); nit_exit(1);}
50328 /* Register variable[6]: Local variable */
50329 /* Register variable[7]: Result */
50330 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/) /*new ATrueExpr*/;
50331 variable[6] = variable[7];
50332 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50333 /* Register variable[7]: Result */
50334 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50335 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50336 return_label1086: while(false);
50337 tracehead = trace.prev;
50338 return;
50339 }
50340 void parser___ReduceAction527___init(val_t self, int* init_table) {
50341 struct trace_t trace = {NULL, NULL, 19446, LOCATE_parser___ReduceAction527___init};
50342 val_t variable[2];
50343 struct WBT_ **closurevariable = NULL;
50344 trace.prev = tracehead; tracehead = &trace;
50345 trace.file = LOCATE_parser;
50346 /* Register variable[0]: Local variable */
50347 variable[0] = self;
50348 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction527].i]) return;
50349 /* Register variable[1]: Method return value and escape marker */
50350 return_label1087: while(false);
50351 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction527].i] = 1;
50352 tracehead = trace.prev;
50353 return;
50354 }
50355 void parser___ReduceAction528___action(val_t self, val_t param0) {
50356 struct trace_t trace = {NULL, NULL, 19450, LOCATE_parser___ReduceAction528___action};
50357 val_t variable[8];
50358 struct WBT_ **closurevariable = NULL;
50359 trace.prev = tracehead; tracehead = &trace;
50360 trace.file = LOCATE_parser;
50361 /* Register variable[0]: Local variable */
50362 variable[0] = self;
50363 /* Register variable[1]: Local variable */
50364 variable[1] = param0;
50365 /* Register variable[2]: Method return value and escape marker */
50366 /* Register variable[3]: Local variable */
50367 variable[3] = NIT_NULL /*null*/;
50368 /* Register variable[4]: Local variable */
50369 /* Register variable[5]: Result */
50370 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50371 variable[4] = variable[5];
50372 /* Register variable[5]: Local variable */
50373 variable[5] = variable[4] /*nodearraylist1*/;
50374 /* Register variable[6]: Result */
50375 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
50376 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction528___action, LOCATE_parser, 19455); nit_exit(1);}
50377 /* Register variable[6]: Local variable */
50378 /* Register variable[7]: Result */
50379 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/) /*new AFalseExpr*/;
50380 variable[6] = variable[7];
50381 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50382 /* Register variable[7]: Result */
50383 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50384 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50385 return_label1088: while(false);
50386 tracehead = trace.prev;
50387 return;
50388 }
50389 void parser___ReduceAction528___init(val_t self, int* init_table) {
50390 struct trace_t trace = {NULL, NULL, 19462, LOCATE_parser___ReduceAction528___init};
50391 val_t variable[2];
50392 struct WBT_ **closurevariable = NULL;
50393 trace.prev = tracehead; tracehead = &trace;
50394 trace.file = LOCATE_parser;
50395 /* Register variable[0]: Local variable */
50396 variable[0] = self;
50397 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction528].i]) return;
50398 /* Register variable[1]: Method return value and escape marker */
50399 return_label1089: while(false);
50400 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction528].i] = 1;
50401 tracehead = trace.prev;
50402 return;
50403 }
50404 void parser___ReduceAction529___action(val_t self, val_t param0) {
50405 struct trace_t trace = {NULL, NULL, 19466, LOCATE_parser___ReduceAction529___action};
50406 val_t variable[8];
50407 struct WBT_ **closurevariable = NULL;
50408 trace.prev = tracehead; tracehead = &trace;
50409 trace.file = LOCATE_parser;
50410 /* Register variable[0]: Local variable */
50411 variable[0] = self;
50412 /* Register variable[1]: Local variable */
50413 variable[1] = param0;
50414 /* Register variable[2]: Method return value and escape marker */
50415 /* Register variable[3]: Local variable */
50416 variable[3] = NIT_NULL /*null*/;
50417 /* Register variable[4]: Local variable */
50418 /* Register variable[5]: Result */
50419 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50420 variable[4] = variable[5];
50421 /* Register variable[5]: Local variable */
50422 variable[5] = variable[4] /*nodearraylist1*/;
50423 /* Register variable[6]: Result */
50424 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
50425 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction529___action, LOCATE_parser, 19471); nit_exit(1);}
50426 /* Register variable[6]: Local variable */
50427 /* Register variable[7]: Result */
50428 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/) /*new ANullExpr*/;
50429 variable[6] = variable[7];
50430 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50431 /* Register variable[7]: Result */
50432 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50433 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50434 return_label1090: while(false);
50435 tracehead = trace.prev;
50436 return;
50437 }
50438 void parser___ReduceAction529___init(val_t self, int* init_table) {
50439 struct trace_t trace = {NULL, NULL, 19478, LOCATE_parser___ReduceAction529___init};
50440 val_t variable[2];
50441 struct WBT_ **closurevariable = NULL;
50442 trace.prev = tracehead; tracehead = &trace;
50443 trace.file = LOCATE_parser;
50444 /* Register variable[0]: Local variable */
50445 variable[0] = self;
50446 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction529].i]) return;
50447 /* Register variable[1]: Method return value and escape marker */
50448 return_label1091: while(false);
50449 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction529].i] = 1;
50450 tracehead = trace.prev;
50451 return;
50452 }
50453 void parser___ReduceAction530___action(val_t self, val_t param0) {
50454 struct trace_t trace = {NULL, NULL, 19482, LOCATE_parser___ReduceAction530___action};
50455 val_t variable[8];
50456 struct WBT_ **closurevariable = NULL;
50457 trace.prev = tracehead; tracehead = &trace;
50458 trace.file = LOCATE_parser;
50459 /* Register variable[0]: Local variable */
50460 variable[0] = self;
50461 /* Register variable[1]: Local variable */
50462 variable[1] = param0;
50463 /* Register variable[2]: Method return value and escape marker */
50464 /* Register variable[3]: Local variable */
50465 variable[3] = NIT_NULL /*null*/;
50466 /* Register variable[4]: Local variable */
50467 /* Register variable[5]: Result */
50468 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50469 variable[4] = variable[5];
50470 /* Register variable[5]: Local variable */
50471 variable[5] = variable[4] /*nodearraylist1*/;
50472 /* Register variable[6]: Result */
50473 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
50474 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction530___action, LOCATE_parser, 19487); nit_exit(1);}
50475 /* Register variable[6]: Local variable */
50476 /* Register variable[7]: Result */
50477 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/) /*new AIntExpr*/;
50478 variable[6] = variable[7];
50479 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50480 /* Register variable[7]: Result */
50481 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50482 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50483 return_label1092: while(false);
50484 tracehead = trace.prev;
50485 return;
50486 }
50487 void parser___ReduceAction530___init(val_t self, int* init_table) {
50488 struct trace_t trace = {NULL, NULL, 19494, LOCATE_parser___ReduceAction530___init};
50489 val_t variable[2];
50490 struct WBT_ **closurevariable = NULL;
50491 trace.prev = tracehead; tracehead = &trace;
50492 trace.file = LOCATE_parser;
50493 /* Register variable[0]: Local variable */
50494 variable[0] = self;
50495 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction530].i]) return;
50496 /* Register variable[1]: Method return value and escape marker */
50497 return_label1093: while(false);
50498 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction530].i] = 1;
50499 tracehead = trace.prev;
50500 return;
50501 }
50502 void parser___ReduceAction531___action(val_t self, val_t param0) {
50503 struct trace_t trace = {NULL, NULL, 19498, LOCATE_parser___ReduceAction531___action};
50504 val_t variable[8];
50505 struct WBT_ **closurevariable = NULL;
50506 trace.prev = tracehead; tracehead = &trace;
50507 trace.file = LOCATE_parser;
50508 /* Register variable[0]: Local variable */
50509 variable[0] = self;
50510 /* Register variable[1]: Local variable */
50511 variable[1] = param0;
50512 /* Register variable[2]: Method return value and escape marker */
50513 /* Register variable[3]: Local variable */
50514 variable[3] = NIT_NULL /*null*/;
50515 /* Register variable[4]: Local variable */
50516 /* Register variable[5]: Result */
50517 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50518 variable[4] = variable[5];
50519 /* Register variable[5]: Local variable */
50520 variable[5] = variable[4] /*nodearraylist1*/;
50521 /* Register variable[6]: Result */
50522 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
50523 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction531___action, LOCATE_parser, 19503); nit_exit(1);}
50524 /* Register variable[6]: Local variable */
50525 /* Register variable[7]: Result */
50526 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/) /*new AFloatExpr*/;
50527 variable[6] = variable[7];
50528 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50529 /* Register variable[7]: Result */
50530 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50531 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50532 return_label1094: while(false);
50533 tracehead = trace.prev;
50534 return;
50535 }
50536 void parser___ReduceAction531___init(val_t self, int* init_table) {
50537 struct trace_t trace = {NULL, NULL, 19510, LOCATE_parser___ReduceAction531___init};
50538 val_t variable[2];
50539 struct WBT_ **closurevariable = NULL;
50540 trace.prev = tracehead; tracehead = &trace;
50541 trace.file = LOCATE_parser;
50542 /* Register variable[0]: Local variable */
50543 variable[0] = self;
50544 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction531].i]) return;
50545 /* Register variable[1]: Method return value and escape marker */
50546 return_label1095: while(false);
50547 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction531].i] = 1;
50548 tracehead = trace.prev;
50549 return;
50550 }
50551 void parser___ReduceAction532___action(val_t self, val_t param0) {
50552 struct trace_t trace = {NULL, NULL, 19514, LOCATE_parser___ReduceAction532___action};
50553 val_t variable[8];
50554 struct WBT_ **closurevariable = NULL;
50555 trace.prev = tracehead; tracehead = &trace;
50556 trace.file = LOCATE_parser;
50557 /* Register variable[0]: Local variable */
50558 variable[0] = self;
50559 /* Register variable[1]: Local variable */
50560 variable[1] = param0;
50561 /* Register variable[2]: Method return value and escape marker */
50562 /* Register variable[3]: Local variable */
50563 variable[3] = NIT_NULL /*null*/;
50564 /* Register variable[4]: Local variable */
50565 /* Register variable[5]: Result */
50566 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50567 variable[4] = variable[5];
50568 /* Register variable[5]: Local variable */
50569 variable[5] = variable[4] /*nodearraylist1*/;
50570 /* Register variable[6]: Result */
50571 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
50572 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction532___action, LOCATE_parser, 19519); nit_exit(1);}
50573 /* Register variable[6]: Local variable */
50574 /* Register variable[7]: Result */
50575 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/) /*new ACharExpr*/;
50576 variable[6] = variable[7];
50577 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50578 /* Register variable[7]: Result */
50579 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50580 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50581 return_label1096: while(false);
50582 tracehead = trace.prev;
50583 return;
50584 }
50585 void parser___ReduceAction532___init(val_t self, int* init_table) {
50586 struct trace_t trace = {NULL, NULL, 19526, LOCATE_parser___ReduceAction532___init};
50587 val_t variable[2];
50588 struct WBT_ **closurevariable = NULL;
50589 trace.prev = tracehead; tracehead = &trace;
50590 trace.file = LOCATE_parser;
50591 /* Register variable[0]: Local variable */
50592 variable[0] = self;
50593 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction532].i]) return;
50594 /* Register variable[1]: Method return value and escape marker */
50595 return_label1097: while(false);
50596 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction532].i] = 1;
50597 tracehead = trace.prev;
50598 return;
50599 }
50600 void parser___ReduceAction533___action(val_t self, val_t param0) {
50601 struct trace_t trace = {NULL, NULL, 19530, LOCATE_parser___ReduceAction533___action};
50602 val_t variable[8];
50603 struct WBT_ **closurevariable = NULL;
50604 trace.prev = tracehead; tracehead = &trace;
50605 trace.file = LOCATE_parser;
50606 /* Register variable[0]: Local variable */
50607 variable[0] = self;
50608 /* Register variable[1]: Local variable */
50609 variable[1] = param0;
50610 /* Register variable[2]: Method return value and escape marker */
50611 /* Register variable[3]: Local variable */
50612 variable[3] = NIT_NULL /*null*/;
50613 /* Register variable[4]: Local variable */
50614 /* Register variable[5]: Result */
50615 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50616 variable[4] = variable[5];
50617 /* Register variable[5]: Local variable */
50618 variable[5] = variable[4] /*nodearraylist1*/;
50619 /* Register variable[6]: Result */
50620 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
50621 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction533___action, LOCATE_parser, 19535); nit_exit(1);}
50622 /* Register variable[6]: Local variable */
50623 /* Register variable[7]: Result */
50624 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/) /*new AStringExpr*/;
50625 variable[6] = variable[7];
50626 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
50627 /* Register variable[7]: Result */
50628 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50629 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
50630 return_label1098: while(false);
50631 tracehead = trace.prev;
50632 return;
50633 }
50634 void parser___ReduceAction533___init(val_t self, int* init_table) {
50635 struct trace_t trace = {NULL, NULL, 19542, LOCATE_parser___ReduceAction533___init};
50636 val_t variable[2];
50637 struct WBT_ **closurevariable = NULL;
50638 trace.prev = tracehead; tracehead = &trace;
50639 trace.file = LOCATE_parser;
50640 /* Register variable[0]: Local variable */
50641 variable[0] = self;
50642 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction533].i]) return;
50643 /* Register variable[1]: Method return value and escape marker */
50644 return_label1099: while(false);
50645 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction533].i] = 1;
50646 tracehead = trace.prev;
50647 return;
50648 }
50649 void parser___ReduceAction534___action(val_t self, val_t param0) {
50650 struct trace_t trace = {NULL, NULL, 19546, LOCATE_parser___ReduceAction534___action};
50651 val_t variable[7];
50652 struct WBT_ **closurevariable = NULL;
50653 trace.prev = tracehead; tracehead = &trace;
50654 trace.file = LOCATE_parser;
50655 /* Register variable[0]: Local variable */
50656 variable[0] = self;
50657 /* Register variable[1]: Local variable */
50658 variable[1] = param0;
50659 /* Register variable[2]: Method return value and escape marker */
50660 /* Register variable[3]: Local variable */
50661 variable[3] = NIT_NULL /*null*/;
50662 /* Register variable[4]: Local variable */
50663 /* Register variable[5]: Result */
50664 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50665 variable[4] = variable[5];
50666 /* Register variable[5]: Local variable */
50667 variable[5] = variable[4] /*nodearraylist1*/;
50668 /* Register variable[6]: Result */
50669 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50670 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction534___action, LOCATE_parser, 19551); nit_exit(1);}
50671 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
50672 /* Register variable[6]: Result */
50673 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50674 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
50675 return_label1100: while(false);
50676 tracehead = trace.prev;
50677 return;
50678 }
50679 void parser___ReduceAction534___init(val_t self, int* init_table) {
50680 struct trace_t trace = {NULL, NULL, 19555, LOCATE_parser___ReduceAction534___init};
50681 val_t variable[2];
50682 struct WBT_ **closurevariable = NULL;
50683 trace.prev = tracehead; tracehead = &trace;
50684 trace.file = LOCATE_parser;
50685 /* Register variable[0]: Local variable */
50686 variable[0] = self;
50687 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction534].i]) return;
50688 /* Register variable[1]: Method return value and escape marker */
50689 return_label1101: while(false);
50690 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction534].i] = 1;
50691 tracehead = trace.prev;
50692 return;
50693 }
50694 void parser___ReduceAction535___action(val_t self, val_t param0) {
50695 struct trace_t trace = {NULL, NULL, 19559, LOCATE_parser___ReduceAction535___action};
50696 val_t variable[9];
50697 struct WBT_ **closurevariable = NULL;
50698 trace.prev = tracehead; tracehead = &trace;
50699 trace.file = LOCATE_parser;
50700 /* Register variable[0]: Local variable */
50701 variable[0] = self;
50702 /* Register variable[1]: Local variable */
50703 variable[1] = param0;
50704 /* Register variable[2]: Method return value and escape marker */
50705 /* Register variable[3]: Local variable */
50706 variable[3] = NIT_NULL /*null*/;
50707 /* Register variable[4]: Local variable */
50708 /* Register variable[5]: Result */
50709 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50710 variable[4] = variable[5];
50711 /* Register variable[5]: Local variable */
50712 /* Register variable[6]: Result */
50713 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50714 variable[5] = variable[6];
50715 /* Register variable[6]: Local variable */
50716 /* Register variable[7]: Result */
50717 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50718 variable[6] = variable[7];
50719 /* Register variable[7]: Local variable */
50720 variable[7] = variable[5] /*nodearraylist2*/;
50721 /* Register variable[8]: Result */
50722 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50723 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction535___action, LOCATE_parser, 19566); nit_exit(1);}
50724 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
50725 /* Register variable[8]: Result */
50726 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50727 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
50728 return_label1102: while(false);
50729 tracehead = trace.prev;
50730 return;
50731 }
50732 void parser___ReduceAction535___init(val_t self, int* init_table) {
50733 struct trace_t trace = {NULL, NULL, 19570, LOCATE_parser___ReduceAction535___init};
50734 val_t variable[2];
50735 struct WBT_ **closurevariable = NULL;
50736 trace.prev = tracehead; tracehead = &trace;
50737 trace.file = LOCATE_parser;
50738 /* Register variable[0]: Local variable */
50739 variable[0] = self;
50740 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction535].i]) return;
50741 /* Register variable[1]: Method return value and escape marker */
50742 return_label1103: while(false);
50743 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction535].i] = 1;
50744 tracehead = trace.prev;
50745 return;
50746 }
50747 void parser___ReduceAction536___action(val_t self, val_t param0) {
50748 struct trace_t trace = {NULL, NULL, 19574, LOCATE_parser___ReduceAction536___action};
50749 val_t variable[19];
50750 struct WBT_ **closurevariable = NULL;
50751 trace.prev = tracehead; tracehead = &trace;
50752 trace.file = LOCATE_parser;
50753 /* Register variable[0]: Local variable */
50754 variable[0] = self;
50755 /* Register variable[1]: Local variable */
50756 variable[1] = param0;
50757 /* Register variable[2]: Method return value and escape marker */
50758 /* Register variable[3]: Local variable */
50759 variable[3] = NIT_NULL /*null*/;
50760 /* Register variable[4]: Local variable */
50761 /* Register variable[5]: Result */
50762 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50763 variable[4] = variable[5];
50764 /* Register variable[5]: Local variable */
50765 /* Register variable[6]: Result */
50766 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50767 variable[5] = variable[6];
50768 /* Register variable[6]: Local variable */
50769 /* Register variable[7]: Result */
50770 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50771 variable[6] = variable[7];
50772 /* Register variable[7]: Local variable */
50773 /* Register variable[8]: Result */
50774 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50775 variable[7] = variable[8];
50776 /* Register variable[8]: Local variable */
50777 /* Register variable[9]: Result */
50778 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50779 variable[8] = variable[9];
50780 /* Register variable[9]: Local variable */
50781 /* Register variable[10]: Result */
50782 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50783 variable[9] = variable[10];
50784 /* Register variable[10]: Local variable */
50785 /* Register variable[11]: Result */
50786 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50787 variable[10] = variable[11];
50788 /* Register variable[11]: Local variable */
50789 /* Register variable[12]: Result */
50790 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50791 variable[11] = variable[12];
50792 /* Register variable[12]: Local variable */
50793 /* Register variable[13]: Result */
50794 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50795 variable[12] = variable[13];
50796 /* Register variable[13]: Local variable */
50797 /* Register variable[14]: Result */
50798 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50799 variable[13] = variable[14];
50800 /* Register variable[14]: Local variable */
50801 variable[14] = variable[13] /*nodearraylist1*/;
50802 /* Register variable[15]: Result */
50803 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50804 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 19588); nit_exit(1);}
50805 /* Register variable[15]: Local variable */
50806 variable[15] = variable[10] /*nodearraylist4*/;
50807 /* Register variable[16]: Result */
50808 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
50809 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 19590); nit_exit(1);}
50810 /* Register variable[16]: Local variable */
50811 variable[16] = variable[6] /*nodearraylist8*/;
50812 /* Register variable[17]: Result */
50813 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
50814 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction536___action, LOCATE_parser, 19592); nit_exit(1);}
50815 /* Register variable[17]: Local variable */
50816 /* Register variable[18]: Result */
50817 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/) /*new AAsCastExpr*/;
50818 variable[17] = variable[18];
50819 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
50820 /* Register variable[18]: Result */
50821 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50822 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
50823 return_label1104: while(false);
50824 tracehead = trace.prev;
50825 return;
50826 }
50827 void parser___ReduceAction536___init(val_t self, int* init_table) {
50828 struct trace_t trace = {NULL, NULL, 19601, LOCATE_parser___ReduceAction536___init};
50829 val_t variable[2];
50830 struct WBT_ **closurevariable = NULL;
50831 trace.prev = tracehead; tracehead = &trace;
50832 trace.file = LOCATE_parser;
50833 /* Register variable[0]: Local variable */
50834 variable[0] = self;
50835 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction536].i]) return;
50836 /* Register variable[1]: Method return value and escape marker */
50837 return_label1105: while(false);
50838 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction536].i] = 1;
50839 tracehead = trace.prev;
50840 return;
50841 }
50842 void parser___ReduceAction537___action(val_t self, val_t param0) {
50843 struct trace_t trace = {NULL, NULL, 19605, LOCATE_parser___ReduceAction537___action};
50844 val_t variable[22];
50845 struct WBT_ **closurevariable = NULL;
50846 trace.prev = tracehead; tracehead = &trace;
50847 trace.file = LOCATE_parser;
50848 /* Register variable[0]: Local variable */
50849 variable[0] = self;
50850 /* Register variable[1]: Local variable */
50851 variable[1] = param0;
50852 /* Register variable[2]: Method return value and escape marker */
50853 /* Register variable[3]: Local variable */
50854 variable[3] = NIT_NULL /*null*/;
50855 /* Register variable[4]: Local variable */
50856 /* Register variable[5]: Result */
50857 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50858 variable[4] = variable[5];
50859 /* Register variable[5]: Local variable */
50860 /* Register variable[6]: Result */
50861 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50862 variable[5] = variable[6];
50863 /* Register variable[6]: Local variable */
50864 /* Register variable[7]: Result */
50865 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50866 variable[6] = variable[7];
50867 /* Register variable[7]: Local variable */
50868 /* Register variable[8]: Result */
50869 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50870 variable[7] = variable[8];
50871 /* Register variable[8]: Local variable */
50872 /* Register variable[9]: Result */
50873 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50874 variable[8] = variable[9];
50875 /* Register variable[9]: Local variable */
50876 /* Register variable[10]: Result */
50877 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50878 variable[9] = variable[10];
50879 /* Register variable[10]: Local variable */
50880 /* Register variable[11]: Result */
50881 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50882 variable[10] = variable[11];
50883 /* Register variable[11]: Local variable */
50884 /* Register variable[12]: Result */
50885 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50886 variable[11] = variable[12];
50887 /* Register variable[12]: Local variable */
50888 /* Register variable[13]: Result */
50889 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50890 variable[12] = variable[13];
50891 /* Register variable[13]: Local variable */
50892 /* Register variable[14]: Result */
50893 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50894 variable[13] = variable[14];
50895 /* Register variable[14]: Local variable */
50896 /* Register variable[15]: Result */
50897 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50898 variable[14] = variable[15];
50899 /* Register variable[15]: Local variable */
50900 /* Register variable[16]: Result */
50901 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50902 variable[15] = variable[16];
50903 /* Register variable[16]: Local variable */
50904 variable[16] = variable[15] /*nodearraylist1*/;
50905 /* Register variable[17]: Result */
50906 variable[17] = TAG_Bool(( variable[16] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50907 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 19621); nit_exit(1);}
50908 /* Register variable[17]: Local variable */
50909 variable[17] = variable[12] /*nodearraylist4*/;
50910 /* Register variable[18]: Result */
50911 variable[18] = TAG_Bool(( variable[17] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
50912 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 19623); nit_exit(1);}
50913 /* Register variable[18]: Local variable */
50914 variable[18] = variable[8] /*nodearraylist8*/;
50915 /* Register variable[19]: Result */
50916 variable[19] = TAG_Bool(( variable[18] /*tkwnotnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwnotnode4*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
50917 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 19625); nit_exit(1);}
50918 /* Register variable[19]: Local variable */
50919 variable[19] = variable[6] /*nodearraylist10*/;
50920 /* Register variable[20]: Result */
50921 variable[20] = TAG_Bool(( variable[19] /*tkwnullnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwnullnode5*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
50922 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction537___action, LOCATE_parser, 19627); nit_exit(1);}
50923 /* Register variable[20]: Local variable */
50924 /* Register variable[21]: Result */
50925 variable[21] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr( variable[16] /*pexprnode2*/, variable[17] /*tkwasnode3*/, variable[18] /*tkwnotnode4*/, variable[19] /*tkwnullnode5*/) /*new AAsNotnullExpr*/;
50926 variable[20] = variable[21];
50927 variable[3] = variable[20] /*pexprnode1*/ /*node_list=*/;
50928 /* Register variable[21]: Result */
50929 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(82)) /*Parser::go_to*/;
50930 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
50931 return_label1106: while(false);
50932 tracehead = trace.prev;
50933 return;
50934 }
50935 void parser___ReduceAction537___init(val_t self, int* init_table) {
50936 struct trace_t trace = {NULL, NULL, 19637, LOCATE_parser___ReduceAction537___init};
50937 val_t variable[2];
50938 struct WBT_ **closurevariable = NULL;
50939 trace.prev = tracehead; tracehead = &trace;
50940 trace.file = LOCATE_parser;
50941 /* Register variable[0]: Local variable */
50942 variable[0] = self;
50943 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction537].i]) return;
50944 /* Register variable[1]: Method return value and escape marker */
50945 return_label1107: while(false);
50946 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction537].i] = 1;
50947 tracehead = trace.prev;
50948 return;
50949 }
50950 void parser___ReduceAction538___action(val_t self, val_t param0) {
50951 struct trace_t trace = {NULL, NULL, 19641, LOCATE_parser___ReduceAction538___action};
50952 val_t variable[7];
50953 struct WBT_ **closurevariable = NULL;
50954 trace.prev = tracehead; tracehead = &trace;
50955 trace.file = LOCATE_parser;
50956 /* Register variable[0]: Local variable */
50957 variable[0] = self;
50958 /* Register variable[1]: Local variable */
50959 variable[1] = param0;
50960 /* Register variable[2]: Method return value and escape marker */
50961 /* Register variable[3]: Local variable */
50962 variable[3] = NIT_NULL /*null*/;
50963 /* Register variable[4]: Local variable */
50964 /* Register variable[5]: Result */
50965 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
50966 variable[4] = variable[5];
50967 /* Register variable[5]: Local variable */
50968 variable[5] = variable[4] /*nodearraylist1*/;
50969 /* Register variable[6]: Result */
50970 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
50971 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction538___action, LOCATE_parser, 19646); nit_exit(1);}
50972 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
50973 /* Register variable[6]: Result */
50974 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
50975 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
50976 return_label1108: while(false);
50977 tracehead = trace.prev;
50978 return;
50979 }
50980 void parser___ReduceAction538___init(val_t self, int* init_table) {
50981 struct trace_t trace = {NULL, NULL, 19650, LOCATE_parser___ReduceAction538___init};
50982 val_t variable[2];
50983 struct WBT_ **closurevariable = NULL;
50984 trace.prev = tracehead; tracehead = &trace;
50985 trace.file = LOCATE_parser;
50986 /* Register variable[0]: Local variable */
50987 variable[0] = self;
50988 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction538].i]) return;
50989 /* Register variable[1]: Method return value and escape marker */
50990 return_label1109: while(false);
50991 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction538].i] = 1;
50992 tracehead = trace.prev;
50993 return;
50994 }
50995 void parser___ReduceAction539___action(val_t self, val_t param0) {
50996 struct trace_t trace = {NULL, NULL, 19654, LOCATE_parser___ReduceAction539___action};
50997 val_t variable[12];
50998 struct WBT_ **closurevariable = NULL;
50999 trace.prev = tracehead; tracehead = &trace;
51000 trace.file = LOCATE_parser;
51001 /* Register variable[0]: Local variable */
51002 variable[0] = self;
51003 /* Register variable[1]: Local variable */
51004 variable[1] = param0;
51005 /* Register variable[2]: Method return value and escape marker */
51006 /* Register variable[3]: Local variable */
51007 variable[3] = NIT_NULL /*null*/;
51008 /* Register variable[4]: Local variable */
51009 /* Register variable[5]: Result */
51010 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51011 variable[4] = variable[5];
51012 /* Register variable[5]: Local variable */
51013 /* Register variable[6]: Result */
51014 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51015 variable[5] = variable[6];
51016 /* Register variable[6]: Local variable */
51017 /* Register variable[7]: Result */
51018 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51019 variable[6] = variable[7];
51020 /* Register variable[7]: Local variable */
51021 /* Register variable[8]: Result */
51022 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51023 variable[7] = variable[8];
51024 /* Register variable[8]: Local variable */
51025 /* Register variable[9]: Result */
51026 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51027 variable[8] = variable[9];
51028 /* Register variable[9]: Local variable */
51029 variable[9] = variable[6] /*nodearraylist2*/;
51030 /* Register variable[10]: Result */
51031 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51032 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction539___action, LOCATE_parser, 19663); nit_exit(1);}
51033 /* Register variable[10]: Result */
51034 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::==*/)))))));
51035 if (UNTAG_Bool(variable[10])) { /*if*/
51036 CALL_abstract_collection___SimpleCollection___add( variable[8] /*listnode3*/)( variable[8] /*listnode3*/, variable[9] /*pexprnode2*/) /*AbstractArray::add*/;
51037 }
51038 /* Register variable[10]: Local variable */
51039 /* Register variable[11]: Result */
51040 variable[11] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[8] /*listnode3*/) /*new ABlockExpr*/;
51041 variable[10] = variable[11];
51042 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
51043 /* Register variable[11]: Result */
51044 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
51045 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
51046 return_label1110: while(false);
51047 tracehead = trace.prev;
51048 return;
51049 }
51050 void parser___ReduceAction539___init(val_t self, int* init_table) {
51051 struct trace_t trace = {NULL, NULL, 19673, LOCATE_parser___ReduceAction539___init};
51052 val_t variable[2];
51053 struct WBT_ **closurevariable = NULL;
51054 trace.prev = tracehead; tracehead = &trace;
51055 trace.file = LOCATE_parser;
51056 /* Register variable[0]: Local variable */
51057 variable[0] = self;
51058 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction539].i]) return;
51059 /* Register variable[1]: Method return value and escape marker */
51060 return_label1111: while(false);
51061 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction539].i] = 1;
51062 tracehead = trace.prev;
51063 return;
51064 }
51065 void parser___ReduceAction540___action(val_t self, val_t param0) {
51066 struct trace_t trace = {NULL, NULL, 19677, LOCATE_parser___ReduceAction540___action};
51067 val_t variable[14];
51068 struct WBT_ **closurevariable = NULL;
51069 trace.prev = tracehead; tracehead = &trace;
51070 trace.file = LOCATE_parser;
51071 /* Register variable[0]: Local variable */
51072 variable[0] = self;
51073 /* Register variable[1]: Local variable */
51074 variable[1] = param0;
51075 /* Register variable[2]: Method return value and escape marker */
51076 /* Register variable[3]: Local variable */
51077 variable[3] = NIT_NULL /*null*/;
51078 /* Register variable[4]: Local variable */
51079 /* Register variable[5]: Result */
51080 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51081 variable[4] = variable[5];
51082 /* Register variable[5]: Local variable */
51083 /* Register variable[6]: Result */
51084 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51085 variable[5] = variable[6];
51086 /* Register variable[6]: Local variable */
51087 /* Register variable[7]: Result */
51088 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51089 variable[6] = variable[7];
51090 /* Register variable[7]: Local variable */
51091 /* Register variable[8]: Result */
51092 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51093 variable[7] = variable[8];
51094 /* Register variable[8]: Local variable */
51095 /* Register variable[9]: Result */
51096 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51097 variable[8] = variable[9];
51098 /* Register variable[9]: Local variable */
51099 /* Register variable[10]: Result */
51100 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51101 variable[9] = variable[10];
51102 /* Register variable[10]: Local variable */
51103 variable[10] = variable[7] /*nodearraylist2*/;
51104 /* Register variable[11]: Result */
51105 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51106 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 19687); nit_exit(1);}
51107 /* Register variable[11]: Local variable */
51108 variable[11] = variable[6] /*nodearraylist3*/;
51109 /* Register variable[12]: Result */
51110 variable[12] = TAG_Bool(( variable[11] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51111 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction540___action, LOCATE_parser, 19689); nit_exit(1);}
51112 /* Register variable[12]: Result */
51113 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::==*/)))))));
51114 if (UNTAG_Bool(variable[12])) { /*if*/
51115 CALL_abstract_collection___SimpleCollection___add( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[10] /*pexprnode2*/) /*AbstractArray::add*/;
51116 }
51117 /* Register variable[12]: Result */
51118 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::==*/)))))));
51119 if (UNTAG_Bool(variable[12])) { /*if*/
51120 /* Register variable[12]: Result */
51121 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode4*/)( variable[9] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
51122 if (UNTAG_Bool(variable[12])) { /*if*/
51123 variable[9] = variable[11] /*listnode3*/ /*listnode4=*/;
51124 } else { /*if*/
51125 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode4*/)( variable[9] /*listnode4*/, variable[11] /*listnode3*/) /*IndexedCollection::append*/;
51126 }
51127 }
51128 /* Register variable[12]: Local variable */
51129 /* Register variable[13]: Result */
51130 variable[13] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[9] /*listnode4*/) /*new ABlockExpr*/;
51131 variable[12] = variable[13];
51132 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
51133 /* Register variable[13]: Result */
51134 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
51135 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
51136 return_label1112: while(false);
51137 tracehead = trace.prev;
51138 return;
51139 }
51140 void parser___ReduceAction540___init(val_t self, int* init_table) {
51141 struct trace_t trace = {NULL, NULL, 19706, LOCATE_parser___ReduceAction540___init};
51142 val_t variable[2];
51143 struct WBT_ **closurevariable = NULL;
51144 trace.prev = tracehead; tracehead = &trace;
51145 trace.file = LOCATE_parser;
51146 /* Register variable[0]: Local variable */
51147 variable[0] = self;
51148 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction540].i]) return;
51149 /* Register variable[1]: Method return value and escape marker */
51150 return_label1113: while(false);
51151 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction540].i] = 1;
51152 tracehead = trace.prev;
51153 return;
51154 }
51155 void parser___ReduceAction541___action(val_t self, val_t param0) {
51156 struct trace_t trace = {NULL, NULL, 19710, LOCATE_parser___ReduceAction541___action};
51157 val_t variable[9];
51158 struct WBT_ **closurevariable = NULL;
51159 trace.prev = tracehead; tracehead = &trace;
51160 trace.file = LOCATE_parser;
51161 /* Register variable[0]: Local variable */
51162 variable[0] = self;
51163 /* Register variable[1]: Local variable */
51164 variable[1] = param0;
51165 /* Register variable[2]: Method return value and escape marker */
51166 /* Register variable[3]: Local variable */
51167 variable[3] = NIT_NULL /*null*/;
51168 /* Register variable[4]: Local variable */
51169 /* Register variable[5]: Result */
51170 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51171 variable[4] = variable[5];
51172 /* Register variable[5]: Local variable */
51173 /* Register variable[6]: Result */
51174 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51175 variable[5] = variable[6];
51176 /* Register variable[6]: Local variable */
51177 /* Register variable[7]: Result */
51178 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51179 variable[6] = variable[7];
51180 /* Register variable[7]: Local variable */
51181 /* Register variable[8]: Result */
51182 variable[8] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[6] /*listnode2*/) /*new ABlockExpr*/;
51183 variable[7] = variable[8];
51184 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
51185 /* Register variable[8]: Result */
51186 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
51187 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
51188 return_label1114: while(false);
51189 tracehead = trace.prev;
51190 return;
51191 }
51192 void parser___ReduceAction541___init(val_t self, int* init_table) {
51193 struct trace_t trace = {NULL, NULL, 19722, LOCATE_parser___ReduceAction541___init};
51194 val_t variable[2];
51195 struct WBT_ **closurevariable = NULL;
51196 trace.prev = tracehead; tracehead = &trace;
51197 trace.file = LOCATE_parser;
51198 /* Register variable[0]: Local variable */
51199 variable[0] = self;
51200 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction541].i]) return;
51201 /* Register variable[1]: Method return value and escape marker */
51202 return_label1115: while(false);
51203 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction541].i] = 1;
51204 tracehead = trace.prev;
51205 return;
51206 }
51207 void parser___ReduceAction542___action(val_t self, val_t param0) {
51208 struct trace_t trace = {NULL, NULL, 19726, LOCATE_parser___ReduceAction542___action};
51209 val_t variable[8];
51210 struct WBT_ **closurevariable = NULL;
51211 trace.prev = tracehead; tracehead = &trace;
51212 trace.file = LOCATE_parser;
51213 /* Register variable[0]: Local variable */
51214 variable[0] = self;
51215 /* Register variable[1]: Local variable */
51216 variable[1] = param0;
51217 /* Register variable[2]: Method return value and escape marker */
51218 /* Register variable[3]: Local variable */
51219 variable[3] = NIT_NULL /*null*/;
51220 /* Register variable[4]: Local variable */
51221 /* Register variable[5]: Result */
51222 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51223 variable[4] = variable[5];
51224 /* Register variable[5]: Local variable */
51225 /* Register variable[6]: Result */
51226 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51227 variable[5] = variable[6];
51228 /* Register variable[6]: Local variable */
51229 /* Register variable[7]: Result */
51230 variable[7] = NEW_ABlockExpr_parser_prod___ABlockExpr___init_ablockexpr( variable[5] /*listnode2*/) /*new ABlockExpr*/;
51231 variable[6] = variable[7];
51232 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
51233 /* Register variable[7]: Result */
51234 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(83)) /*Parser::go_to*/;
51235 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51236 return_label1116: while(false);
51237 tracehead = trace.prev;
51238 return;
51239 }
51240 void parser___ReduceAction542___init(val_t self, int* init_table) {
51241 struct trace_t trace = {NULL, NULL, 19737, LOCATE_parser___ReduceAction542___init};
51242 val_t variable[2];
51243 struct WBT_ **closurevariable = NULL;
51244 trace.prev = tracehead; tracehead = &trace;
51245 trace.file = LOCATE_parser;
51246 /* Register variable[0]: Local variable */
51247 variable[0] = self;
51248 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction542].i]) return;
51249 /* Register variable[1]: Method return value and escape marker */
51250 return_label1117: while(false);
51251 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction542].i] = 1;
51252 tracehead = trace.prev;
51253 return;
51254 }
51255 void parser___ReduceAction543___action(val_t self, val_t param0) {
51256 struct trace_t trace = {NULL, NULL, 19741, LOCATE_parser___ReduceAction543___action};
51257 val_t variable[7];
51258 struct WBT_ **closurevariable = NULL;
51259 trace.prev = tracehead; tracehead = &trace;
51260 trace.file = LOCATE_parser;
51261 /* Register variable[0]: Local variable */
51262 variable[0] = self;
51263 /* Register variable[1]: Local variable */
51264 variable[1] = param0;
51265 /* Register variable[2]: Method return value and escape marker */
51266 /* Register variable[3]: Local variable */
51267 variable[3] = NIT_NULL /*null*/;
51268 /* Register variable[4]: Local variable */
51269 /* Register variable[5]: Result */
51270 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51271 variable[4] = variable[5];
51272 /* Register variable[5]: Local variable */
51273 variable[5] = variable[4] /*nodearraylist1*/;
51274 /* Register variable[6]: Result */
51275 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51276 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction543___action, LOCATE_parser, 19746); nit_exit(1);}
51277 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51278 /* Register variable[6]: Result */
51279 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51280 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51281 return_label1118: while(false);
51282 tracehead = trace.prev;
51283 return;
51284 }
51285 void parser___ReduceAction543___init(val_t self, int* init_table) {
51286 struct trace_t trace = {NULL, NULL, 19750, LOCATE_parser___ReduceAction543___init};
51287 val_t variable[2];
51288 struct WBT_ **closurevariable = NULL;
51289 trace.prev = tracehead; tracehead = &trace;
51290 trace.file = LOCATE_parser;
51291 /* Register variable[0]: Local variable */
51292 variable[0] = self;
51293 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction543].i]) return;
51294 /* Register variable[1]: Method return value and escape marker */
51295 return_label1119: while(false);
51296 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction543].i] = 1;
51297 tracehead = trace.prev;
51298 return;
51299 }
51300 void parser___ReduceAction544___action(val_t self, val_t param0) {
51301 struct trace_t trace = {NULL, NULL, 19754, LOCATE_parser___ReduceAction544___action};
51302 val_t variable[7];
51303 struct WBT_ **closurevariable = NULL;
51304 trace.prev = tracehead; tracehead = &trace;
51305 trace.file = LOCATE_parser;
51306 /* Register variable[0]: Local variable */
51307 variable[0] = self;
51308 /* Register variable[1]: Local variable */
51309 variable[1] = param0;
51310 /* Register variable[2]: Method return value and escape marker */
51311 /* Register variable[3]: Local variable */
51312 variable[3] = NIT_NULL /*null*/;
51313 /* Register variable[4]: Local variable */
51314 /* Register variable[5]: Result */
51315 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51316 variable[4] = variable[5];
51317 /* Register variable[5]: Local variable */
51318 variable[5] = variable[4] /*nodearraylist1*/;
51319 /* Register variable[6]: Result */
51320 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51321 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction544___action, LOCATE_parser, 19759); nit_exit(1);}
51322 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51323 /* Register variable[6]: Result */
51324 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51325 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51326 return_label1120: while(false);
51327 tracehead = trace.prev;
51328 return;
51329 }
51330 void parser___ReduceAction544___init(val_t self, int* init_table) {
51331 struct trace_t trace = {NULL, NULL, 19763, LOCATE_parser___ReduceAction544___init};
51332 val_t variable[2];
51333 struct WBT_ **closurevariable = NULL;
51334 trace.prev = tracehead; tracehead = &trace;
51335 trace.file = LOCATE_parser;
51336 /* Register variable[0]: Local variable */
51337 variable[0] = self;
51338 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction544].i]) return;
51339 /* Register variable[1]: Method return value and escape marker */
51340 return_label1121: while(false);
51341 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction544].i] = 1;
51342 tracehead = trace.prev;
51343 return;
51344 }
51345 void parser___ReduceAction545___action(val_t self, val_t param0) {
51346 struct trace_t trace = {NULL, NULL, 19767, LOCATE_parser___ReduceAction545___action};
51347 val_t variable[8];
51348 struct WBT_ **closurevariable = NULL;
51349 trace.prev = tracehead; tracehead = &trace;
51350 trace.file = LOCATE_parser;
51351 /* Register variable[0]: Local variable */
51352 variable[0] = self;
51353 /* Register variable[1]: Local variable */
51354 variable[1] = param0;
51355 /* Register variable[2]: Method return value and escape marker */
51356 /* Register variable[3]: Local variable */
51357 variable[3] = NIT_NULL /*null*/;
51358 /* Register variable[4]: Local variable */
51359 /* Register variable[5]: Result */
51360 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51361 variable[4] = variable[5];
51362 /* Register variable[5]: Local variable */
51363 variable[5] = variable[4] /*nodearraylist1*/;
51364 /* Register variable[6]: Result */
51365 variable[6] = TAG_Bool(( variable[5] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
51366 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction545___action, LOCATE_parser, 19772); nit_exit(1);}
51367 /* Register variable[6]: Local variable */
51368 /* Register variable[7]: Result */
51369 variable[7] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[5] /*tkwreturnnode2*/, NIT_NULL /*null*/) /*new AReturnExpr*/;
51370 variable[6] = variable[7];
51371 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
51372 /* Register variable[7]: Result */
51373 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51374 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51375 return_label1122: while(false);
51376 tracehead = trace.prev;
51377 return;
51378 }
51379 void parser___ReduceAction545___init(val_t self, int* init_table) {
51380 struct trace_t trace = {NULL, NULL, 19780, LOCATE_parser___ReduceAction545___init};
51381 val_t variable[2];
51382 struct WBT_ **closurevariable = NULL;
51383 trace.prev = tracehead; tracehead = &trace;
51384 trace.file = LOCATE_parser;
51385 /* Register variable[0]: Local variable */
51386 variable[0] = self;
51387 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction545].i]) return;
51388 /* Register variable[1]: Method return value and escape marker */
51389 return_label1123: while(false);
51390 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction545].i] = 1;
51391 tracehead = trace.prev;
51392 return;
51393 }
51394 void parser___ReduceAction546___action(val_t self, val_t param0) {
51395 struct trace_t trace = {NULL, NULL, 19784, LOCATE_parser___ReduceAction546___action};
51396 val_t variable[10];
51397 struct WBT_ **closurevariable = NULL;
51398 trace.prev = tracehead; tracehead = &trace;
51399 trace.file = LOCATE_parser;
51400 /* Register variable[0]: Local variable */
51401 variable[0] = self;
51402 /* Register variable[1]: Local variable */
51403 variable[1] = param0;
51404 /* Register variable[2]: Method return value and escape marker */
51405 /* Register variable[3]: Local variable */
51406 variable[3] = NIT_NULL /*null*/;
51407 /* Register variable[4]: Local variable */
51408 /* Register variable[5]: Result */
51409 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51410 variable[4] = variable[5];
51411 /* Register variable[5]: Local variable */
51412 /* Register variable[6]: Result */
51413 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51414 variable[5] = variable[6];
51415 /* Register variable[6]: Local variable */
51416 variable[6] = variable[5] /*nodearraylist1*/;
51417 /* Register variable[7]: Result */
51418 variable[7] = TAG_Bool(( variable[6] /*tkwreturnnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwreturnnode2*/, COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
51419 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 19790); nit_exit(1);}
51420 /* Register variable[7]: Local variable */
51421 variable[7] = variable[4] /*nodearraylist2*/;
51422 /* Register variable[8]: Result */
51423 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51424 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction546___action, LOCATE_parser, 19792); nit_exit(1);}
51425 /* Register variable[8]: Local variable */
51426 /* Register variable[9]: Result */
51427 variable[9] = NEW_AReturnExpr_parser_prod___AReturnExpr___init_areturnexpr( variable[6] /*tkwreturnnode2*/, variable[7] /*pexprnode3*/) /*new AReturnExpr*/;
51428 variable[8] = variable[9];
51429 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
51430 /* Register variable[9]: Result */
51431 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51432 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51433 return_label1124: while(false);
51434 tracehead = trace.prev;
51435 return;
51436 }
51437 void parser___ReduceAction546___init(val_t self, int* init_table) {
51438 struct trace_t trace = {NULL, NULL, 19800, LOCATE_parser___ReduceAction546___init};
51439 val_t variable[2];
51440 struct WBT_ **closurevariable = NULL;
51441 trace.prev = tracehead; tracehead = &trace;
51442 trace.file = LOCATE_parser;
51443 /* Register variable[0]: Local variable */
51444 variable[0] = self;
51445 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction546].i]) return;
51446 /* Register variable[1]: Method return value and escape marker */
51447 return_label1125: while(false);
51448 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction546].i] = 1;
51449 tracehead = trace.prev;
51450 return;
51451 }
51452 void parser___ReduceAction547___action(val_t self, val_t param0) {
51453 struct trace_t trace = {NULL, NULL, 19804, LOCATE_parser___ReduceAction547___action};
51454 val_t variable[8];
51455 struct WBT_ **closurevariable = NULL;
51456 trace.prev = tracehead; tracehead = &trace;
51457 trace.file = LOCATE_parser;
51458 /* Register variable[0]: Local variable */
51459 variable[0] = self;
51460 /* Register variable[1]: Local variable */
51461 variable[1] = param0;
51462 /* Register variable[2]: Method return value and escape marker */
51463 /* Register variable[3]: Local variable */
51464 variable[3] = NIT_NULL /*null*/;
51465 /* Register variable[4]: Local variable */
51466 /* Register variable[5]: Result */
51467 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51468 variable[4] = variable[5];
51469 /* Register variable[5]: Local variable */
51470 variable[5] = variable[4] /*nodearraylist1*/;
51471 /* Register variable[6]: Result */
51472 variable[6] = TAG_Bool(( variable[5] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
51473 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction547___action, LOCATE_parser, 19809); nit_exit(1);}
51474 /* Register variable[6]: Local variable */
51475 /* Register variable[7]: Result */
51476 variable[7] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[5] /*tkwbreaknode2*/, NIT_NULL /*null*/) /*new ABreakExpr*/;
51477 variable[6] = variable[7];
51478 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
51479 /* Register variable[7]: Result */
51480 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51481 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51482 return_label1126: while(false);
51483 tracehead = trace.prev;
51484 return;
51485 }
51486 void parser___ReduceAction547___init(val_t self, int* init_table) {
51487 struct trace_t trace = {NULL, NULL, 19817, LOCATE_parser___ReduceAction547___init};
51488 val_t variable[2];
51489 struct WBT_ **closurevariable = NULL;
51490 trace.prev = tracehead; tracehead = &trace;
51491 trace.file = LOCATE_parser;
51492 /* Register variable[0]: Local variable */
51493 variable[0] = self;
51494 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction547].i]) return;
51495 /* Register variable[1]: Method return value and escape marker */
51496 return_label1127: while(false);
51497 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction547].i] = 1;
51498 tracehead = trace.prev;
51499 return;
51500 }
51501 void parser___ReduceAction548___action(val_t self, val_t param0) {
51502 struct trace_t trace = {NULL, NULL, 19821, LOCATE_parser___ReduceAction548___action};
51503 val_t variable[10];
51504 struct WBT_ **closurevariable = NULL;
51505 trace.prev = tracehead; tracehead = &trace;
51506 trace.file = LOCATE_parser;
51507 /* Register variable[0]: Local variable */
51508 variable[0] = self;
51509 /* Register variable[1]: Local variable */
51510 variable[1] = param0;
51511 /* Register variable[2]: Method return value and escape marker */
51512 /* Register variable[3]: Local variable */
51513 variable[3] = NIT_NULL /*null*/;
51514 /* Register variable[4]: Local variable */
51515 /* Register variable[5]: Result */
51516 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51517 variable[4] = variable[5];
51518 /* Register variable[5]: Local variable */
51519 /* Register variable[6]: Result */
51520 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51521 variable[5] = variable[6];
51522 /* Register variable[6]: Local variable */
51523 variable[6] = variable[5] /*nodearraylist1*/;
51524 /* Register variable[7]: Result */
51525 variable[7] = TAG_Bool(( variable[6] /*tkwbreaknode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwbreaknode2*/, COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
51526 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 19827); nit_exit(1);}
51527 /* Register variable[7]: Local variable */
51528 variable[7] = variable[4] /*nodearraylist2*/;
51529 /* Register variable[8]: Result */
51530 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51531 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction548___action, LOCATE_parser, 19829); nit_exit(1);}
51532 /* Register variable[8]: Local variable */
51533 /* Register variable[9]: Result */
51534 variable[9] = NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr( variable[6] /*tkwbreaknode2*/, variable[7] /*pexprnode3*/) /*new ABreakExpr*/;
51535 variable[8] = variable[9];
51536 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
51537 /* Register variable[9]: Result */
51538 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51539 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51540 return_label1128: while(false);
51541 tracehead = trace.prev;
51542 return;
51543 }
51544 void parser___ReduceAction548___init(val_t self, int* init_table) {
51545 struct trace_t trace = {NULL, NULL, 19837, LOCATE_parser___ReduceAction548___init};
51546 val_t variable[2];
51547 struct WBT_ **closurevariable = NULL;
51548 trace.prev = tracehead; tracehead = &trace;
51549 trace.file = LOCATE_parser;
51550 /* Register variable[0]: Local variable */
51551 variable[0] = self;
51552 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction548].i]) return;
51553 /* Register variable[1]: Method return value and escape marker */
51554 return_label1129: while(false);
51555 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction548].i] = 1;
51556 tracehead = trace.prev;
51557 return;
51558 }
51559 void parser___ReduceAction549___action(val_t self, val_t param0) {
51560 struct trace_t trace = {NULL, NULL, 19841, LOCATE_parser___ReduceAction549___action};
51561 val_t variable[8];
51562 struct WBT_ **closurevariable = NULL;
51563 trace.prev = tracehead; tracehead = &trace;
51564 trace.file = LOCATE_parser;
51565 /* Register variable[0]: Local variable */
51566 variable[0] = self;
51567 /* Register variable[1]: Local variable */
51568 variable[1] = param0;
51569 /* Register variable[2]: Method return value and escape marker */
51570 /* Register variable[3]: Local variable */
51571 variable[3] = NIT_NULL /*null*/;
51572 /* Register variable[4]: Local variable */
51573 /* Register variable[5]: Result */
51574 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51575 variable[4] = variable[5];
51576 /* Register variable[5]: Local variable */
51577 variable[5] = variable[4] /*nodearraylist1*/;
51578 /* Register variable[6]: Result */
51579 variable[6] = TAG_Bool(( variable[5] /*tkwabortnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwabortnode2*/, COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
51580 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction549___action, LOCATE_parser, 19846); nit_exit(1);}
51581 /* Register variable[6]: Local variable */
51582 /* Register variable[7]: Result */
51583 variable[7] = NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr( variable[5] /*tkwabortnode2*/) /*new AAbortExpr*/;
51584 variable[6] = variable[7];
51585 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
51586 /* Register variable[7]: Result */
51587 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51588 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51589 return_label1130: while(false);
51590 tracehead = trace.prev;
51591 return;
51592 }
51593 void parser___ReduceAction549___init(val_t self, int* init_table) {
51594 struct trace_t trace = {NULL, NULL, 19853, LOCATE_parser___ReduceAction549___init};
51595 val_t variable[2];
51596 struct WBT_ **closurevariable = NULL;
51597 trace.prev = tracehead; tracehead = &trace;
51598 trace.file = LOCATE_parser;
51599 /* Register variable[0]: Local variable */
51600 variable[0] = self;
51601 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction549].i]) return;
51602 /* Register variable[1]: Method return value and escape marker */
51603 return_label1131: while(false);
51604 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction549].i] = 1;
51605 tracehead = trace.prev;
51606 return;
51607 }
51608 void parser___ReduceAction550___action(val_t self, val_t param0) {
51609 struct trace_t trace = {NULL, NULL, 19857, LOCATE_parser___ReduceAction550___action};
51610 val_t variable[8];
51611 struct WBT_ **closurevariable = NULL;
51612 trace.prev = tracehead; tracehead = &trace;
51613 trace.file = LOCATE_parser;
51614 /* Register variable[0]: Local variable */
51615 variable[0] = self;
51616 /* Register variable[1]: Local variable */
51617 variable[1] = param0;
51618 /* Register variable[2]: Method return value and escape marker */
51619 /* Register variable[3]: Local variable */
51620 variable[3] = NIT_NULL /*null*/;
51621 /* Register variable[4]: Local variable */
51622 /* Register variable[5]: Result */
51623 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51624 variable[4] = variable[5];
51625 /* Register variable[5]: Local variable */
51626 variable[5] = variable[4] /*nodearraylist1*/;
51627 /* Register variable[6]: Result */
51628 variable[6] = TAG_Bool(( variable[5] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
51629 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction550___action, LOCATE_parser, 19862); nit_exit(1);}
51630 /* Register variable[6]: Local variable */
51631 /* Register variable[7]: Result */
51632 variable[7] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[5] /*tkwcontinuenode2*/, NIT_NULL /*null*/) /*new AContinueExpr*/;
51633 variable[6] = variable[7];
51634 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
51635 /* Register variable[7]: Result */
51636 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51637 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
51638 return_label1132: while(false);
51639 tracehead = trace.prev;
51640 return;
51641 }
51642 void parser___ReduceAction550___init(val_t self, int* init_table) {
51643 struct trace_t trace = {NULL, NULL, 19870, LOCATE_parser___ReduceAction550___init};
51644 val_t variable[2];
51645 struct WBT_ **closurevariable = NULL;
51646 trace.prev = tracehead; tracehead = &trace;
51647 trace.file = LOCATE_parser;
51648 /* Register variable[0]: Local variable */
51649 variable[0] = self;
51650 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction550].i]) return;
51651 /* Register variable[1]: Method return value and escape marker */
51652 return_label1133: while(false);
51653 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction550].i] = 1;
51654 tracehead = trace.prev;
51655 return;
51656 }
51657 void parser___ReduceAction551___action(val_t self, val_t param0) {
51658 struct trace_t trace = {NULL, NULL, 19874, LOCATE_parser___ReduceAction551___action};
51659 val_t variable[10];
51660 struct WBT_ **closurevariable = NULL;
51661 trace.prev = tracehead; tracehead = &trace;
51662 trace.file = LOCATE_parser;
51663 /* Register variable[0]: Local variable */
51664 variable[0] = self;
51665 /* Register variable[1]: Local variable */
51666 variable[1] = param0;
51667 /* Register variable[2]: Method return value and escape marker */
51668 /* Register variable[3]: Local variable */
51669 variable[3] = NIT_NULL /*null*/;
51670 /* Register variable[4]: Local variable */
51671 /* Register variable[5]: Result */
51672 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51673 variable[4] = variable[5];
51674 /* Register variable[5]: Local variable */
51675 /* Register variable[6]: Result */
51676 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51677 variable[5] = variable[6];
51678 /* Register variable[6]: Local variable */
51679 variable[6] = variable[5] /*nodearraylist1*/;
51680 /* Register variable[7]: Result */
51681 variable[7] = TAG_Bool(( variable[6] /*tkwcontinuenode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwcontinuenode2*/, COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
51682 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 19880); nit_exit(1);}
51683 /* Register variable[7]: Local variable */
51684 variable[7] = variable[4] /*nodearraylist2*/;
51685 /* Register variable[8]: Result */
51686 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51687 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction551___action, LOCATE_parser, 19882); nit_exit(1);}
51688 /* Register variable[8]: Local variable */
51689 /* Register variable[9]: Result */
51690 variable[9] = NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr( variable[6] /*tkwcontinuenode2*/, variable[7] /*pexprnode3*/) /*new AContinueExpr*/;
51691 variable[8] = variable[9];
51692 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
51693 /* Register variable[9]: Result */
51694 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51695 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
51696 return_label1134: while(false);
51697 tracehead = trace.prev;
51698 return;
51699 }
51700 void parser___ReduceAction551___init(val_t self, int* init_table) {
51701 struct trace_t trace = {NULL, NULL, 19890, LOCATE_parser___ReduceAction551___init};
51702 val_t variable[2];
51703 struct WBT_ **closurevariable = NULL;
51704 trace.prev = tracehead; tracehead = &trace;
51705 trace.file = LOCATE_parser;
51706 /* Register variable[0]: Local variable */
51707 variable[0] = self;
51708 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction551].i]) return;
51709 /* Register variable[1]: Method return value and escape marker */
51710 return_label1135: while(false);
51711 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction551].i] = 1;
51712 tracehead = trace.prev;
51713 return;
51714 }
51715 void parser___ReduceAction552___action(val_t self, val_t param0) {
51716 struct trace_t trace = {NULL, NULL, 19894, LOCATE_parser___ReduceAction552___action};
51717 val_t variable[7];
51718 struct WBT_ **closurevariable = NULL;
51719 trace.prev = tracehead; tracehead = &trace;
51720 trace.file = LOCATE_parser;
51721 /* Register variable[0]: Local variable */
51722 variable[0] = self;
51723 /* Register variable[1]: Local variable */
51724 variable[1] = param0;
51725 /* Register variable[2]: Method return value and escape marker */
51726 /* Register variable[3]: Local variable */
51727 variable[3] = NIT_NULL /*null*/;
51728 /* Register variable[4]: Local variable */
51729 /* Register variable[5]: Result */
51730 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51731 variable[4] = variable[5];
51732 /* Register variable[5]: Local variable */
51733 variable[5] = variable[4] /*nodearraylist1*/;
51734 /* Register variable[6]: Result */
51735 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51736 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction552___action, LOCATE_parser, 19899); nit_exit(1);}
51737 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51738 /* Register variable[6]: Result */
51739 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51740 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51741 return_label1136: while(false);
51742 tracehead = trace.prev;
51743 return;
51744 }
51745 void parser___ReduceAction552___init(val_t self, int* init_table) {
51746 struct trace_t trace = {NULL, NULL, 19903, LOCATE_parser___ReduceAction552___init};
51747 val_t variable[2];
51748 struct WBT_ **closurevariable = NULL;
51749 trace.prev = tracehead; tracehead = &trace;
51750 trace.file = LOCATE_parser;
51751 /* Register variable[0]: Local variable */
51752 variable[0] = self;
51753 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction552].i]) return;
51754 /* Register variable[1]: Method return value and escape marker */
51755 return_label1137: while(false);
51756 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction552].i] = 1;
51757 tracehead = trace.prev;
51758 return;
51759 }
51760 void parser___ReduceAction553___action(val_t self, val_t param0) {
51761 struct trace_t trace = {NULL, NULL, 19907, LOCATE_parser___ReduceAction553___action};
51762 val_t variable[7];
51763 struct WBT_ **closurevariable = NULL;
51764 trace.prev = tracehead; tracehead = &trace;
51765 trace.file = LOCATE_parser;
51766 /* Register variable[0]: Local variable */
51767 variable[0] = self;
51768 /* Register variable[1]: Local variable */
51769 variable[1] = param0;
51770 /* Register variable[2]: Method return value and escape marker */
51771 /* Register variable[3]: Local variable */
51772 variable[3] = NIT_NULL /*null*/;
51773 /* Register variable[4]: Local variable */
51774 /* Register variable[5]: Result */
51775 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51776 variable[4] = variable[5];
51777 /* Register variable[5]: Local variable */
51778 variable[5] = variable[4] /*nodearraylist1*/;
51779 /* Register variable[6]: Result */
51780 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51781 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction553___action, LOCATE_parser, 19912); nit_exit(1);}
51782 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51783 /* Register variable[6]: Result */
51784 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51785 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51786 return_label1138: while(false);
51787 tracehead = trace.prev;
51788 return;
51789 }
51790 void parser___ReduceAction553___init(val_t self, int* init_table) {
51791 struct trace_t trace = {NULL, NULL, 19916, LOCATE_parser___ReduceAction553___init};
51792 val_t variable[2];
51793 struct WBT_ **closurevariable = NULL;
51794 trace.prev = tracehead; tracehead = &trace;
51795 trace.file = LOCATE_parser;
51796 /* Register variable[0]: Local variable */
51797 variable[0] = self;
51798 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction553].i]) return;
51799 /* Register variable[1]: Method return value and escape marker */
51800 return_label1139: while(false);
51801 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction553].i] = 1;
51802 tracehead = trace.prev;
51803 return;
51804 }
51805 void parser___ReduceAction554___action(val_t self, val_t param0) {
51806 struct trace_t trace = {NULL, NULL, 19920, LOCATE_parser___ReduceAction554___action};
51807 val_t variable[7];
51808 struct WBT_ **closurevariable = NULL;
51809 trace.prev = tracehead; tracehead = &trace;
51810 trace.file = LOCATE_parser;
51811 /* Register variable[0]: Local variable */
51812 variable[0] = self;
51813 /* Register variable[1]: Local variable */
51814 variable[1] = param0;
51815 /* Register variable[2]: Method return value and escape marker */
51816 /* Register variable[3]: Local variable */
51817 variable[3] = NIT_NULL /*null*/;
51818 /* Register variable[4]: Local variable */
51819 /* Register variable[5]: Result */
51820 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51821 variable[4] = variable[5];
51822 /* Register variable[5]: Local variable */
51823 variable[5] = variable[4] /*nodearraylist1*/;
51824 /* Register variable[6]: Result */
51825 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51826 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction554___action, LOCATE_parser, 19925); nit_exit(1);}
51827 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51828 /* Register variable[6]: Result */
51829 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51830 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51831 return_label1140: while(false);
51832 tracehead = trace.prev;
51833 return;
51834 }
51835 void parser___ReduceAction554___init(val_t self, int* init_table) {
51836 struct trace_t trace = {NULL, NULL, 19929, LOCATE_parser___ReduceAction554___init};
51837 val_t variable[2];
51838 struct WBT_ **closurevariable = NULL;
51839 trace.prev = tracehead; tracehead = &trace;
51840 trace.file = LOCATE_parser;
51841 /* Register variable[0]: Local variable */
51842 variable[0] = self;
51843 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction554].i]) return;
51844 /* Register variable[1]: Method return value and escape marker */
51845 return_label1141: while(false);
51846 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction554].i] = 1;
51847 tracehead = trace.prev;
51848 return;
51849 }
51850 void parser___ReduceAction555___action(val_t self, val_t param0) {
51851 struct trace_t trace = {NULL, NULL, 19933, LOCATE_parser___ReduceAction555___action};
51852 val_t variable[7];
51853 struct WBT_ **closurevariable = NULL;
51854 trace.prev = tracehead; tracehead = &trace;
51855 trace.file = LOCATE_parser;
51856 /* Register variable[0]: Local variable */
51857 variable[0] = self;
51858 /* Register variable[1]: Local variable */
51859 variable[1] = param0;
51860 /* Register variable[2]: Method return value and escape marker */
51861 /* Register variable[3]: Local variable */
51862 variable[3] = NIT_NULL /*null*/;
51863 /* Register variable[4]: Local variable */
51864 /* Register variable[5]: Result */
51865 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51866 variable[4] = variable[5];
51867 /* Register variable[5]: Local variable */
51868 variable[5] = variable[4] /*nodearraylist1*/;
51869 /* Register variable[6]: Result */
51870 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51871 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction555___action, LOCATE_parser, 19938); nit_exit(1);}
51872 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51873 /* Register variable[6]: Result */
51874 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51875 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51876 return_label1142: while(false);
51877 tracehead = trace.prev;
51878 return;
51879 }
51880 void parser___ReduceAction555___init(val_t self, int* init_table) {
51881 struct trace_t trace = {NULL, NULL, 19942, LOCATE_parser___ReduceAction555___init};
51882 val_t variable[2];
51883 struct WBT_ **closurevariable = NULL;
51884 trace.prev = tracehead; tracehead = &trace;
51885 trace.file = LOCATE_parser;
51886 /* Register variable[0]: Local variable */
51887 variable[0] = self;
51888 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction555].i]) return;
51889 /* Register variable[1]: Method return value and escape marker */
51890 return_label1143: while(false);
51891 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction555].i] = 1;
51892 tracehead = trace.prev;
51893 return;
51894 }
51895 void parser___ReduceAction556___action(val_t self, val_t param0) {
51896 struct trace_t trace = {NULL, NULL, 19946, LOCATE_parser___ReduceAction556___action};
51897 val_t variable[7];
51898 struct WBT_ **closurevariable = NULL;
51899 trace.prev = tracehead; tracehead = &trace;
51900 trace.file = LOCATE_parser;
51901 /* Register variable[0]: Local variable */
51902 variable[0] = self;
51903 /* Register variable[1]: Local variable */
51904 variable[1] = param0;
51905 /* Register variable[2]: Method return value and escape marker */
51906 /* Register variable[3]: Local variable */
51907 variable[3] = NIT_NULL /*null*/;
51908 /* Register variable[4]: Local variable */
51909 /* Register variable[5]: Result */
51910 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51911 variable[4] = variable[5];
51912 /* Register variable[5]: Local variable */
51913 variable[5] = variable[4] /*nodearraylist1*/;
51914 /* Register variable[6]: Result */
51915 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51916 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction556___action, LOCATE_parser, 19951); nit_exit(1);}
51917 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
51918 /* Register variable[6]: Result */
51919 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
51920 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
51921 return_label1144: while(false);
51922 tracehead = trace.prev;
51923 return;
51924 }
51925 void parser___ReduceAction556___init(val_t self, int* init_table) {
51926 struct trace_t trace = {NULL, NULL, 19955, LOCATE_parser___ReduceAction556___init};
51927 val_t variable[2];
51928 struct WBT_ **closurevariable = NULL;
51929 trace.prev = tracehead; tracehead = &trace;
51930 trace.file = LOCATE_parser;
51931 /* Register variable[0]: Local variable */
51932 variable[0] = self;
51933 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction556].i]) return;
51934 /* Register variable[1]: Method return value and escape marker */
51935 return_label1145: while(false);
51936 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction556].i] = 1;
51937 tracehead = trace.prev;
51938 return;
51939 }
51940 void parser___ReduceAction557___action(val_t self, val_t param0) {
51941 struct trace_t trace = {NULL, NULL, 19959, LOCATE_parser___ReduceAction557___action};
51942 val_t variable[16];
51943 struct WBT_ **closurevariable = NULL;
51944 trace.prev = tracehead; tracehead = &trace;
51945 trace.file = LOCATE_parser;
51946 /* Register variable[0]: Local variable */
51947 variable[0] = self;
51948 /* Register variable[1]: Local variable */
51949 variable[1] = param0;
51950 /* Register variable[2]: Method return value and escape marker */
51951 /* Register variable[3]: Local variable */
51952 variable[3] = NIT_NULL /*null*/;
51953 /* Register variable[4]: Local variable */
51954 /* Register variable[5]: Result */
51955 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51956 variable[4] = variable[5];
51957 /* Register variable[5]: Local variable */
51958 /* Register variable[6]: Result */
51959 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51960 variable[5] = variable[6];
51961 /* Register variable[6]: Local variable */
51962 /* Register variable[7]: Result */
51963 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51964 variable[6] = variable[7];
51965 /* Register variable[7]: Local variable */
51966 /* Register variable[8]: Result */
51967 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51968 variable[7] = variable[8];
51969 /* Register variable[8]: Local variable */
51970 /* Register variable[9]: Result */
51971 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
51972 variable[8] = variable[9];
51973 /* Register variable[9]: Local variable */
51974 /* Register variable[10]: Result */
51975 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51976 variable[9] = variable[10];
51977 /* Register variable[10]: Local variable */
51978 /* Register variable[11]: Result */
51979 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
51980 variable[10] = variable[11];
51981 /* Register variable[11]: Local variable */
51982 variable[11] = variable[8] /*nodearraylist1*/;
51983 /* Register variable[12]: Result */
51984 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
51985 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 19970); nit_exit(1);}
51986 /* Register variable[12]: Local variable */
51987 variable[12] = variable[5] /*nodearraylist4*/;
51988 /* Register variable[13]: Result */
51989 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
51990 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 19972); nit_exit(1);}
51991 /* Register variable[13]: Local variable */
51992 variable[13] = variable[4] /*nodearraylist5*/;
51993 /* Register variable[14]: Result */
51994 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
51995 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction557___action, LOCATE_parser, 19974); nit_exit(1);}
51996 /* Register variable[14]: Result */
51997 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::==*/)))))));
51998 if (UNTAG_Bool(variable[14])) { /*if*/
51999 /* Register variable[14]: Result */
52000 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52001 if (UNTAG_Bool(variable[14])) { /*if*/
52002 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
52003 } else { /*if*/
52004 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
52005 }
52006 }
52007 /* Register variable[14]: Local variable */
52008 /* Register variable[15]: Result */
52009 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/) /*new ACallExpr*/;
52010 variable[14] = variable[15];
52011 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
52012 /* Register variable[15]: Result */
52013 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52014 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
52015 return_label1146: while(false);
52016 tracehead = trace.prev;
52017 return;
52018 }
52019 void parser___ReduceAction557___init(val_t self, int* init_table) {
52020 struct trace_t trace = {NULL, NULL, 19991, LOCATE_parser___ReduceAction557___init};
52021 val_t variable[2];
52022 struct WBT_ **closurevariable = NULL;
52023 trace.prev = tracehead; tracehead = &trace;
52024 trace.file = LOCATE_parser;
52025 /* Register variable[0]: Local variable */
52026 variable[0] = self;
52027 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction557].i]) return;
52028 /* Register variable[1]: Method return value and escape marker */
52029 return_label1147: while(false);
52030 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction557].i] = 1;
52031 tracehead = trace.prev;
52032 return;
52033 }
52034 void parser___ReduceAction558___action(val_t self, val_t param0) {
52035 struct trace_t trace = {NULL, NULL, 19995, LOCATE_parser___ReduceAction558___action};
52036 val_t variable[13];
52037 struct WBT_ **closurevariable = NULL;
52038 trace.prev = tracehead; tracehead = &trace;
52039 trace.file = LOCATE_parser;
52040 /* Register variable[0]: Local variable */
52041 variable[0] = self;
52042 /* Register variable[1]: Local variable */
52043 variable[1] = param0;
52044 /* Register variable[2]: Method return value and escape marker */
52045 /* Register variable[3]: Local variable */
52046 variable[3] = NIT_NULL /*null*/;
52047 /* Register variable[4]: Local variable */
52048 /* Register variable[5]: Result */
52049 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52050 variable[4] = variable[5];
52051 /* Register variable[5]: Local variable */
52052 /* Register variable[6]: Result */
52053 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52054 variable[5] = variable[6];
52055 /* Register variable[6]: Local variable */
52056 /* Register variable[7]: Result */
52057 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52058 variable[6] = variable[7];
52059 /* Register variable[7]: Local variable */
52060 /* Register variable[8]: Result */
52061 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52062 variable[7] = variable[8];
52063 /* Register variable[8]: Local variable */
52064 /* Register variable[9]: Result */
52065 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
52066 variable[8] = variable[9];
52067 /* Register variable[9]: Local variable */
52068 variable[9] = variable[5] /*nodearraylist1*/;
52069 /* Register variable[10]: Result */
52070 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
52071 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 20005); nit_exit(1);}
52072 /* Register variable[10]: Local variable */
52073 variable[10] = variable[4] /*nodearraylist2*/;
52074 /* Register variable[11]: Result */
52075 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52076 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction558___action, LOCATE_parser, 20007); nit_exit(1);}
52077 /* Register variable[11]: Result */
52078 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::==*/)))))));
52079 if (UNTAG_Bool(variable[11])) { /*if*/
52080 /* Register variable[11]: Result */
52081 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52082 if (UNTAG_Bool(variable[11])) { /*if*/
52083 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
52084 } else { /*if*/
52085 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
52086 }
52087 }
52088 /* Register variable[11]: Local variable */
52089 /* Register variable[12]: Result */
52090 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/) /*new ACallExpr*/;
52091 variable[11] = variable[12];
52092 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
52093 /* Register variable[12]: Result */
52094 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52095 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
52096 return_label1148: while(false);
52097 tracehead = trace.prev;
52098 return;
52099 }
52100 void parser___ReduceAction558___init(val_t self, int* init_table) {
52101 struct trace_t trace = {NULL, NULL, 20024, LOCATE_parser___ReduceAction558___init};
52102 val_t variable[2];
52103 struct WBT_ **closurevariable = NULL;
52104 trace.prev = tracehead; tracehead = &trace;
52105 trace.file = LOCATE_parser;
52106 /* Register variable[0]: Local variable */
52107 variable[0] = self;
52108 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction558].i]) return;
52109 /* Register variable[1]: Method return value and escape marker */
52110 return_label1149: while(false);
52111 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction558].i] = 1;
52112 tracehead = trace.prev;
52113 return;
52114 }
52115 void parser___ReduceAction559___action(val_t self, val_t param0) {
52116 struct trace_t trace = {NULL, NULL, 20028, LOCATE_parser___ReduceAction559___action};
52117 val_t variable[18];
52118 struct WBT_ **closurevariable = NULL;
52119 trace.prev = tracehead; tracehead = &trace;
52120 trace.file = LOCATE_parser;
52121 /* Register variable[0]: Local variable */
52122 variable[0] = self;
52123 /* Register variable[1]: Local variable */
52124 variable[1] = param0;
52125 /* Register variable[2]: Method return value and escape marker */
52126 /* Register variable[3]: Local variable */
52127 variable[3] = NIT_NULL /*null*/;
52128 /* Register variable[4]: Local variable */
52129 /* Register variable[5]: Result */
52130 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52131 variable[4] = variable[5];
52132 /* Register variable[5]: Local variable */
52133 /* Register variable[6]: Result */
52134 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52135 variable[5] = variable[6];
52136 /* Register variable[6]: Local variable */
52137 /* Register variable[7]: Result */
52138 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52139 variable[6] = variable[7];
52140 /* Register variable[7]: Local variable */
52141 /* Register variable[8]: Result */
52142 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52143 variable[7] = variable[8];
52144 /* Register variable[8]: Local variable */
52145 /* Register variable[9]: Result */
52146 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52147 variable[8] = variable[9];
52148 /* Register variable[9]: Local variable */
52149 /* Register variable[10]: Result */
52150 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52151 variable[9] = variable[10];
52152 /* Register variable[10]: Local variable */
52153 /* Register variable[11]: Result */
52154 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52155 variable[10] = variable[11];
52156 /* Register variable[11]: Local variable */
52157 /* Register variable[12]: Result */
52158 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52159 variable[11] = variable[12];
52160 /* Register variable[12]: Local variable */
52161 variable[12] = variable[9] /*nodearraylist1*/;
52162 /* Register variable[13]: Result */
52163 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52164 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 20040); nit_exit(1);}
52165 /* Register variable[13]: Local variable */
52166 variable[13] = variable[6] /*nodearraylist4*/;
52167 /* Register variable[14]: Result */
52168 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
52169 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 20042); nit_exit(1);}
52170 /* Register variable[14]: Local variable */
52171 variable[14] = variable[5] /*nodearraylist5*/;
52172 /* Register variable[15]: Result */
52173 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52174 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 20044); nit_exit(1);}
52175 /* Register variable[15]: Result */
52176 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::==*/)))))));
52177 if (UNTAG_Bool(variable[15])) { /*if*/
52178 /* Register variable[15]: Result */
52179 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52180 if (UNTAG_Bool(variable[15])) { /*if*/
52181 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
52182 } else { /*if*/
52183 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
52184 }
52185 }
52186 /* Register variable[15]: Local variable */
52187 variable[15] = variable[4] /*nodearraylist6*/;
52188 /* Register variable[16]: Result */
52189 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52190 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction559___action, LOCATE_parser, 20053); nit_exit(1);}
52191 /* Register variable[16]: Result */
52192 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::==*/)))))));
52193 if (UNTAG_Bool(variable[16])) { /*if*/
52194 /* Register variable[16]: Result */
52195 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
52196 if (UNTAG_Bool(variable[16])) { /*if*/
52197 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
52198 } else { /*if*/
52199 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
52200 }
52201 }
52202 /* Register variable[16]: Local variable */
52203 /* Register variable[17]: Result */
52204 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
52205 variable[16] = variable[17];
52206 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
52207 /* Register variable[17]: Result */
52208 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52209 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
52210 return_label1150: while(false);
52211 tracehead = trace.prev;
52212 return;
52213 }
52214 void parser___ReduceAction559___init(val_t self, int* init_table) {
52215 struct trace_t trace = {NULL, NULL, 20070, LOCATE_parser___ReduceAction559___init};
52216 val_t variable[2];
52217 struct WBT_ **closurevariable = NULL;
52218 trace.prev = tracehead; tracehead = &trace;
52219 trace.file = LOCATE_parser;
52220 /* Register variable[0]: Local variable */
52221 variable[0] = self;
52222 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction559].i]) return;
52223 /* Register variable[1]: Method return value and escape marker */
52224 return_label1151: while(false);
52225 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction559].i] = 1;
52226 tracehead = trace.prev;
52227 return;
52228 }
52229 void parser___ReduceAction560___action(val_t self, val_t param0) {
52230 struct trace_t trace = {NULL, NULL, 20074, LOCATE_parser___ReduceAction560___action};
52231 val_t variable[15];
52232 struct WBT_ **closurevariable = NULL;
52233 trace.prev = tracehead; tracehead = &trace;
52234 trace.file = LOCATE_parser;
52235 /* Register variable[0]: Local variable */
52236 variable[0] = self;
52237 /* Register variable[1]: Local variable */
52238 variable[1] = param0;
52239 /* Register variable[2]: Method return value and escape marker */
52240 /* Register variable[3]: Local variable */
52241 variable[3] = NIT_NULL /*null*/;
52242 /* Register variable[4]: Local variable */
52243 /* Register variable[5]: Result */
52244 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52245 variable[4] = variable[5];
52246 /* Register variable[5]: Local variable */
52247 /* Register variable[6]: Result */
52248 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52249 variable[5] = variable[6];
52250 /* Register variable[6]: Local variable */
52251 /* Register variable[7]: Result */
52252 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52253 variable[6] = variable[7];
52254 /* Register variable[7]: Local variable */
52255 /* Register variable[8]: Result */
52256 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52257 variable[7] = variable[8];
52258 /* Register variable[8]: Local variable */
52259 /* Register variable[9]: Result */
52260 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52261 variable[8] = variable[9];
52262 /* Register variable[9]: Local variable */
52263 /* Register variable[10]: Result */
52264 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
52265 variable[9] = variable[10];
52266 /* Register variable[10]: Local variable */
52267 variable[10] = variable[6] /*nodearraylist1*/;
52268 /* Register variable[11]: Result */
52269 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
52270 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 20085); nit_exit(1);}
52271 /* Register variable[11]: Local variable */
52272 variable[11] = variable[5] /*nodearraylist2*/;
52273 /* Register variable[12]: Result */
52274 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52275 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 20087); nit_exit(1);}
52276 /* Register variable[12]: Result */
52277 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::==*/)))))));
52278 if (UNTAG_Bool(variable[12])) { /*if*/
52279 /* Register variable[12]: Result */
52280 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52281 if (UNTAG_Bool(variable[12])) { /*if*/
52282 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
52283 } else { /*if*/
52284 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
52285 }
52286 }
52287 /* Register variable[12]: Local variable */
52288 variable[12] = variable[4] /*nodearraylist3*/;
52289 /* Register variable[13]: Result */
52290 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52291 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction560___action, LOCATE_parser, 20096); nit_exit(1);}
52292 /* Register variable[13]: Result */
52293 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::==*/)))))));
52294 if (UNTAG_Bool(variable[13])) { /*if*/
52295 /* Register variable[13]: Result */
52296 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
52297 if (UNTAG_Bool(variable[13])) { /*if*/
52298 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
52299 } else { /*if*/
52300 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
52301 }
52302 }
52303 /* Register variable[13]: Local variable */
52304 /* Register variable[14]: Result */
52305 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
52306 variable[13] = variable[14];
52307 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
52308 /* Register variable[14]: Result */
52309 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52310 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
52311 return_label1152: while(false);
52312 tracehead = trace.prev;
52313 return;
52314 }
52315 void parser___ReduceAction560___init(val_t self, int* init_table) {
52316 struct trace_t trace = {NULL, NULL, 20113, LOCATE_parser___ReduceAction560___init};
52317 val_t variable[2];
52318 struct WBT_ **closurevariable = NULL;
52319 trace.prev = tracehead; tracehead = &trace;
52320 trace.file = LOCATE_parser;
52321 /* Register variable[0]: Local variable */
52322 variable[0] = self;
52323 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction560].i]) return;
52324 /* Register variable[1]: Method return value and escape marker */
52325 return_label1153: while(false);
52326 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction560].i] = 1;
52327 tracehead = trace.prev;
52328 return;
52329 }
52330 void parser___ReduceAction561___action(val_t self, val_t param0) {
52331 struct trace_t trace = {NULL, NULL, 20117, LOCATE_parser___ReduceAction561___action};
52332 val_t variable[11];
52333 struct WBT_ **closurevariable = NULL;
52334 trace.prev = tracehead; tracehead = &trace;
52335 trace.file = LOCATE_parser;
52336 /* Register variable[0]: Local variable */
52337 variable[0] = self;
52338 /* Register variable[1]: Local variable */
52339 variable[1] = param0;
52340 /* Register variable[2]: Method return value and escape marker */
52341 /* Register variable[3]: Local variable */
52342 variable[3] = NIT_NULL /*null*/;
52343 /* Register variable[4]: Local variable */
52344 /* Register variable[5]: Result */
52345 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52346 variable[4] = variable[5];
52347 /* Register variable[5]: Local variable */
52348 /* Register variable[6]: Result */
52349 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52350 variable[5] = variable[6];
52351 /* Register variable[6]: Local variable */
52352 /* Register variable[7]: Result */
52353 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52354 variable[6] = variable[7];
52355 /* Register variable[7]: Local variable */
52356 variable[7] = variable[5] /*nodearraylist1*/;
52357 /* Register variable[8]: Result */
52358 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
52359 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction561___action, LOCATE_parser, 20124); nit_exit(1);}
52360 /* Register variable[8]: Local variable */
52361 variable[8] = variable[4] /*nodearraylist2*/;
52362 /* Register variable[9]: Result */
52363 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52364 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction561___action, LOCATE_parser, 20126); nit_exit(1);}
52365 /* Register variable[9]: Result */
52366 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::==*/)))))));
52367 if (UNTAG_Bool(variable[9])) { /*if*/
52368 /* Register variable[9]: Result */
52369 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52370 if (UNTAG_Bool(variable[9])) { /*if*/
52371 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
52372 } else { /*if*/
52373 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
52374 }
52375 }
52376 /* Register variable[9]: Local variable */
52377 /* Register variable[10]: Result */
52378 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
52379 variable[9] = variable[10];
52380 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
52381 /* Register variable[10]: Result */
52382 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52383 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
52384 return_label1154: while(false);
52385 tracehead = trace.prev;
52386 return;
52387 }
52388 void parser___ReduceAction561___init(val_t self, int* init_table) {
52389 struct trace_t trace = {NULL, NULL, 20142, LOCATE_parser___ReduceAction561___init};
52390 val_t variable[2];
52391 struct WBT_ **closurevariable = NULL;
52392 trace.prev = tracehead; tracehead = &trace;
52393 trace.file = LOCATE_parser;
52394 /* Register variable[0]: Local variable */
52395 variable[0] = self;
52396 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction561].i]) return;
52397 /* Register variable[1]: Method return value and escape marker */
52398 return_label1155: while(false);
52399 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction561].i] = 1;
52400 tracehead = trace.prev;
52401 return;
52402 }
52403 void parser___ReduceAction562___action(val_t self, val_t param0) {
52404 struct trace_t trace = {NULL, NULL, 20146, LOCATE_parser___ReduceAction562___action};
52405 val_t variable[13];
52406 struct WBT_ **closurevariable = NULL;
52407 trace.prev = tracehead; tracehead = &trace;
52408 trace.file = LOCATE_parser;
52409 /* Register variable[0]: Local variable */
52410 variable[0] = self;
52411 /* Register variable[1]: Local variable */
52412 variable[1] = param0;
52413 /* Register variable[2]: Method return value and escape marker */
52414 /* Register variable[3]: Local variable */
52415 variable[3] = NIT_NULL /*null*/;
52416 /* Register variable[4]: Local variable */
52417 /* Register variable[5]: Result */
52418 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52419 variable[4] = variable[5];
52420 /* Register variable[5]: Local variable */
52421 /* Register variable[6]: Result */
52422 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52423 variable[5] = variable[6];
52424 /* Register variable[6]: Local variable */
52425 /* Register variable[7]: Result */
52426 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52427 variable[6] = variable[7];
52428 /* Register variable[7]: Local variable */
52429 /* Register variable[8]: Result */
52430 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52431 variable[7] = variable[8];
52432 /* Register variable[8]: Local variable */
52433 variable[8] = variable[6] /*nodearraylist1*/;
52434 /* Register variable[9]: Result */
52435 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
52436 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 20154); nit_exit(1);}
52437 /* Register variable[9]: Local variable */
52438 variable[9] = variable[5] /*nodearraylist2*/;
52439 /* Register variable[10]: Result */
52440 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
52441 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 20156); nit_exit(1);}
52442 /* Register variable[10]: Local variable */
52443 variable[10] = variable[4] /*nodearraylist3*/;
52444 /* Register variable[11]: Result */
52445 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52446 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction562___action, LOCATE_parser, 20158); nit_exit(1);}
52447 /* Register variable[11]: Result */
52448 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::==*/)))))));
52449 if (UNTAG_Bool(variable[11])) { /*if*/
52450 /* Register variable[11]: Result */
52451 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52452 if (UNTAG_Bool(variable[11])) { /*if*/
52453 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
52454 } else { /*if*/
52455 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
52456 }
52457 }
52458 /* Register variable[11]: Local variable */
52459 /* Register variable[12]: Result */
52460 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
52461 variable[11] = variable[12];
52462 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
52463 /* Register variable[12]: Result */
52464 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52465 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
52466 return_label1156: while(false);
52467 tracehead = trace.prev;
52468 return;
52469 }
52470 void parser___ReduceAction562___init(val_t self, int* init_table) {
52471 struct trace_t trace = {NULL, NULL, 20174, LOCATE_parser___ReduceAction562___init};
52472 val_t variable[2];
52473 struct WBT_ **closurevariable = NULL;
52474 trace.prev = tracehead; tracehead = &trace;
52475 trace.file = LOCATE_parser;
52476 /* Register variable[0]: Local variable */
52477 variable[0] = self;
52478 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction562].i]) return;
52479 /* Register variable[1]: Method return value and escape marker */
52480 return_label1157: while(false);
52481 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction562].i] = 1;
52482 tracehead = trace.prev;
52483 return;
52484 }
52485 void parser___ReduceAction563___action(val_t self, val_t param0) {
52486 struct trace_t trace = {NULL, NULL, 20178, LOCATE_parser___ReduceAction563___action};
52487 val_t variable[15];
52488 struct WBT_ **closurevariable = NULL;
52489 trace.prev = tracehead; tracehead = &trace;
52490 trace.file = LOCATE_parser;
52491 /* Register variable[0]: Local variable */
52492 variable[0] = self;
52493 /* Register variable[1]: Local variable */
52494 variable[1] = param0;
52495 /* Register variable[2]: Method return value and escape marker */
52496 /* Register variable[3]: Local variable */
52497 variable[3] = NIT_NULL /*null*/;
52498 /* Register variable[4]: Local variable */
52499 /* Register variable[5]: Result */
52500 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52501 variable[4] = variable[5];
52502 /* Register variable[5]: Local variable */
52503 /* Register variable[6]: Result */
52504 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52505 variable[5] = variable[6];
52506 /* Register variable[6]: Local variable */
52507 /* Register variable[7]: Result */
52508 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52509 variable[6] = variable[7];
52510 /* Register variable[7]: Local variable */
52511 /* Register variable[8]: Result */
52512 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52513 variable[7] = variable[8];
52514 /* Register variable[8]: Local variable */
52515 /* Register variable[9]: Result */
52516 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52517 variable[8] = variable[9];
52518 /* Register variable[9]: Local variable */
52519 /* Register variable[10]: Result */
52520 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52521 variable[9] = variable[10];
52522 /* Register variable[10]: Local variable */
52523 variable[10] = variable[8] /*nodearraylist1*/;
52524 /* Register variable[11]: Result */
52525 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52526 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 20188); nit_exit(1);}
52527 /* Register variable[11]: Local variable */
52528 variable[11] = variable[5] /*nodearraylist4*/;
52529 /* Register variable[12]: Result */
52530 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
52531 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 20190); nit_exit(1);}
52532 /* Register variable[12]: Local variable */
52533 variable[12] = variable[4] /*nodearraylist5*/;
52534 /* Register variable[13]: Result */
52535 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52536 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction563___action, LOCATE_parser, 20192); nit_exit(1);}
52537 /* Register variable[13]: Result */
52538 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::==*/)))))));
52539 if (UNTAG_Bool(variable[13])) { /*if*/
52540 /* Register variable[13]: Result */
52541 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52542 if (UNTAG_Bool(variable[13])) { /*if*/
52543 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
52544 } else { /*if*/
52545 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
52546 }
52547 }
52548 /* Register variable[13]: Local variable */
52549 /* Register variable[14]: Result */
52550 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/) /*new AInitExpr*/;
52551 variable[13] = variable[14];
52552 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
52553 /* Register variable[14]: Result */
52554 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52555 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
52556 return_label1158: while(false);
52557 tracehead = trace.prev;
52558 return;
52559 }
52560 void parser___ReduceAction563___init(val_t self, int* init_table) {
52561 struct trace_t trace = {NULL, NULL, 20208, LOCATE_parser___ReduceAction563___init};
52562 val_t variable[2];
52563 struct WBT_ **closurevariable = NULL;
52564 trace.prev = tracehead; tracehead = &trace;
52565 trace.file = LOCATE_parser;
52566 /* Register variable[0]: Local variable */
52567 variable[0] = self;
52568 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction563].i]) return;
52569 /* Register variable[1]: Method return value and escape marker */
52570 return_label1159: while(false);
52571 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction563].i] = 1;
52572 tracehead = trace.prev;
52573 return;
52574 }
52575 void parser___ReduceAction564___action(val_t self, val_t param0) {
52576 struct trace_t trace = {NULL, NULL, 20212, LOCATE_parser___ReduceAction564___action};
52577 val_t variable[12];
52578 struct WBT_ **closurevariable = NULL;
52579 trace.prev = tracehead; tracehead = &trace;
52580 trace.file = LOCATE_parser;
52581 /* Register variable[0]: Local variable */
52582 variable[0] = self;
52583 /* Register variable[1]: Local variable */
52584 variable[1] = param0;
52585 /* Register variable[2]: Method return value and escape marker */
52586 /* Register variable[3]: Local variable */
52587 variable[3] = NIT_NULL /*null*/;
52588 /* Register variable[4]: Local variable */
52589 /* Register variable[5]: Result */
52590 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52591 variable[4] = variable[5];
52592 /* Register variable[5]: Local variable */
52593 /* Register variable[6]: Result */
52594 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52595 variable[5] = variable[6];
52596 /* Register variable[6]: Local variable */
52597 /* Register variable[7]: Result */
52598 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52599 variable[6] = variable[7];
52600 /* Register variable[7]: Local variable */
52601 /* Register variable[8]: Result */
52602 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
52603 variable[7] = variable[8];
52604 /* Register variable[8]: Local variable */
52605 variable[8] = variable[5] /*nodearraylist1*/;
52606 /* Register variable[9]: Result */
52607 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
52608 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction564___action, LOCATE_parser, 20221); nit_exit(1);}
52609 /* Register variable[9]: Local variable */
52610 variable[9] = variable[4] /*nodearraylist2*/;
52611 /* Register variable[10]: Result */
52612 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52613 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction564___action, LOCATE_parser, 20223); nit_exit(1);}
52614 /* Register variable[10]: Result */
52615 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::==*/)))))));
52616 if (UNTAG_Bool(variable[10])) { /*if*/
52617 /* Register variable[10]: Result */
52618 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
52619 if (UNTAG_Bool(variable[10])) { /*if*/
52620 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
52621 } else { /*if*/
52622 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
52623 }
52624 }
52625 /* Register variable[10]: Local variable */
52626 /* Register variable[11]: Result */
52627 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/) /*new AInitExpr*/;
52628 variable[10] = variable[11];
52629 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
52630 /* Register variable[11]: Result */
52631 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(84)) /*Parser::go_to*/;
52632 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
52633 return_label1160: while(false);
52634 tracehead = trace.prev;
52635 return;
52636 }
52637 void parser___ReduceAction564___init(val_t self, int* init_table) {
52638 struct trace_t trace = {NULL, NULL, 20239, LOCATE_parser___ReduceAction564___init};
52639 val_t variable[2];
52640 struct WBT_ **closurevariable = NULL;
52641 trace.prev = tracehead; tracehead = &trace;
52642 trace.file = LOCATE_parser;
52643 /* Register variable[0]: Local variable */
52644 variable[0] = self;
52645 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction564].i]) return;
52646 /* Register variable[1]: Method return value and escape marker */
52647 return_label1161: while(false);
52648 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction564].i] = 1;
52649 tracehead = trace.prev;
52650 return;
52651 }
52652 void parser___ReduceAction565___action(val_t self, val_t param0) {
52653 struct trace_t trace = {NULL, NULL, 20243, LOCATE_parser___ReduceAction565___action};
52654 val_t variable[8];
52655 struct WBT_ **closurevariable = NULL;
52656 trace.prev = tracehead; tracehead = &trace;
52657 trace.file = LOCATE_parser;
52658 /* Register variable[0]: Local variable */
52659 variable[0] = self;
52660 /* Register variable[1]: Local variable */
52661 variable[1] = param0;
52662 /* Register variable[2]: Method return value and escape marker */
52663 /* Register variable[3]: Local variable */
52664 variable[3] = NIT_NULL /*null*/;
52665 /* Register variable[4]: Local variable */
52666 /* Register variable[5]: Result */
52667 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52668 variable[4] = variable[5];
52669 /* Register variable[5]: Local variable */
52670 /* Register variable[6]: Result */
52671 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52672 variable[5] = variable[6];
52673 /* Register variable[6]: Local variable */
52674 variable[6] = variable[4] /*nodearraylist1*/;
52675 /* Register variable[7]: Result */
52676 variable[7] = TAG_Bool(( variable[6] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
52677 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction565___action, LOCATE_parser, 20249); nit_exit(1);}
52678 /* Register variable[7]: Result */
52679 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::==*/)))))));
52680 if (UNTAG_Bool(variable[7])) { /*if*/
52681 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredefnode1*/) /*AbstractArray::add*/;
52682 }
52683 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
52684 /* Register variable[7]: Result */
52685 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
52686 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
52687 return_label1162: while(false);
52688 tracehead = trace.prev;
52689 return;
52690 }
52691 void parser___ReduceAction565___init(val_t self, int* init_table) {
52692 struct trace_t trace = {NULL, NULL, 20256, LOCATE_parser___ReduceAction565___init};
52693 val_t variable[2];
52694 struct WBT_ **closurevariable = NULL;
52695 trace.prev = tracehead; tracehead = &trace;
52696 trace.file = LOCATE_parser;
52697 /* Register variable[0]: Local variable */
52698 variable[0] = self;
52699 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction565].i]) return;
52700 /* Register variable[1]: Method return value and escape marker */
52701 return_label1163: while(false);
52702 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction565].i] = 1;
52703 tracehead = trace.prev;
52704 return;
52705 }
52706 void parser___ReduceAction566___action(val_t self, val_t param0) {
52707 struct trace_t trace = {NULL, NULL, 20260, LOCATE_parser___ReduceAction566___action};
52708 val_t variable[10];
52709 struct WBT_ **closurevariable = NULL;
52710 trace.prev = tracehead; tracehead = &trace;
52711 trace.file = LOCATE_parser;
52712 /* Register variable[0]: Local variable */
52713 variable[0] = self;
52714 /* Register variable[1]: Local variable */
52715 variable[1] = param0;
52716 /* Register variable[2]: Method return value and escape marker */
52717 /* Register variable[3]: Local variable */
52718 variable[3] = NIT_NULL /*null*/;
52719 /* Register variable[4]: Local variable */
52720 /* Register variable[5]: Result */
52721 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52722 variable[4] = variable[5];
52723 /* Register variable[5]: Local variable */
52724 /* Register variable[6]: Result */
52725 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52726 variable[5] = variable[6];
52727 /* Register variable[6]: Local variable */
52728 /* Register variable[7]: Result */
52729 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52730 variable[6] = variable[7];
52731 /* Register variable[7]: Local variable */
52732 variable[7] = variable[5] /*nodearraylist1*/;
52733 /* Register variable[8]: Result */
52734 variable[8] = TAG_Bool(( variable[7] /*pclosuredefnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pclosuredefnode1*/, COLOR_PClosureDef, ID_PClosureDef)) /*cast PClosureDef*/;
52735 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 20267); nit_exit(1);}
52736 /* Register variable[8]: Local variable */
52737 variable[8] = variable[4] /*nodearraylist2*/;
52738 /* Register variable[9]: Result */
52739 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52740 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction566___action, LOCATE_parser, 20269); nit_exit(1);}
52741 /* Register variable[9]: Result */
52742 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::==*/)))))));
52743 if (UNTAG_Bool(variable[9])) { /*if*/
52744 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*pclosuredefnode1*/) /*AbstractArray::add*/;
52745 }
52746 /* Register variable[9]: Result */
52747 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::==*/)))))));
52748 if (UNTAG_Bool(variable[9])) { /*if*/
52749 /* Register variable[9]: Result */
52750 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
52751 if (UNTAG_Bool(variable[9])) { /*if*/
52752 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
52753 } else { /*if*/
52754 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
52755 }
52756 }
52757 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
52758 /* Register variable[9]: Result */
52759 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(85)) /*Parser::go_to*/;
52760 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52761 return_label1164: while(false);
52762 tracehead = trace.prev;
52763 return;
52764 }
52765 void parser___ReduceAction566___init(val_t self, int* init_table) {
52766 struct trace_t trace = {NULL, NULL, 20283, LOCATE_parser___ReduceAction566___init};
52767 val_t variable[2];
52768 struct WBT_ **closurevariable = NULL;
52769 trace.prev = tracehead; tracehead = &trace;
52770 trace.file = LOCATE_parser;
52771 /* Register variable[0]: Local variable */
52772 variable[0] = self;
52773 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction566].i]) return;
52774 /* Register variable[1]: Method return value and escape marker */
52775 return_label1165: while(false);
52776 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction566].i] = 1;
52777 tracehead = trace.prev;
52778 return;
52779 }
52780 void parser___ReduceAction567___action(val_t self, val_t param0) {
52781 struct trace_t trace = {NULL, NULL, 20287, LOCATE_parser___ReduceAction567___action};
52782 val_t variable[13];
52783 struct WBT_ **closurevariable = NULL;
52784 trace.prev = tracehead; tracehead = &trace;
52785 trace.file = LOCATE_parser;
52786 /* Register variable[0]: Local variable */
52787 variable[0] = self;
52788 /* Register variable[1]: Local variable */
52789 variable[1] = param0;
52790 /* Register variable[2]: Method return value and escape marker */
52791 /* Register variable[3]: Local variable */
52792 variable[3] = NIT_NULL /*null*/;
52793 /* Register variable[4]: Local variable */
52794 /* Register variable[5]: Result */
52795 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52796 variable[4] = variable[5];
52797 /* Register variable[5]: Local variable */
52798 /* Register variable[6]: Result */
52799 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52800 variable[5] = variable[6];
52801 /* Register variable[6]: Local variable */
52802 /* Register variable[7]: Result */
52803 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52804 variable[6] = variable[7];
52805 /* Register variable[7]: Local variable */
52806 /* Register variable[8]: Result */
52807 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52808 variable[7] = variable[8];
52809 /* Register variable[8]: Local variable */
52810 variable[8] = variable[6] /*nodearraylist1*/;
52811 /* Register variable[9]: Result */
52812 variable[9] = TAG_Bool(( variable[8] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
52813 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 20295); nit_exit(1);}
52814 /* Register variable[9]: Local variable */
52815 variable[9] = variable[5] /*nodearraylist2*/;
52816 /* Register variable[10]: Result */
52817 variable[10] = TAG_Bool(( variable[9] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
52818 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 20297); nit_exit(1);}
52819 /* Register variable[10]: Local variable */
52820 variable[10] = variable[4] /*nodearraylist3*/;
52821 /* Register variable[11]: Result */
52822 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52823 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction567___action, LOCATE_parser, 20299); nit_exit(1);}
52824 /* Register variable[11]: Local variable */
52825 /* Register variable[12]: Result */
52826 variable[12] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[8] /*tkwwithnode2*/, variable[7] /*listnode3*/, variable[9] /*tkwdonode4*/, variable[10] /*pexprnode5*/) /*new AClosureDef*/;
52827 variable[11] = variable[12];
52828 variable[3] = variable[11] /*pclosuredefnode1*/ /*node_list=*/;
52829 /* Register variable[12]: Result */
52830 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
52831 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
52832 return_label1166: while(false);
52833 tracehead = trace.prev;
52834 return;
52835 }
52836 void parser___ReduceAction567___init(val_t self, int* init_table) {
52837 struct trace_t trace = {NULL, NULL, 20309, LOCATE_parser___ReduceAction567___init};
52838 val_t variable[2];
52839 struct WBT_ **closurevariable = NULL;
52840 trace.prev = tracehead; tracehead = &trace;
52841 trace.file = LOCATE_parser;
52842 /* Register variable[0]: Local variable */
52843 variable[0] = self;
52844 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction567].i]) return;
52845 /* Register variable[1]: Method return value and escape marker */
52846 return_label1167: while(false);
52847 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction567].i] = 1;
52848 tracehead = trace.prev;
52849 return;
52850 }
52851 void parser___ReduceAction568___action(val_t self, val_t param0) {
52852 struct trace_t trace = {NULL, NULL, 20313, LOCATE_parser___ReduceAction568___action};
52853 val_t variable[15];
52854 struct WBT_ **closurevariable = NULL;
52855 trace.prev = tracehead; tracehead = &trace;
52856 trace.file = LOCATE_parser;
52857 /* Register variable[0]: Local variable */
52858 variable[0] = self;
52859 /* Register variable[1]: Local variable */
52860 variable[1] = param0;
52861 /* Register variable[2]: Method return value and escape marker */
52862 /* Register variable[3]: Local variable */
52863 variable[3] = NIT_NULL /*null*/;
52864 /* Register variable[4]: Local variable */
52865 /* Register variable[5]: Result */
52866 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52867 variable[4] = variable[5];
52868 /* Register variable[5]: Local variable */
52869 /* Register variable[6]: Result */
52870 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52871 variable[5] = variable[6];
52872 /* Register variable[6]: Local variable */
52873 /* Register variable[7]: Result */
52874 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52875 variable[6] = variable[7];
52876 /* Register variable[7]: Local variable */
52877 /* Register variable[8]: Result */
52878 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52879 variable[7] = variable[8];
52880 /* Register variable[8]: Local variable */
52881 /* Register variable[9]: Result */
52882 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
52883 variable[8] = variable[9];
52884 /* Register variable[9]: Local variable */
52885 variable[9] = variable[7] /*nodearraylist1*/;
52886 /* Register variable[10]: Result */
52887 variable[10] = TAG_Bool(( variable[9] /*tkwwithnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwwithnode2*/, COLOR_TKwwith, ID_TKwwith)) /*cast TKwwith*/;
52888 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 20322); nit_exit(1);}
52889 /* Register variable[10]: Local variable */
52890 variable[10] = variable[6] /*nodearraylist2*/;
52891 /* Register variable[11]: Result */
52892 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
52893 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 20324); nit_exit(1);}
52894 /* Register variable[11]: Result */
52895 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::==*/)))))));
52896 if (UNTAG_Bool(variable[11])) { /*if*/
52897 /* Register variable[11]: Result */
52898 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
52899 if (UNTAG_Bool(variable[11])) { /*if*/
52900 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
52901 } else { /*if*/
52902 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
52903 }
52904 }
52905 /* Register variable[11]: Local variable */
52906 variable[11] = variable[5] /*nodearraylist3*/;
52907 /* Register variable[12]: Result */
52908 variable[12] = TAG_Bool(( variable[11] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
52909 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 20333); nit_exit(1);}
52910 /* Register variable[12]: Local variable */
52911 variable[12] = variable[4] /*nodearraylist4*/;
52912 /* Register variable[13]: Result */
52913 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
52914 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction568___action, LOCATE_parser, 20335); nit_exit(1);}
52915 /* Register variable[13]: Local variable */
52916 /* Register variable[14]: Result */
52917 variable[14] = NEW_AClosureDef_parser_prod___AClosureDef___init_aclosuredef( variable[9] /*tkwwithnode2*/, variable[8] /*listnode4*/, variable[11] /*tkwdonode5*/, variable[12] /*pexprnode6*/) /*new AClosureDef*/;
52918 variable[13] = variable[14];
52919 variable[3] = variable[13] /*pclosuredefnode1*/ /*node_list=*/;
52920 /* Register variable[14]: Result */
52921 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(86)) /*Parser::go_to*/;
52922 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
52923 return_label1168: while(false);
52924 tracehead = trace.prev;
52925 return;
52926 }
52927 void parser___ReduceAction568___init(val_t self, int* init_table) {
52928 struct trace_t trace = {NULL, NULL, 20345, LOCATE_parser___ReduceAction568___init};
52929 val_t variable[2];
52930 struct WBT_ **closurevariable = NULL;
52931 trace.prev = tracehead; tracehead = &trace;
52932 trace.file = LOCATE_parser;
52933 /* Register variable[0]: Local variable */
52934 variable[0] = self;
52935 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction568].i]) return;
52936 /* Register variable[1]: Method return value and escape marker */
52937 return_label1169: while(false);
52938 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction568].i] = 1;
52939 tracehead = trace.prev;
52940 return;
52941 }
52942 void parser___ReduceAction569___action(val_t self, val_t param0) {
52943 struct trace_t trace = {NULL, NULL, 20349, LOCATE_parser___ReduceAction569___action};
52944 val_t variable[10];
52945 struct WBT_ **closurevariable = NULL;
52946 trace.prev = tracehead; tracehead = &trace;
52947 trace.file = LOCATE_parser;
52948 /* Register variable[0]: Local variable */
52949 variable[0] = self;
52950 /* Register variable[1]: Local variable */
52951 variable[1] = param0;
52952 /* Register variable[2]: Method return value and escape marker */
52953 /* Register variable[3]: Local variable */
52954 variable[3] = NIT_NULL /*null*/;
52955 /* Register variable[4]: Local variable */
52956 /* Register variable[5]: Result */
52957 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52958 variable[4] = variable[5];
52959 /* Register variable[5]: Local variable */
52960 /* Register variable[6]: Result */
52961 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
52962 variable[5] = variable[6];
52963 /* Register variable[6]: Local variable */
52964 variable[6] = variable[5] /*nodearraylist1*/;
52965 /* Register variable[7]: Result */
52966 variable[7] = TAG_Bool(( variable[6] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
52967 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 20355); nit_exit(1);}
52968 /* Register variable[7]: Local variable */
52969 variable[7] = variable[4] /*nodearraylist2*/;
52970 /* Register variable[8]: Result */
52971 variable[8] = TAG_Bool(( variable[7] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
52972 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction569___action, LOCATE_parser, 20357); nit_exit(1);}
52973 /* Register variable[8]: Local variable */
52974 /* Register variable[9]: Result */
52975 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*/;
52976 variable[8] = variable[9];
52977 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
52978 /* Register variable[9]: Result */
52979 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
52980 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
52981 return_label1170: while(false);
52982 tracehead = trace.prev;
52983 return;
52984 }
52985 void parser___ReduceAction569___init(val_t self, int* init_table) {
52986 struct trace_t trace = {NULL, NULL, 20368, LOCATE_parser___ReduceAction569___init};
52987 val_t variable[2];
52988 struct WBT_ **closurevariable = NULL;
52989 trace.prev = tracehead; tracehead = &trace;
52990 trace.file = LOCATE_parser;
52991 /* Register variable[0]: Local variable */
52992 variable[0] = self;
52993 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction569].i]) return;
52994 /* Register variable[1]: Method return value and escape marker */
52995 return_label1171: while(false);
52996 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction569].i] = 1;
52997 tracehead = trace.prev;
52998 return;
52999 }
53000 void parser___ReduceAction570___action(val_t self, val_t param0) {
53001 struct trace_t trace = {NULL, NULL, 20372, LOCATE_parser___ReduceAction570___action};
53002 val_t variable[12];
53003 struct WBT_ **closurevariable = NULL;
53004 trace.prev = tracehead; tracehead = &trace;
53005 trace.file = LOCATE_parser;
53006 /* Register variable[0]: Local variable */
53007 variable[0] = self;
53008 /* Register variable[1]: Local variable */
53009 variable[1] = param0;
53010 /* Register variable[2]: Method return value and escape marker */
53011 /* Register variable[3]: Local variable */
53012 variable[3] = NIT_NULL /*null*/;
53013 /* Register variable[4]: Local variable */
53014 /* Register variable[5]: Result */
53015 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53016 variable[4] = variable[5];
53017 /* Register variable[5]: Local variable */
53018 /* Register variable[6]: Result */
53019 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53020 variable[5] = variable[6];
53021 /* Register variable[6]: Local variable */
53022 /* Register variable[7]: Result */
53023 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53024 variable[6] = variable[7];
53025 /* Register variable[7]: Local variable */
53026 variable[7] = variable[6] /*nodearraylist1*/;
53027 /* Register variable[8]: Result */
53028 variable[8] = TAG_Bool(( variable[7] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
53029 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 20379); nit_exit(1);}
53030 /* Register variable[8]: Local variable */
53031 variable[8] = variable[5] /*nodearraylist2*/;
53032 /* Register variable[9]: Result */
53033 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53034 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 20381); nit_exit(1);}
53035 /* Register variable[9]: Local variable */
53036 variable[9] = variable[4] /*nodearraylist3*/;
53037 /* Register variable[10]: Result */
53038 variable[10] = TAG_Bool(( variable[9] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
53039 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction570___action, LOCATE_parser, 20383); nit_exit(1);}
53040 /* Register variable[10]: Local variable */
53041 /* Register variable[11]: Result */
53042 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*/;
53043 variable[10] = variable[11];
53044 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
53045 /* Register variable[11]: Result */
53046 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
53047 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
53048 return_label1172: while(false);
53049 tracehead = trace.prev;
53050 return;
53051 }
53052 void parser___ReduceAction570___init(val_t self, int* init_table) {
53053 struct trace_t trace = {NULL, NULL, 20394, LOCATE_parser___ReduceAction570___init};
53054 val_t variable[2];
53055 struct WBT_ **closurevariable = NULL;
53056 trace.prev = tracehead; tracehead = &trace;
53057 trace.file = LOCATE_parser;
53058 /* Register variable[0]: Local variable */
53059 variable[0] = self;
53060 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction570].i]) return;
53061 /* Register variable[1]: Method return value and escape marker */
53062 return_label1173: while(false);
53063 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction570].i] = 1;
53064 tracehead = trace.prev;
53065 return;
53066 }
53067 void parser___ReduceAction571___action(val_t self, val_t param0) {
53068 struct trace_t trace = {NULL, NULL, 20398, LOCATE_parser___ReduceAction571___action};
53069 val_t variable[15];
53070 struct WBT_ **closurevariable = NULL;
53071 trace.prev = tracehead; tracehead = &trace;
53072 trace.file = LOCATE_parser;
53073 /* Register variable[0]: Local variable */
53074 variable[0] = self;
53075 /* Register variable[1]: Local variable */
53076 variable[1] = param0;
53077 /* Register variable[2]: Method return value and escape marker */
53078 /* Register variable[3]: Local variable */
53079 variable[3] = NIT_NULL /*null*/;
53080 /* Register variable[4]: Local variable */
53081 /* Register variable[5]: Result */
53082 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53083 variable[4] = variable[5];
53084 /* Register variable[5]: Local variable */
53085 /* Register variable[6]: Result */
53086 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53087 variable[5] = variable[6];
53088 /* Register variable[6]: Local variable */
53089 /* Register variable[7]: Result */
53090 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53091 variable[6] = variable[7];
53092 /* Register variable[7]: Local variable */
53093 /* Register variable[8]: Result */
53094 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53095 variable[7] = variable[8];
53096 /* Register variable[8]: Local variable */
53097 /* Register variable[9]: Result */
53098 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53099 variable[8] = variable[9];
53100 /* Register variable[9]: Local variable */
53101 variable[9] = variable[8] /*nodearraylist1*/;
53102 /* Register variable[10]: Result */
53103 variable[10] = TAG_Bool(( variable[9] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
53104 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 20407); nit_exit(1);}
53105 /* Register variable[10]: Local variable */
53106 variable[10] = variable[7] /*nodearraylist2*/;
53107 /* Register variable[11]: Result */
53108 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53109 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 20409); nit_exit(1);}
53110 /* Register variable[11]: Local variable */
53111 variable[11] = variable[6] /*nodearraylist3*/;
53112 /* Register variable[12]: Result */
53113 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53114 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 20411); nit_exit(1);}
53115 /* Register variable[12]: Local variable */
53116 variable[12] = variable[4] /*nodearraylist5*/;
53117 /* Register variable[13]: Result */
53118 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53119 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction571___action, LOCATE_parser, 20413); nit_exit(1);}
53120 /* Register variable[13]: Local variable */
53121 /* Register variable[14]: Result */
53122 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*/;
53123 variable[13] = variable[14];
53124 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
53125 /* Register variable[14]: Result */
53126 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
53127 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
53128 return_label1174: while(false);
53129 tracehead = trace.prev;
53130 return;
53131 }
53132 void parser___ReduceAction571___init(val_t self, int* init_table) {
53133 struct trace_t trace = {NULL, NULL, 20424, LOCATE_parser___ReduceAction571___init};
53134 val_t variable[2];
53135 struct WBT_ **closurevariable = NULL;
53136 trace.prev = tracehead; tracehead = &trace;
53137 trace.file = LOCATE_parser;
53138 /* Register variable[0]: Local variable */
53139 variable[0] = self;
53140 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction571].i]) return;
53141 /* Register variable[1]: Method return value and escape marker */
53142 return_label1175: while(false);
53143 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction571].i] = 1;
53144 tracehead = trace.prev;
53145 return;
53146 }
53147 void parser___ReduceAction572___action(val_t self, val_t param0) {
53148 struct trace_t trace = {NULL, NULL, 20428, LOCATE_parser___ReduceAction572___action};
53149 val_t variable[17];
53150 struct WBT_ **closurevariable = NULL;
53151 trace.prev = tracehead; tracehead = &trace;
53152 trace.file = LOCATE_parser;
53153 /* Register variable[0]: Local variable */
53154 variable[0] = self;
53155 /* Register variable[1]: Local variable */
53156 variable[1] = param0;
53157 /* Register variable[2]: Method return value and escape marker */
53158 /* Register variable[3]: Local variable */
53159 variable[3] = NIT_NULL /*null*/;
53160 /* Register variable[4]: Local variable */
53161 /* Register variable[5]: Result */
53162 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53163 variable[4] = variable[5];
53164 /* Register variable[5]: Local variable */
53165 /* Register variable[6]: Result */
53166 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53167 variable[5] = variable[6];
53168 /* Register variable[6]: Local variable */
53169 /* Register variable[7]: Result */
53170 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53171 variable[6] = variable[7];
53172 /* Register variable[7]: Local variable */
53173 /* Register variable[8]: Result */
53174 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53175 variable[7] = variable[8];
53176 /* Register variable[8]: Local variable */
53177 /* Register variable[9]: Result */
53178 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53179 variable[8] = variable[9];
53180 /* Register variable[9]: Local variable */
53181 /* Register variable[10]: Result */
53182 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53183 variable[9] = variable[10];
53184 /* Register variable[10]: Local variable */
53185 variable[10] = variable[9] /*nodearraylist1*/;
53186 /* Register variable[11]: Result */
53187 variable[11] = TAG_Bool(( variable[10] /*tkwvarnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwvarnode2*/, COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
53188 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 20438); nit_exit(1);}
53189 /* Register variable[11]: Local variable */
53190 variable[11] = variable[8] /*nodearraylist2*/;
53191 /* Register variable[12]: Result */
53192 variable[12] = TAG_Bool(( variable[11] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53193 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 20440); nit_exit(1);}
53194 /* Register variable[12]: Local variable */
53195 variable[12] = variable[7] /*nodearraylist3*/;
53196 /* Register variable[13]: Result */
53197 variable[13] = TAG_Bool(( variable[12] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[12] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
53198 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 20442); nit_exit(1);}
53199 /* Register variable[13]: Local variable */
53200 variable[13] = variable[6] /*nodearraylist4*/;
53201 /* Register variable[14]: Result */
53202 variable[14] = TAG_Bool(( variable[13] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53203 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 20444); nit_exit(1);}
53204 /* Register variable[14]: Local variable */
53205 variable[14] = variable[4] /*nodearraylist6*/;
53206 /* Register variable[15]: Result */
53207 variable[15] = TAG_Bool(( variable[14] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53208 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction572___action, LOCATE_parser, 20446); nit_exit(1);}
53209 /* Register variable[15]: Local variable */
53210 /* Register variable[16]: Result */
53211 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*/;
53212 variable[15] = variable[16];
53213 variable[3] = variable[15] /*pexprnode1*/ /*node_list=*/;
53214 /* Register variable[16]: Result */
53215 variable[16] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(87)) /*Parser::go_to*/;
53216 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[16], variable[3] /*node_list*/) /*Parser::push*/;
53217 return_label1176: while(false);
53218 tracehead = trace.prev;
53219 return;
53220 }
53221 void parser___ReduceAction572___init(val_t self, int* init_table) {
53222 struct trace_t trace = {NULL, NULL, 20457, LOCATE_parser___ReduceAction572___init};
53223 val_t variable[2];
53224 struct WBT_ **closurevariable = NULL;
53225 trace.prev = tracehead; tracehead = &trace;
53226 trace.file = LOCATE_parser;
53227 /* Register variable[0]: Local variable */
53228 variable[0] = self;
53229 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction572].i]) return;
53230 /* Register variable[1]: Method return value and escape marker */
53231 return_label1177: while(false);
53232 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction572].i] = 1;
53233 tracehead = trace.prev;
53234 return;
53235 }
53236 void parser___ReduceAction573___action(val_t self, val_t param0) {
53237 struct trace_t trace = {NULL, NULL, 20461, LOCATE_parser___ReduceAction573___action};
53238 val_t variable[16];
53239 struct WBT_ **closurevariable = NULL;
53240 trace.prev = tracehead; tracehead = &trace;
53241 trace.file = LOCATE_parser;
53242 /* Register variable[0]: Local variable */
53243 variable[0] = self;
53244 /* Register variable[1]: Local variable */
53245 variable[1] = param0;
53246 /* Register variable[2]: Method return value and escape marker */
53247 /* Register variable[3]: Local variable */
53248 variable[3] = NIT_NULL /*null*/;
53249 /* Register variable[4]: Local variable */
53250 /* Register variable[5]: Result */
53251 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53252 variable[4] = variable[5];
53253 /* Register variable[5]: Local variable */
53254 /* Register variable[6]: Result */
53255 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53256 variable[5] = variable[6];
53257 /* Register variable[6]: Local variable */
53258 /* Register variable[7]: Result */
53259 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53260 variable[6] = variable[7];
53261 /* Register variable[7]: Local variable */
53262 /* Register variable[8]: Result */
53263 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53264 variable[7] = variable[8];
53265 /* Register variable[8]: Local variable */
53266 /* Register variable[9]: Result */
53267 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53268 variable[8] = variable[9];
53269 /* Register variable[9]: Local variable */
53270 /* Register variable[10]: Result */
53271 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53272 variable[9] = variable[10];
53273 /* Register variable[10]: Local variable */
53274 variable[10] = variable[9] /*nodearraylist1*/;
53275 /* Register variable[11]: Result */
53276 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53277 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction573___action, LOCATE_parser, 20471); nit_exit(1);}
53278 /* Register variable[11]: Local variable */
53279 variable[11] = variable[6] /*nodearraylist4*/;
53280 /* Register variable[12]: Result */
53281 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
53282 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction573___action, LOCATE_parser, 20473); nit_exit(1);}
53283 /* Register variable[12]: Local variable */
53284 variable[12] = variable[5] /*nodearraylist5*/;
53285 /* Register variable[13]: Result */
53286 variable[13] = TAG_Bool(( variable[12] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53287 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction573___action, LOCATE_parser, 20475); nit_exit(1);}
53288 /* Register variable[13]: Local variable */
53289 variable[13] = variable[4] /*nodearraylist6*/;
53290 /* Register variable[14]: Result */
53291 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53292 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction573___action, LOCATE_parser, 20477); nit_exit(1);}
53293 /* Register variable[14]: Local variable */
53294 /* Register variable[15]: Result */
53295 variable[15] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*tassignnode4*/, variable[13] /*pexprnode5*/) /*new AAttrAssignExpr*/;
53296 variable[14] = variable[15];
53297 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
53298 /* Register variable[15]: Result */
53299 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53300 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
53301 return_label1178: while(false);
53302 tracehead = trace.prev;
53303 return;
53304 }
53305 void parser___ReduceAction573___init(val_t self, int* init_table) {
53306 struct trace_t trace = {NULL, NULL, 20487, LOCATE_parser___ReduceAction573___init};
53307 val_t variable[2];
53308 struct WBT_ **closurevariable = NULL;
53309 trace.prev = tracehead; tracehead = &trace;
53310 trace.file = LOCATE_parser;
53311 /* Register variable[0]: Local variable */
53312 variable[0] = self;
53313 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction573].i]) return;
53314 /* Register variable[1]: Method return value and escape marker */
53315 return_label1179: while(false);
53316 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction573].i] = 1;
53317 tracehead = trace.prev;
53318 return;
53319 }
53320 void parser___ReduceAction574___action(val_t self, val_t param0) {
53321 struct trace_t trace = {NULL, NULL, 20491, LOCATE_parser___ReduceAction574___action};
53322 val_t variable[13];
53323 struct WBT_ **closurevariable = NULL;
53324 trace.prev = tracehead; tracehead = &trace;
53325 trace.file = LOCATE_parser;
53326 /* Register variable[0]: Local variable */
53327 variable[0] = self;
53328 /* Register variable[1]: Local variable */
53329 variable[1] = param0;
53330 /* Register variable[2]: Method return value and escape marker */
53331 /* Register variable[3]: Local variable */
53332 variable[3] = NIT_NULL /*null*/;
53333 /* Register variable[4]: Local variable */
53334 /* Register variable[5]: Result */
53335 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53336 variable[4] = variable[5];
53337 /* Register variable[5]: Local variable */
53338 /* Register variable[6]: Result */
53339 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53340 variable[5] = variable[6];
53341 /* Register variable[6]: Local variable */
53342 /* Register variable[7]: Result */
53343 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53344 variable[6] = variable[7];
53345 /* Register variable[7]: Local variable */
53346 /* Register variable[8]: Result */
53347 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
53348 variable[7] = variable[8];
53349 /* Register variable[8]: Local variable */
53350 variable[8] = variable[6] /*nodearraylist1*/;
53351 /* Register variable[9]: Result */
53352 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
53353 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 20500); nit_exit(1);}
53354 /* Register variable[9]: Local variable */
53355 variable[9] = variable[5] /*nodearraylist2*/;
53356 /* Register variable[10]: Result */
53357 variable[10] = TAG_Bool(( variable[9] /*tassignnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tassignnode4*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53358 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 20502); nit_exit(1);}
53359 /* Register variable[10]: Local variable */
53360 variable[10] = variable[4] /*nodearraylist3*/;
53361 /* Register variable[11]: Result */
53362 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53363 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction574___action, LOCATE_parser, 20504); nit_exit(1);}
53364 /* Register variable[11]: Local variable */
53365 /* Register variable[12]: Result */
53366 variable[12] = NEW_AAttrAssignExpr_parser_prod___AAttrAssignExpr___init_aattrassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*tassignnode4*/, variable[10] /*pexprnode5*/) /*new AAttrAssignExpr*/;
53367 variable[11] = variable[12];
53368 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
53369 /* Register variable[12]: Result */
53370 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53371 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
53372 return_label1180: while(false);
53373 tracehead = trace.prev;
53374 return;
53375 }
53376 void parser___ReduceAction574___init(val_t self, int* init_table) {
53377 struct trace_t trace = {NULL, NULL, 20514, LOCATE_parser___ReduceAction574___init};
53378 val_t variable[2];
53379 struct WBT_ **closurevariable = NULL;
53380 trace.prev = tracehead; tracehead = &trace;
53381 trace.file = LOCATE_parser;
53382 /* Register variable[0]: Local variable */
53383 variable[0] = self;
53384 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction574].i]) return;
53385 /* Register variable[1]: Method return value and escape marker */
53386 return_label1181: while(false);
53387 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction574].i] = 1;
53388 tracehead = trace.prev;
53389 return;
53390 }
53391 void parser___ReduceAction575___action(val_t self, val_t param0) {
53392 struct trace_t trace = {NULL, NULL, 20518, LOCATE_parser___ReduceAction575___action};
53393 val_t variable[19];
53394 struct WBT_ **closurevariable = NULL;
53395 trace.prev = tracehead; tracehead = &trace;
53396 trace.file = LOCATE_parser;
53397 /* Register variable[0]: Local variable */
53398 variable[0] = self;
53399 /* Register variable[1]: Local variable */
53400 variable[1] = param0;
53401 /* Register variable[2]: Method return value and escape marker */
53402 /* Register variable[3]: Local variable */
53403 variable[3] = NIT_NULL /*null*/;
53404 /* Register variable[4]: Local variable */
53405 /* Register variable[5]: Result */
53406 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53407 variable[4] = variable[5];
53408 /* Register variable[5]: Local variable */
53409 /* Register variable[6]: Result */
53410 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53411 variable[5] = variable[6];
53412 /* Register variable[6]: Local variable */
53413 /* Register variable[7]: Result */
53414 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53415 variable[6] = variable[7];
53416 /* Register variable[7]: Local variable */
53417 /* Register variable[8]: Result */
53418 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53419 variable[7] = variable[8];
53420 /* Register variable[8]: Local variable */
53421 /* Register variable[9]: Result */
53422 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53423 variable[8] = variable[9];
53424 /* Register variable[9]: Local variable */
53425 /* Register variable[10]: Result */
53426 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53427 variable[9] = variable[10];
53428 /* Register variable[10]: Local variable */
53429 /* Register variable[11]: Result */
53430 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53431 variable[10] = variable[11];
53432 /* Register variable[11]: Local variable */
53433 /* Register variable[12]: Result */
53434 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
53435 variable[11] = variable[12];
53436 /* Register variable[12]: Local variable */
53437 variable[12] = variable[10] /*nodearraylist1*/;
53438 /* Register variable[13]: Result */
53439 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53440 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 20530); nit_exit(1);}
53441 /* Register variable[13]: Local variable */
53442 variable[13] = variable[7] /*nodearraylist4*/;
53443 /* Register variable[14]: Result */
53444 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53445 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 20532); nit_exit(1);}
53446 /* Register variable[14]: Local variable */
53447 variable[14] = variable[6] /*nodearraylist5*/;
53448 /* Register variable[15]: Result */
53449 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
53450 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 20534); nit_exit(1);}
53451 /* Register variable[15]: Result */
53452 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::==*/)))))));
53453 if (UNTAG_Bool(variable[15])) { /*if*/
53454 /* Register variable[15]: Result */
53455 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
53456 if (UNTAG_Bool(variable[15])) { /*if*/
53457 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
53458 } else { /*if*/
53459 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
53460 }
53461 }
53462 /* Register variable[15]: Local variable */
53463 variable[15] = variable[5] /*nodearraylist6*/;
53464 /* Register variable[16]: Result */
53465 variable[16] = TAG_Bool(( variable[15] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53466 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 20543); nit_exit(1);}
53467 /* Register variable[16]: Local variable */
53468 variable[16] = variable[4] /*nodearraylist7*/;
53469 /* Register variable[17]: Result */
53470 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53471 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction575___action, LOCATE_parser, 20545); nit_exit(1);}
53472 /* Register variable[17]: Local variable */
53473 /* Register variable[18]: Result */
53474 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*/;
53475 variable[17] = variable[18];
53476 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
53477 /* Register variable[18]: Result */
53478 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53479 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
53480 return_label1182: while(false);
53481 tracehead = trace.prev;
53482 return;
53483 }
53484 void parser___ReduceAction575___init(val_t self, int* init_table) {
53485 struct trace_t trace = {NULL, NULL, 20556, LOCATE_parser___ReduceAction575___init};
53486 val_t variable[2];
53487 struct WBT_ **closurevariable = NULL;
53488 trace.prev = tracehead; tracehead = &trace;
53489 trace.file = LOCATE_parser;
53490 /* Register variable[0]: Local variable */
53491 variable[0] = self;
53492 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction575].i]) return;
53493 /* Register variable[1]: Method return value and escape marker */
53494 return_label1183: while(false);
53495 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction575].i] = 1;
53496 tracehead = trace.prev;
53497 return;
53498 }
53499 void parser___ReduceAction576___action(val_t self, val_t param0) {
53500 struct trace_t trace = {NULL, NULL, 20560, LOCATE_parser___ReduceAction576___action};
53501 val_t variable[16];
53502 struct WBT_ **closurevariable = NULL;
53503 trace.prev = tracehead; tracehead = &trace;
53504 trace.file = LOCATE_parser;
53505 /* Register variable[0]: Local variable */
53506 variable[0] = self;
53507 /* Register variable[1]: Local variable */
53508 variable[1] = param0;
53509 /* Register variable[2]: Method return value and escape marker */
53510 /* Register variable[3]: Local variable */
53511 variable[3] = NIT_NULL /*null*/;
53512 /* Register variable[4]: Local variable */
53513 /* Register variable[5]: Result */
53514 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53515 variable[4] = variable[5];
53516 /* Register variable[5]: Local variable */
53517 /* Register variable[6]: Result */
53518 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53519 variable[5] = variable[6];
53520 /* Register variable[6]: Local variable */
53521 /* Register variable[7]: Result */
53522 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53523 variable[6] = variable[7];
53524 /* Register variable[7]: Local variable */
53525 /* Register variable[8]: Result */
53526 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53527 variable[7] = variable[8];
53528 /* Register variable[8]: Local variable */
53529 /* Register variable[9]: Result */
53530 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
53531 variable[8] = variable[9];
53532 /* Register variable[9]: Local variable */
53533 /* Register variable[10]: Result */
53534 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
53535 variable[9] = variable[10];
53536 /* Register variable[10]: Local variable */
53537 variable[10] = variable[7] /*nodearraylist1*/;
53538 /* Register variable[11]: Result */
53539 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53540 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 20571); nit_exit(1);}
53541 /* Register variable[11]: Local variable */
53542 variable[11] = variable[6] /*nodearraylist2*/;
53543 /* Register variable[12]: Result */
53544 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
53545 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 20573); nit_exit(1);}
53546 /* Register variable[12]: Result */
53547 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::==*/)))))));
53548 if (UNTAG_Bool(variable[12])) { /*if*/
53549 /* Register variable[12]: Result */
53550 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
53551 if (UNTAG_Bool(variable[12])) { /*if*/
53552 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
53553 } else { /*if*/
53554 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
53555 }
53556 }
53557 /* Register variable[12]: Local variable */
53558 variable[12] = variable[5] /*nodearraylist3*/;
53559 /* Register variable[13]: Result */
53560 variable[13] = TAG_Bool(( variable[12] /*tassignnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*tassignnode6*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53561 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 20582); nit_exit(1);}
53562 /* Register variable[13]: Local variable */
53563 variable[13] = variable[4] /*nodearraylist4*/;
53564 /* Register variable[14]: Result */
53565 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53566 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction576___action, LOCATE_parser, 20584); nit_exit(1);}
53567 /* Register variable[14]: Local variable */
53568 /* Register variable[15]: Result */
53569 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*/;
53570 variable[14] = variable[15];
53571 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
53572 /* Register variable[15]: Result */
53573 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53574 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
53575 return_label1184: while(false);
53576 tracehead = trace.prev;
53577 return;
53578 }
53579 void parser___ReduceAction576___init(val_t self, int* init_table) {
53580 struct trace_t trace = {NULL, NULL, 20595, LOCATE_parser___ReduceAction576___init};
53581 val_t variable[2];
53582 struct WBT_ **closurevariable = NULL;
53583 trace.prev = tracehead; tracehead = &trace;
53584 trace.file = LOCATE_parser;
53585 /* Register variable[0]: Local variable */
53586 variable[0] = self;
53587 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction576].i]) return;
53588 /* Register variable[1]: Method return value and escape marker */
53589 return_label1185: while(false);
53590 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction576].i] = 1;
53591 tracehead = trace.prev;
53592 return;
53593 }
53594 void parser___ReduceAction577___action(val_t self, val_t param0) {
53595 struct trace_t trace = {NULL, NULL, 20599, LOCATE_parser___ReduceAction577___action};
53596 val_t variable[15];
53597 struct WBT_ **closurevariable = NULL;
53598 trace.prev = tracehead; tracehead = &trace;
53599 trace.file = LOCATE_parser;
53600 /* Register variable[0]: Local variable */
53601 variable[0] = self;
53602 /* Register variable[1]: Local variable */
53603 variable[1] = param0;
53604 /* Register variable[2]: Method return value and escape marker */
53605 /* Register variable[3]: Local variable */
53606 variable[3] = NIT_NULL /*null*/;
53607 /* Register variable[4]: Local variable */
53608 /* Register variable[5]: Result */
53609 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53610 variable[4] = variable[5];
53611 /* Register variable[5]: Local variable */
53612 /* Register variable[6]: Result */
53613 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53614 variable[5] = variable[6];
53615 /* Register variable[6]: Local variable */
53616 /* Register variable[7]: Result */
53617 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53618 variable[6] = variable[7];
53619 /* Register variable[7]: Local variable */
53620 /* Register variable[8]: Result */
53621 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53622 variable[7] = variable[8];
53623 /* Register variable[8]: Local variable */
53624 /* Register variable[9]: Result */
53625 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
53626 variable[8] = variable[9];
53627 /* Register variable[9]: Local variable */
53628 variable[9] = variable[7] /*nodearraylist1*/;
53629 /* Register variable[10]: Result */
53630 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53631 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 20608); nit_exit(1);}
53632 /* Register variable[10]: Local variable */
53633 variable[10] = variable[6] /*nodearraylist2*/;
53634 /* Register variable[11]: Result */
53635 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
53636 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 20610); nit_exit(1);}
53637 /* Register variable[11]: Result */
53638 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::==*/)))))));
53639 if (UNTAG_Bool(variable[11])) { /*if*/
53640 /* Register variable[11]: Result */
53641 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
53642 if (UNTAG_Bool(variable[11])) { /*if*/
53643 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
53644 } else { /*if*/
53645 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
53646 }
53647 }
53648 /* Register variable[11]: Local variable */
53649 variable[11] = variable[5] /*nodearraylist3*/;
53650 /* Register variable[12]: Result */
53651 variable[12] = TAG_Bool(( variable[11] /*tassignnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*tassignnode5*/, COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
53652 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 20619); nit_exit(1);}
53653 /* Register variable[12]: Local variable */
53654 variable[12] = variable[4] /*nodearraylist4*/;
53655 /* Register variable[13]: Result */
53656 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53657 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction577___action, LOCATE_parser, 20621); nit_exit(1);}
53658 /* Register variable[13]: Local variable */
53659 /* Register variable[14]: Result */
53660 variable[14] = NEW_ABraAssignExpr_parser_prod___ABraAssignExpr___init_abraassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*tassignnode5*/, variable[12] /*pexprnode6*/) /*new ABraAssignExpr*/;
53661 variable[13] = variable[14];
53662 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
53663 /* Register variable[14]: Result */
53664 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53665 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
53666 return_label1186: while(false);
53667 tracehead = trace.prev;
53668 return;
53669 }
53670 void parser___ReduceAction577___init(val_t self, int* init_table) {
53671 struct trace_t trace = {NULL, NULL, 20631, LOCATE_parser___ReduceAction577___init};
53672 val_t variable[2];
53673 struct WBT_ **closurevariable = NULL;
53674 trace.prev = tracehead; tracehead = &trace;
53675 trace.file = LOCATE_parser;
53676 /* Register variable[0]: Local variable */
53677 variable[0] = self;
53678 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction577].i]) return;
53679 /* Register variable[1]: Method return value and escape marker */
53680 return_label1187: while(false);
53681 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction577].i] = 1;
53682 tracehead = trace.prev;
53683 return;
53684 }
53685 void parser___ReduceAction578___action(val_t self, val_t param0) {
53686 struct trace_t trace = {NULL, NULL, 20635, LOCATE_parser___ReduceAction578___action};
53687 val_t variable[16];
53688 struct WBT_ **closurevariable = NULL;
53689 trace.prev = tracehead; tracehead = &trace;
53690 trace.file = LOCATE_parser;
53691 /* Register variable[0]: Local variable */
53692 variable[0] = self;
53693 /* Register variable[1]: Local variable */
53694 variable[1] = param0;
53695 /* Register variable[2]: Method return value and escape marker */
53696 /* Register variable[3]: Local variable */
53697 variable[3] = NIT_NULL /*null*/;
53698 /* Register variable[4]: Local variable */
53699 /* Register variable[5]: Result */
53700 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53701 variable[4] = variable[5];
53702 /* Register variable[5]: Local variable */
53703 /* Register variable[6]: Result */
53704 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53705 variable[5] = variable[6];
53706 /* Register variable[6]: Local variable */
53707 /* Register variable[7]: Result */
53708 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53709 variable[6] = variable[7];
53710 /* Register variable[7]: Local variable */
53711 /* Register variable[8]: Result */
53712 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53713 variable[7] = variable[8];
53714 /* Register variable[8]: Local variable */
53715 /* Register variable[9]: Result */
53716 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53717 variable[8] = variable[9];
53718 /* Register variable[9]: Local variable */
53719 /* Register variable[10]: Result */
53720 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53721 variable[9] = variable[10];
53722 /* Register variable[10]: Local variable */
53723 variable[10] = variable[9] /*nodearraylist1*/;
53724 /* Register variable[11]: Result */
53725 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53726 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 20645); nit_exit(1);}
53727 /* Register variable[11]: Local variable */
53728 variable[11] = variable[6] /*nodearraylist4*/;
53729 /* Register variable[12]: Result */
53730 variable[12] = TAG_Bool(( variable[11] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
53731 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 20647); nit_exit(1);}
53732 /* Register variable[12]: Local variable */
53733 variable[12] = variable[5] /*nodearraylist5*/;
53734 /* Register variable[13]: Result */
53735 variable[13] = TAG_Bool(( variable[12] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
53736 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 20649); nit_exit(1);}
53737 /* Register variable[13]: Local variable */
53738 variable[13] = variable[4] /*nodearraylist6*/;
53739 /* Register variable[14]: Result */
53740 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53741 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction578___action, LOCATE_parser, 20651); nit_exit(1);}
53742 /* Register variable[14]: Local variable */
53743 /* Register variable[15]: Result */
53744 variable[15] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[10] /*pexprnode2*/, variable[11] /*tattridnode3*/, variable[12] /*passignopnode4*/, variable[13] /*pexprnode5*/) /*new AAttrReassignExpr*/;
53745 variable[14] = variable[15];
53746 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
53747 /* Register variable[15]: Result */
53748 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53749 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
53750 return_label1188: while(false);
53751 tracehead = trace.prev;
53752 return;
53753 }
53754 void parser___ReduceAction578___init(val_t self, int* init_table) {
53755 struct trace_t trace = {NULL, NULL, 20661, LOCATE_parser___ReduceAction578___init};
53756 val_t variable[2];
53757 struct WBT_ **closurevariable = NULL;
53758 trace.prev = tracehead; tracehead = &trace;
53759 trace.file = LOCATE_parser;
53760 /* Register variable[0]: Local variable */
53761 variable[0] = self;
53762 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction578].i]) return;
53763 /* Register variable[1]: Method return value and escape marker */
53764 return_label1189: while(false);
53765 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction578].i] = 1;
53766 tracehead = trace.prev;
53767 return;
53768 }
53769 void parser___ReduceAction579___action(val_t self, val_t param0) {
53770 struct trace_t trace = {NULL, NULL, 20665, LOCATE_parser___ReduceAction579___action};
53771 val_t variable[13];
53772 struct WBT_ **closurevariable = NULL;
53773 trace.prev = tracehead; tracehead = &trace;
53774 trace.file = LOCATE_parser;
53775 /* Register variable[0]: Local variable */
53776 variable[0] = self;
53777 /* Register variable[1]: Local variable */
53778 variable[1] = param0;
53779 /* Register variable[2]: Method return value and escape marker */
53780 /* Register variable[3]: Local variable */
53781 variable[3] = NIT_NULL /*null*/;
53782 /* Register variable[4]: Local variable */
53783 /* Register variable[5]: Result */
53784 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53785 variable[4] = variable[5];
53786 /* Register variable[5]: Local variable */
53787 /* Register variable[6]: Result */
53788 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53789 variable[5] = variable[6];
53790 /* Register variable[6]: Local variable */
53791 /* Register variable[7]: Result */
53792 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53793 variable[6] = variable[7];
53794 /* Register variable[7]: Local variable */
53795 /* Register variable[8]: Result */
53796 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
53797 variable[7] = variable[8];
53798 /* Register variable[8]: Local variable */
53799 variable[8] = variable[6] /*nodearraylist1*/;
53800 /* Register variable[9]: Result */
53801 variable[9] = TAG_Bool(( variable[8] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
53802 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 20674); nit_exit(1);}
53803 /* Register variable[9]: Local variable */
53804 variable[9] = variable[5] /*nodearraylist2*/;
53805 /* Register variable[10]: Result */
53806 variable[10] = TAG_Bool(( variable[9] /*passignopnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*passignopnode4*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
53807 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 20676); nit_exit(1);}
53808 /* Register variable[10]: Local variable */
53809 variable[10] = variable[4] /*nodearraylist3*/;
53810 /* Register variable[11]: Result */
53811 variable[11] = TAG_Bool(( variable[10] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53812 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction579___action, LOCATE_parser, 20678); nit_exit(1);}
53813 /* Register variable[11]: Local variable */
53814 /* Register variable[12]: Result */
53815 variable[12] = NEW_AAttrReassignExpr_parser_prod___AAttrReassignExpr___init_aattrreassignexpr( variable[7] /*pexprnode2*/, variable[8] /*tattridnode3*/, variable[9] /*passignopnode4*/, variable[10] /*pexprnode5*/) /*new AAttrReassignExpr*/;
53816 variable[11] = variable[12];
53817 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
53818 /* Register variable[12]: Result */
53819 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53820 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
53821 return_label1190: while(false);
53822 tracehead = trace.prev;
53823 return;
53824 }
53825 void parser___ReduceAction579___init(val_t self, int* init_table) {
53826 struct trace_t trace = {NULL, NULL, 20688, LOCATE_parser___ReduceAction579___init};
53827 val_t variable[2];
53828 struct WBT_ **closurevariable = NULL;
53829 trace.prev = tracehead; tracehead = &trace;
53830 trace.file = LOCATE_parser;
53831 /* Register variable[0]: Local variable */
53832 variable[0] = self;
53833 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction579].i]) return;
53834 /* Register variable[1]: Method return value and escape marker */
53835 return_label1191: while(false);
53836 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction579].i] = 1;
53837 tracehead = trace.prev;
53838 return;
53839 }
53840 void parser___ReduceAction580___action(val_t self, val_t param0) {
53841 struct trace_t trace = {NULL, NULL, 20692, LOCATE_parser___ReduceAction580___action};
53842 val_t variable[19];
53843 struct WBT_ **closurevariable = NULL;
53844 trace.prev = tracehead; tracehead = &trace;
53845 trace.file = LOCATE_parser;
53846 /* Register variable[0]: Local variable */
53847 variable[0] = self;
53848 /* Register variable[1]: Local variable */
53849 variable[1] = param0;
53850 /* Register variable[2]: Method return value and escape marker */
53851 /* Register variable[3]: Local variable */
53852 variable[3] = NIT_NULL /*null*/;
53853 /* Register variable[4]: Local variable */
53854 /* Register variable[5]: Result */
53855 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53856 variable[4] = variable[5];
53857 /* Register variable[5]: Local variable */
53858 /* Register variable[6]: Result */
53859 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53860 variable[5] = variable[6];
53861 /* Register variable[6]: Local variable */
53862 /* Register variable[7]: Result */
53863 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53864 variable[6] = variable[7];
53865 /* Register variable[7]: Local variable */
53866 /* Register variable[8]: Result */
53867 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53868 variable[7] = variable[8];
53869 /* Register variable[8]: Local variable */
53870 /* Register variable[9]: Result */
53871 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53872 variable[8] = variable[9];
53873 /* Register variable[9]: Local variable */
53874 /* Register variable[10]: Result */
53875 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53876 variable[9] = variable[10];
53877 /* Register variable[10]: Local variable */
53878 /* Register variable[11]: Result */
53879 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53880 variable[10] = variable[11];
53881 /* Register variable[11]: Local variable */
53882 /* Register variable[12]: Result */
53883 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
53884 variable[11] = variable[12];
53885 /* Register variable[12]: Local variable */
53886 variable[12] = variable[10] /*nodearraylist1*/;
53887 /* Register variable[13]: Result */
53888 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53889 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 20704); nit_exit(1);}
53890 /* Register variable[13]: Local variable */
53891 variable[13] = variable[7] /*nodearraylist4*/;
53892 /* Register variable[14]: Result */
53893 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53894 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 20706); nit_exit(1);}
53895 /* Register variable[14]: Local variable */
53896 variable[14] = variable[6] /*nodearraylist5*/;
53897 /* Register variable[15]: Result */
53898 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
53899 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 20708); nit_exit(1);}
53900 /* Register variable[15]: Result */
53901 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::==*/)))))));
53902 if (UNTAG_Bool(variable[15])) { /*if*/
53903 /* Register variable[15]: Result */
53904 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode5*/)( variable[11] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
53905 if (UNTAG_Bool(variable[15])) { /*if*/
53906 variable[11] = variable[14] /*listnode4*/ /*listnode5=*/;
53907 } else { /*if*/
53908 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode5*/)( variable[11] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
53909 }
53910 }
53911 /* Register variable[15]: Local variable */
53912 variable[15] = variable[5] /*nodearraylist6*/;
53913 /* Register variable[16]: Result */
53914 variable[16] = TAG_Bool(( variable[15] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
53915 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 20717); nit_exit(1);}
53916 /* Register variable[16]: Local variable */
53917 variable[16] = variable[4] /*nodearraylist7*/;
53918 /* Register variable[17]: Result */
53919 variable[17] = TAG_Bool(( variable[16] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
53920 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction580___action, LOCATE_parser, 20719); nit_exit(1);}
53921 /* Register variable[17]: Local variable */
53922 /* Register variable[18]: Result */
53923 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*/;
53924 variable[17] = variable[18];
53925 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
53926 /* Register variable[18]: Result */
53927 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
53928 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
53929 return_label1192: while(false);
53930 tracehead = trace.prev;
53931 return;
53932 }
53933 void parser___ReduceAction580___init(val_t self, int* init_table) {
53934 struct trace_t trace = {NULL, NULL, 20730, LOCATE_parser___ReduceAction580___init};
53935 val_t variable[2];
53936 struct WBT_ **closurevariable = NULL;
53937 trace.prev = tracehead; tracehead = &trace;
53938 trace.file = LOCATE_parser;
53939 /* Register variable[0]: Local variable */
53940 variable[0] = self;
53941 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction580].i]) return;
53942 /* Register variable[1]: Method return value and escape marker */
53943 return_label1193: while(false);
53944 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction580].i] = 1;
53945 tracehead = trace.prev;
53946 return;
53947 }
53948 void parser___ReduceAction581___action(val_t self, val_t param0) {
53949 struct trace_t trace = {NULL, NULL, 20734, LOCATE_parser___ReduceAction581___action};
53950 val_t variable[16];
53951 struct WBT_ **closurevariable = NULL;
53952 trace.prev = tracehead; tracehead = &trace;
53953 trace.file = LOCATE_parser;
53954 /* Register variable[0]: Local variable */
53955 variable[0] = self;
53956 /* Register variable[1]: Local variable */
53957 variable[1] = param0;
53958 /* Register variable[2]: Method return value and escape marker */
53959 /* Register variable[3]: Local variable */
53960 variable[3] = NIT_NULL /*null*/;
53961 /* Register variable[4]: Local variable */
53962 /* Register variable[5]: Result */
53963 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53964 variable[4] = variable[5];
53965 /* Register variable[5]: Local variable */
53966 /* Register variable[6]: Result */
53967 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53968 variable[5] = variable[6];
53969 /* Register variable[6]: Local variable */
53970 /* Register variable[7]: Result */
53971 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53972 variable[6] = variable[7];
53973 /* Register variable[7]: Local variable */
53974 /* Register variable[8]: Result */
53975 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
53976 variable[7] = variable[8];
53977 /* Register variable[8]: Local variable */
53978 /* Register variable[9]: Result */
53979 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
53980 variable[8] = variable[9];
53981 /* Register variable[9]: Local variable */
53982 /* Register variable[10]: Result */
53983 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
53984 variable[9] = variable[10];
53985 /* Register variable[10]: Local variable */
53986 variable[10] = variable[7] /*nodearraylist1*/;
53987 /* Register variable[11]: Result */
53988 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
53989 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 20745); nit_exit(1);}
53990 /* Register variable[11]: Local variable */
53991 variable[11] = variable[6] /*nodearraylist2*/;
53992 /* Register variable[12]: Result */
53993 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
53994 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 20747); nit_exit(1);}
53995 /* Register variable[12]: Result */
53996 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::==*/)))))));
53997 if (UNTAG_Bool(variable[12])) { /*if*/
53998 /* Register variable[12]: Result */
53999 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode5*/)( variable[8] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
54000 if (UNTAG_Bool(variable[12])) { /*if*/
54001 variable[8] = variable[11] /*listnode4*/ /*listnode5=*/;
54002 } else { /*if*/
54003 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode5*/)( variable[8] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
54004 }
54005 }
54006 /* Register variable[12]: Local variable */
54007 variable[12] = variable[5] /*nodearraylist3*/;
54008 /* Register variable[13]: Result */
54009 variable[13] = TAG_Bool(( variable[12] /*passignopnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*passignopnode6*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
54010 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 20756); nit_exit(1);}
54011 /* Register variable[13]: Local variable */
54012 variable[13] = variable[4] /*nodearraylist4*/;
54013 /* Register variable[14]: Result */
54014 variable[14] = TAG_Bool(( variable[13] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54015 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction581___action, LOCATE_parser, 20758); nit_exit(1);}
54016 /* Register variable[14]: Local variable */
54017 /* Register variable[15]: Result */
54018 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*/;
54019 variable[14] = variable[15];
54020 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
54021 /* Register variable[15]: Result */
54022 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
54023 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
54024 return_label1194: while(false);
54025 tracehead = trace.prev;
54026 return;
54027 }
54028 void parser___ReduceAction581___init(val_t self, int* init_table) {
54029 struct trace_t trace = {NULL, NULL, 20769, LOCATE_parser___ReduceAction581___init};
54030 val_t variable[2];
54031 struct WBT_ **closurevariable = NULL;
54032 trace.prev = tracehead; tracehead = &trace;
54033 trace.file = LOCATE_parser;
54034 /* Register variable[0]: Local variable */
54035 variable[0] = self;
54036 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction581].i]) return;
54037 /* Register variable[1]: Method return value and escape marker */
54038 return_label1195: while(false);
54039 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction581].i] = 1;
54040 tracehead = trace.prev;
54041 return;
54042 }
54043 void parser___ReduceAction582___action(val_t self, val_t param0) {
54044 struct trace_t trace = {NULL, NULL, 20773, LOCATE_parser___ReduceAction582___action};
54045 val_t variable[15];
54046 struct WBT_ **closurevariable = NULL;
54047 trace.prev = tracehead; tracehead = &trace;
54048 trace.file = LOCATE_parser;
54049 /* Register variable[0]: Local variable */
54050 variable[0] = self;
54051 /* Register variable[1]: Local variable */
54052 variable[1] = param0;
54053 /* Register variable[2]: Method return value and escape marker */
54054 /* Register variable[3]: Local variable */
54055 variable[3] = NIT_NULL /*null*/;
54056 /* Register variable[4]: Local variable */
54057 /* Register variable[5]: Result */
54058 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54059 variable[4] = variable[5];
54060 /* Register variable[5]: Local variable */
54061 /* Register variable[6]: Result */
54062 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54063 variable[5] = variable[6];
54064 /* Register variable[6]: Local variable */
54065 /* Register variable[7]: Result */
54066 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54067 variable[6] = variable[7];
54068 /* Register variable[7]: Local variable */
54069 /* Register variable[8]: Result */
54070 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54071 variable[7] = variable[8];
54072 /* Register variable[8]: Local variable */
54073 /* Register variable[9]: Result */
54074 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54075 variable[8] = variable[9];
54076 /* Register variable[9]: Local variable */
54077 variable[9] = variable[7] /*nodearraylist1*/;
54078 /* Register variable[10]: Result */
54079 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54080 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 20782); nit_exit(1);}
54081 /* Register variable[10]: Local variable */
54082 variable[10] = variable[6] /*nodearraylist2*/;
54083 /* Register variable[11]: Result */
54084 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54085 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 20784); nit_exit(1);}
54086 /* Register variable[11]: Result */
54087 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::==*/)))))));
54088 if (UNTAG_Bool(variable[11])) { /*if*/
54089 /* Register variable[11]: Result */
54090 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode4*/)( variable[8] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
54091 if (UNTAG_Bool(variable[11])) { /*if*/
54092 variable[8] = variable[10] /*listnode3*/ /*listnode4=*/;
54093 } else { /*if*/
54094 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode4*/)( variable[8] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
54095 }
54096 }
54097 /* Register variable[11]: Local variable */
54098 variable[11] = variable[5] /*nodearraylist3*/;
54099 /* Register variable[12]: Result */
54100 variable[12] = TAG_Bool(( variable[11] /*passignopnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*passignopnode5*/, COLOR_PAssignOp, ID_PAssignOp)) /*cast PAssignOp*/;
54101 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 20793); nit_exit(1);}
54102 /* Register variable[12]: Local variable */
54103 variable[12] = variable[4] /*nodearraylist4*/;
54104 /* Register variable[13]: Result */
54105 variable[13] = TAG_Bool(( variable[12] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54106 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction582___action, LOCATE_parser, 20795); nit_exit(1);}
54107 /* Register variable[13]: Local variable */
54108 /* Register variable[14]: Result */
54109 variable[14] = NEW_ABraReassignExpr_parser_prod___ABraReassignExpr___init_abrareassignexpr( variable[9] /*pexprnode2*/, variable[8] /*listnode4*/, variable[11] /*passignopnode5*/, variable[12] /*pexprnode6*/) /*new ABraReassignExpr*/;
54110 variable[13] = variable[14];
54111 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
54112 /* Register variable[14]: Result */
54113 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(88)) /*Parser::go_to*/;
54114 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
54115 return_label1196: while(false);
54116 tracehead = trace.prev;
54117 return;
54118 }
54119 void parser___ReduceAction582___init(val_t self, int* init_table) {
54120 struct trace_t trace = {NULL, NULL, 20805, LOCATE_parser___ReduceAction582___init};
54121 val_t variable[2];
54122 struct WBT_ **closurevariable = NULL;
54123 trace.prev = tracehead; tracehead = &trace;
54124 trace.file = LOCATE_parser;
54125 /* Register variable[0]: Local variable */
54126 variable[0] = self;
54127 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction582].i]) return;
54128 /* Register variable[1]: Method return value and escape marker */
54129 return_label1197: while(false);
54130 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction582].i] = 1;
54131 tracehead = trace.prev;
54132 return;
54133 }
54134 void parser___ReduceAction583___action(val_t self, val_t param0) {
54135 struct trace_t trace = {NULL, NULL, 20809, LOCATE_parser___ReduceAction583___action};
54136 val_t variable[10];
54137 struct WBT_ **closurevariable = NULL;
54138 trace.prev = tracehead; tracehead = &trace;
54139 trace.file = LOCATE_parser;
54140 /* Register variable[0]: Local variable */
54141 variable[0] = self;
54142 /* Register variable[1]: Local variable */
54143 variable[1] = param0;
54144 /* Register variable[2]: Method return value and escape marker */
54145 /* Register variable[3]: Local variable */
54146 variable[3] = NIT_NULL /*null*/;
54147 /* Register variable[4]: Local variable */
54148 /* Register variable[5]: Result */
54149 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54150 variable[4] = variable[5];
54151 /* Register variable[5]: Local variable */
54152 /* Register variable[6]: Result */
54153 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54154 variable[5] = variable[6];
54155 /* Register variable[6]: Local variable */
54156 variable[6] = variable[5] /*nodearraylist1*/;
54157 /* Register variable[7]: Result */
54158 variable[7] = TAG_Bool(( variable[6] /*tkwdonode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwdonode2*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54159 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction583___action, LOCATE_parser, 20815); nit_exit(1);}
54160 /* Register variable[7]: Local variable */
54161 variable[7] = variable[4] /*nodearraylist2*/;
54162 /* Register variable[8]: Result */
54163 variable[8] = TAG_Bool(( variable[7] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54164 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction583___action, LOCATE_parser, 20817); nit_exit(1);}
54165 /* Register variable[8]: Local variable */
54166 /* Register variable[9]: Result */
54167 variable[9] = NEW_ADoExpr_parser_prod___ADoExpr___init_adoexpr( variable[6] /*tkwdonode2*/, variable[7] /*pexprnode3*/) /*new ADoExpr*/;
54168 variable[8] = variable[9];
54169 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
54170 /* Register variable[9]: Result */
54171 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(89)) /*Parser::go_to*/;
54172 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
54173 return_label1198: while(false);
54174 tracehead = trace.prev;
54175 return;
54176 }
54177 void parser___ReduceAction583___init(val_t self, int* init_table) {
54178 struct trace_t trace = {NULL, NULL, 20825, LOCATE_parser___ReduceAction583___init};
54179 val_t variable[2];
54180 struct WBT_ **closurevariable = NULL;
54181 trace.prev = tracehead; tracehead = &trace;
54182 trace.file = LOCATE_parser;
54183 /* Register variable[0]: Local variable */
54184 variable[0] = self;
54185 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction583].i]) return;
54186 /* Register variable[1]: Method return value and escape marker */
54187 return_label1199: while(false);
54188 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction583].i] = 1;
54189 tracehead = trace.prev;
54190 return;
54191 }
54192 void parser___ReduceAction584___action(val_t self, val_t param0) {
54193 struct trace_t trace = {NULL, NULL, 20829, LOCATE_parser___ReduceAction584___action};
54194 val_t variable[18];
54195 struct WBT_ **closurevariable = NULL;
54196 trace.prev = tracehead; tracehead = &trace;
54197 trace.file = LOCATE_parser;
54198 /* Register variable[0]: Local variable */
54199 variable[0] = self;
54200 /* Register variable[1]: Local variable */
54201 variable[1] = param0;
54202 /* Register variable[2]: Method return value and escape marker */
54203 /* Register variable[3]: Local variable */
54204 variable[3] = NIT_NULL /*null*/;
54205 /* Register variable[4]: Local variable */
54206 /* Register variable[5]: Result */
54207 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54208 variable[4] = variable[5];
54209 /* Register variable[5]: Local variable */
54210 /* Register variable[6]: Result */
54211 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54212 variable[5] = variable[6];
54213 /* Register variable[6]: Local variable */
54214 /* Register variable[7]: Result */
54215 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54216 variable[6] = variable[7];
54217 /* Register variable[7]: Local variable */
54218 /* Register variable[8]: Result */
54219 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54220 variable[7] = variable[8];
54221 /* Register variable[8]: Local variable */
54222 /* Register variable[9]: Result */
54223 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54224 variable[8] = variable[9];
54225 /* Register variable[9]: Local variable */
54226 /* Register variable[10]: Result */
54227 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54228 variable[9] = variable[10];
54229 /* Register variable[10]: Local variable */
54230 /* Register variable[11]: Result */
54231 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54232 variable[10] = variable[11];
54233 /* Register variable[11]: Local variable */
54234 /* Register variable[12]: Result */
54235 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54236 variable[11] = variable[12];
54237 /* Register variable[12]: Local variable */
54238 variable[12] = variable[11] /*nodearraylist1*/;
54239 /* Register variable[13]: Result */
54240 variable[13] = TAG_Bool(( variable[12] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
54241 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 20841); nit_exit(1);}
54242 /* Register variable[13]: Local variable */
54243 variable[13] = variable[9] /*nodearraylist3*/;
54244 /* Register variable[14]: Result */
54245 variable[14] = TAG_Bool(( variable[13] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54246 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 20843); nit_exit(1);}
54247 /* Register variable[14]: Local variable */
54248 variable[14] = variable[6] /*nodearraylist6*/;
54249 /* Register variable[15]: Result */
54250 variable[15] = TAG_Bool(( variable[14] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54251 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 20845); nit_exit(1);}
54252 /* Register variable[15]: Local variable */
54253 variable[15] = variable[4] /*nodearraylist8*/;
54254 /* Register variable[16]: Result */
54255 variable[16] = TAG_Bool(( variable[15] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54256 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction584___action, LOCATE_parser, 20847); nit_exit(1);}
54257 /* Register variable[16]: Local variable */
54258 /* Register variable[17]: Result */
54259 variable[17] = NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr( variable[12] /*tkwifnode2*/, variable[13] /*pexprnode3*/, variable[14] /*pexprnode4*/, variable[15] /*pexprnode5*/) /*new AIfExpr*/;
54260 variable[16] = variable[17];
54261 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
54262 /* Register variable[17]: Result */
54263 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(90)) /*Parser::go_to*/;
54264 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
54265 return_label1200: while(false);
54266 tracehead = trace.prev;
54267 return;
54268 }
54269 void parser___ReduceAction584___init(val_t self, int* init_table) {
54270 struct trace_t trace = {NULL, NULL, 20857, LOCATE_parser___ReduceAction584___init};
54271 val_t variable[2];
54272 struct WBT_ **closurevariable = NULL;
54273 trace.prev = tracehead; tracehead = &trace;
54274 trace.file = LOCATE_parser;
54275 /* Register variable[0]: Local variable */
54276 variable[0] = self;
54277 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction584].i]) return;
54278 /* Register variable[1]: Method return value and escape marker */
54279 return_label1201: while(false);
54280 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction584].i] = 1;
54281 tracehead = trace.prev;
54282 return;
54283 }
54284 void parser___ReduceAction585___action(val_t self, val_t param0) {
54285 struct trace_t trace = {NULL, NULL, 20861, LOCATE_parser___ReduceAction585___action};
54286 val_t variable[16];
54287 struct WBT_ **closurevariable = NULL;
54288 trace.prev = tracehead; tracehead = &trace;
54289 trace.file = LOCATE_parser;
54290 /* Register variable[0]: Local variable */
54291 variable[0] = self;
54292 /* Register variable[1]: Local variable */
54293 variable[1] = param0;
54294 /* Register variable[2]: Method return value and escape marker */
54295 /* Register variable[3]: Local variable */
54296 variable[3] = NIT_NULL /*null*/;
54297 /* Register variable[4]: Local variable */
54298 /* Register variable[5]: Result */
54299 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54300 variable[4] = variable[5];
54301 /* Register variable[5]: Local variable */
54302 /* Register variable[6]: Result */
54303 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54304 variable[5] = variable[6];
54305 /* Register variable[6]: Local variable */
54306 /* Register variable[7]: Result */
54307 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54308 variable[6] = variable[7];
54309 /* Register variable[7]: Local variable */
54310 /* Register variable[8]: Result */
54311 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54312 variable[7] = variable[8];
54313 /* Register variable[8]: Local variable */
54314 /* Register variable[9]: Result */
54315 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54316 variable[8] = variable[9];
54317 /* Register variable[9]: Local variable */
54318 /* Register variable[10]: Result */
54319 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54320 variable[9] = variable[10];
54321 /* Register variable[10]: Local variable */
54322 variable[10] = variable[9] /*nodearraylist1*/;
54323 /* Register variable[11]: Result */
54324 variable[11] = TAG_Bool(( variable[10] /*tkwwhilenode2*/==NIT_NULL) || VAL_ISA( variable[10] /*tkwwhilenode2*/, COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
54325 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 20871); nit_exit(1);}
54326 /* Register variable[11]: Local variable */
54327 variable[11] = variable[7] /*nodearraylist3*/;
54328 /* Register variable[12]: Result */
54329 variable[12] = TAG_Bool(( variable[11] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54330 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 20873); nit_exit(1);}
54331 /* Register variable[12]: Local variable */
54332 variable[12] = variable[5] /*nodearraylist5*/;
54333 /* Register variable[13]: Result */
54334 variable[13] = TAG_Bool(( variable[12] /*tkwdonode4*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwdonode4*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54335 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 20875); nit_exit(1);}
54336 /* Register variable[13]: Local variable */
54337 variable[13] = variable[4] /*nodearraylist6*/;
54338 /* Register variable[14]: Result */
54339 variable[14] = TAG_Bool(( variable[13] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[13] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54340 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction585___action, LOCATE_parser, 20877); nit_exit(1);}
54341 /* Register variable[14]: Local variable */
54342 /* Register variable[15]: Result */
54343 variable[15] = NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr( variable[10] /*tkwwhilenode2*/, variable[11] /*pexprnode3*/, variable[12] /*tkwdonode4*/, variable[13] /*pexprnode5*/) /*new AWhileExpr*/;
54344 variable[14] = variable[15];
54345 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
54346 /* Register variable[15]: Result */
54347 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(91)) /*Parser::go_to*/;
54348 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
54349 return_label1202: while(false);
54350 tracehead = trace.prev;
54351 return;
54352 }
54353 void parser___ReduceAction585___init(val_t self, int* init_table) {
54354 struct trace_t trace = {NULL, NULL, 20887, LOCATE_parser___ReduceAction585___init};
54355 val_t variable[2];
54356 struct WBT_ **closurevariable = NULL;
54357 trace.prev = tracehead; tracehead = &trace;
54358 trace.file = LOCATE_parser;
54359 /* Register variable[0]: Local variable */
54360 variable[0] = self;
54361 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction585].i]) return;
54362 /* Register variable[1]: Method return value and escape marker */
54363 return_label1203: while(false);
54364 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction585].i] = 1;
54365 tracehead = trace.prev;
54366 return;
54367 }
54368 void parser___ReduceAction586___action(val_t self, val_t param0) {
54369 struct trace_t trace = {NULL, NULL, 20891, LOCATE_parser___ReduceAction586___action};
54370 val_t variable[21];
54371 struct WBT_ **closurevariable = NULL;
54372 trace.prev = tracehead; tracehead = &trace;
54373 trace.file = LOCATE_parser;
54374 /* Register variable[0]: Local variable */
54375 variable[0] = self;
54376 /* Register variable[1]: Local variable */
54377 variable[1] = param0;
54378 /* Register variable[2]: Method return value and escape marker */
54379 /* Register variable[3]: Local variable */
54380 variable[3] = NIT_NULL /*null*/;
54381 /* Register variable[4]: Local variable */
54382 /* Register variable[5]: Result */
54383 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54384 variable[4] = variable[5];
54385 /* Register variable[5]: Local variable */
54386 /* Register variable[6]: Result */
54387 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54388 variable[5] = variable[6];
54389 /* Register variable[6]: Local variable */
54390 /* Register variable[7]: Result */
54391 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54392 variable[6] = variable[7];
54393 /* Register variable[7]: Local variable */
54394 /* Register variable[8]: Result */
54395 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54396 variable[7] = variable[8];
54397 /* Register variable[8]: Local variable */
54398 /* Register variable[9]: Result */
54399 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54400 variable[8] = variable[9];
54401 /* Register variable[9]: Local variable */
54402 /* Register variable[10]: Result */
54403 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54404 variable[9] = variable[10];
54405 /* Register variable[10]: Local variable */
54406 /* Register variable[11]: Result */
54407 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54408 variable[10] = variable[11];
54409 /* Register variable[11]: Local variable */
54410 /* Register variable[12]: Result */
54411 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54412 variable[11] = variable[12];
54413 /* Register variable[12]: Local variable */
54414 /* Register variable[13]: Result */
54415 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54416 variable[12] = variable[13];
54417 /* Register variable[13]: Local variable */
54418 /* Register variable[14]: Result */
54419 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54420 variable[13] = variable[14];
54421 /* Register variable[14]: Local variable */
54422 variable[14] = variable[13] /*nodearraylist1*/;
54423 /* Register variable[15]: Result */
54424 variable[15] = TAG_Bool(( variable[14] /*tkwfornode2*/==NIT_NULL) || VAL_ISA( variable[14] /*tkwfornode2*/, COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
54425 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 20905); nit_exit(1);}
54426 /* Register variable[15]: Local variable */
54427 variable[15] = variable[11] /*nodearraylist3*/;
54428 /* Register variable[16]: Result */
54429 variable[16] = TAG_Bool(( variable[15] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
54430 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 20907); nit_exit(1);}
54431 /* Register variable[16]: Local variable */
54432 variable[16] = variable[7] /*nodearraylist7*/;
54433 /* Register variable[17]: Result */
54434 variable[17] = TAG_Bool(( variable[16] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54435 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 20909); nit_exit(1);}
54436 /* Register variable[17]: Local variable */
54437 variable[17] = variable[5] /*nodearraylist9*/;
54438 /* Register variable[18]: Result */
54439 variable[18] = TAG_Bool(( variable[17] /*tkwdonode5*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwdonode5*/, COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54440 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 20911); nit_exit(1);}
54441 /* Register variable[18]: Local variable */
54442 variable[18] = variable[4] /*nodearraylist10*/;
54443 /* Register variable[19]: Result */
54444 variable[19] = TAG_Bool(( variable[18] /*pexprnode6*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode6*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54445 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction586___action, LOCATE_parser, 20913); nit_exit(1);}
54446 /* Register variable[19]: Local variable */
54447 /* Register variable[20]: Result */
54448 variable[20] = NEW_AForExpr_parser_prod___AForExpr___init_aforexpr( variable[14] /*tkwfornode2*/, variable[15] /*tidnode3*/, variable[16] /*pexprnode4*/, variable[17] /*tkwdonode5*/, variable[18] /*pexprnode6*/) /*new AForExpr*/;
54449 variable[19] = variable[20];
54450 variable[3] = variable[19] /*pexprnode1*/ /*node_list=*/;
54451 /* Register variable[20]: Result */
54452 variable[20] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(92)) /*Parser::go_to*/;
54453 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[20], variable[3] /*node_list*/) /*Parser::push*/;
54454 return_label1204: while(false);
54455 tracehead = trace.prev;
54456 return;
54457 }
54458 void parser___ReduceAction586___init(val_t self, int* init_table) {
54459 struct trace_t trace = {NULL, NULL, 20924, LOCATE_parser___ReduceAction586___init};
54460 val_t variable[2];
54461 struct WBT_ **closurevariable = NULL;
54462 trace.prev = tracehead; tracehead = &trace;
54463 trace.file = LOCATE_parser;
54464 /* Register variable[0]: Local variable */
54465 variable[0] = self;
54466 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction586].i]) return;
54467 /* Register variable[1]: Method return value and escape marker */
54468 return_label1205: while(false);
54469 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction586].i] = 1;
54470 tracehead = trace.prev;
54471 return;
54472 }
54473 void parser___ReduceAction587___action(val_t self, val_t param0) {
54474 struct trace_t trace = {NULL, NULL, 20928, LOCATE_parser___ReduceAction587___action};
54475 val_t variable[10];
54476 struct WBT_ **closurevariable = NULL;
54477 trace.prev = tracehead; tracehead = &trace;
54478 trace.file = LOCATE_parser;
54479 /* Register variable[0]: Local variable */
54480 variable[0] = self;
54481 /* Register variable[1]: Local variable */
54482 variable[1] = param0;
54483 /* Register variable[2]: Method return value and escape marker */
54484 /* Register variable[3]: Local variable */
54485 variable[3] = NIT_NULL /*null*/;
54486 /* Register variable[4]: Local variable */
54487 /* Register variable[5]: Result */
54488 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54489 variable[4] = variable[5];
54490 /* Register variable[5]: Local variable */
54491 /* Register variable[6]: Result */
54492 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54493 variable[5] = variable[6];
54494 /* Register variable[6]: Local variable */
54495 variable[6] = variable[5] /*nodearraylist1*/;
54496 /* Register variable[7]: Result */
54497 variable[7] = TAG_Bool(( variable[6] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
54498 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 20934); nit_exit(1);}
54499 /* Register variable[7]: Local variable */
54500 variable[7] = variable[4] /*nodearraylist2*/;
54501 /* Register variable[8]: Result */
54502 variable[8] = TAG_Bool(( variable[7] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54503 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction587___action, LOCATE_parser, 20936); nit_exit(1);}
54504 /* Register variable[8]: Local variable */
54505 /* Register variable[9]: Result */
54506 variable[9] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[6] /*tkwassertnode2*/, NIT_NULL /*null*/, variable[7] /*pexprnode4*/) /*new AAssertExpr*/;
54507 variable[8] = variable[9];
54508 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
54509 /* Register variable[9]: Result */
54510 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
54511 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
54512 return_label1206: while(false);
54513 tracehead = trace.prev;
54514 return;
54515 }
54516 void parser___ReduceAction587___init(val_t self, int* init_table) {
54517 struct trace_t trace = {NULL, NULL, 20945, LOCATE_parser___ReduceAction587___init};
54518 val_t variable[2];
54519 struct WBT_ **closurevariable = NULL;
54520 trace.prev = tracehead; tracehead = &trace;
54521 trace.file = LOCATE_parser;
54522 /* Register variable[0]: Local variable */
54523 variable[0] = self;
54524 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction587].i]) return;
54525 /* Register variable[1]: Method return value and escape marker */
54526 return_label1207: while(false);
54527 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction587].i] = 1;
54528 tracehead = trace.prev;
54529 return;
54530 }
54531 void parser___ReduceAction588___action(val_t self, val_t param0) {
54532 struct trace_t trace = {NULL, NULL, 20949, LOCATE_parser___ReduceAction588___action};
54533 val_t variable[12];
54534 struct WBT_ **closurevariable = NULL;
54535 trace.prev = tracehead; tracehead = &trace;
54536 trace.file = LOCATE_parser;
54537 /* Register variable[0]: Local variable */
54538 variable[0] = self;
54539 /* Register variable[1]: Local variable */
54540 variable[1] = param0;
54541 /* Register variable[2]: Method return value and escape marker */
54542 /* Register variable[3]: Local variable */
54543 variable[3] = NIT_NULL /*null*/;
54544 /* Register variable[4]: Local variable */
54545 /* Register variable[5]: Result */
54546 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54547 variable[4] = variable[5];
54548 /* Register variable[5]: Local variable */
54549 /* Register variable[6]: Result */
54550 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54551 variable[5] = variable[6];
54552 /* Register variable[6]: Local variable */
54553 /* Register variable[7]: Result */
54554 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54555 variable[6] = variable[7];
54556 /* Register variable[7]: Local variable */
54557 variable[7] = variable[6] /*nodearraylist1*/;
54558 /* Register variable[8]: Result */
54559 variable[8] = TAG_Bool(( variable[7] /*tkwassertnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwassertnode2*/, COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
54560 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 20956); nit_exit(1);}
54561 /* Register variable[8]: Local variable */
54562 variable[8] = variable[5] /*nodearraylist2*/;
54563 /* Register variable[9]: Result */
54564 variable[9] = TAG_Bool(( variable[8] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
54565 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 20958); nit_exit(1);}
54566 /* Register variable[9]: Local variable */
54567 variable[9] = variable[4] /*nodearraylist3*/;
54568 /* Register variable[10]: Result */
54569 variable[10] = TAG_Bool(( variable[9] /*pexprnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode4*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54570 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction588___action, LOCATE_parser, 20960); nit_exit(1);}
54571 /* Register variable[10]: Local variable */
54572 /* Register variable[11]: Result */
54573 variable[11] = NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr( variable[7] /*tkwassertnode2*/, variable[8] /*tidnode3*/, variable[9] /*pexprnode4*/) /*new AAssertExpr*/;
54574 variable[10] = variable[11];
54575 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
54576 /* Register variable[11]: Result */
54577 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(93)) /*Parser::go_to*/;
54578 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
54579 return_label1208: while(false);
54580 tracehead = trace.prev;
54581 return;
54582 }
54583 void parser___ReduceAction588___init(val_t self, int* init_table) {
54584 struct trace_t trace = {NULL, NULL, 20969, LOCATE_parser___ReduceAction588___init};
54585 val_t variable[2];
54586 struct WBT_ **closurevariable = NULL;
54587 trace.prev = tracehead; tracehead = &trace;
54588 trace.file = LOCATE_parser;
54589 /* Register variable[0]: Local variable */
54590 variable[0] = self;
54591 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction588].i]) return;
54592 /* Register variable[1]: Method return value and escape marker */
54593 return_label1209: while(false);
54594 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction588].i] = 1;
54595 tracehead = trace.prev;
54596 return;
54597 }
54598 void parser___ReduceAction589___action(val_t self, val_t param0) {
54599 struct trace_t trace = {NULL, NULL, 20973, LOCATE_parser___ReduceAction589___action};
54600 val_t variable[7];
54601 struct WBT_ **closurevariable = NULL;
54602 trace.prev = tracehead; tracehead = &trace;
54603 trace.file = LOCATE_parser;
54604 /* Register variable[0]: Local variable */
54605 variable[0] = self;
54606 /* Register variable[1]: Local variable */
54607 variable[1] = param0;
54608 /* Register variable[2]: Method return value and escape marker */
54609 /* Register variable[3]: Local variable */
54610 variable[3] = NIT_NULL /*null*/;
54611 /* Register variable[4]: Local variable */
54612 /* Register variable[5]: Result */
54613 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54614 variable[4] = variable[5];
54615 /* Register variable[5]: Local variable */
54616 variable[5] = variable[4] /*nodearraylist1*/;
54617 /* Register variable[6]: Result */
54618 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54619 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction589___action, LOCATE_parser, 20978); nit_exit(1);}
54620 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
54621 /* Register variable[6]: Result */
54622 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
54623 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
54624 return_label1210: while(false);
54625 tracehead = trace.prev;
54626 return;
54627 }
54628 void parser___ReduceAction589___init(val_t self, int* init_table) {
54629 struct trace_t trace = {NULL, NULL, 20982, LOCATE_parser___ReduceAction589___init};
54630 val_t variable[2];
54631 struct WBT_ **closurevariable = NULL;
54632 trace.prev = tracehead; tracehead = &trace;
54633 trace.file = LOCATE_parser;
54634 /* Register variable[0]: Local variable */
54635 variable[0] = self;
54636 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction589].i]) return;
54637 /* Register variable[1]: Method return value and escape marker */
54638 return_label1211: while(false);
54639 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction589].i] = 1;
54640 tracehead = trace.prev;
54641 return;
54642 }
54643 void parser___ReduceAction590___action(val_t self, val_t param0) {
54644 struct trace_t trace = {NULL, NULL, 20986, LOCATE_parser___ReduceAction590___action};
54645 val_t variable[18];
54646 struct WBT_ **closurevariable = NULL;
54647 trace.prev = tracehead; tracehead = &trace;
54648 trace.file = LOCATE_parser;
54649 /* Register variable[0]: Local variable */
54650 variable[0] = self;
54651 /* Register variable[1]: Local variable */
54652 variable[1] = param0;
54653 /* Register variable[2]: Method return value and escape marker */
54654 /* Register variable[3]: Local variable */
54655 variable[3] = NIT_NULL /*null*/;
54656 /* Register variable[4]: Local variable */
54657 /* Register variable[5]: Result */
54658 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54659 variable[4] = variable[5];
54660 /* Register variable[5]: Local variable */
54661 /* Register variable[6]: Result */
54662 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54663 variable[5] = variable[6];
54664 /* Register variable[6]: Local variable */
54665 /* Register variable[7]: Result */
54666 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54667 variable[6] = variable[7];
54668 /* Register variable[7]: Local variable */
54669 /* Register variable[8]: Result */
54670 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54671 variable[7] = variable[8];
54672 /* Register variable[8]: Local variable */
54673 /* Register variable[9]: Result */
54674 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54675 variable[8] = variable[9];
54676 /* Register variable[9]: Local variable */
54677 /* Register variable[10]: Result */
54678 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54679 variable[9] = variable[10];
54680 /* Register variable[10]: Local variable */
54681 /* Register variable[11]: Result */
54682 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54683 variable[10] = variable[11];
54684 /* Register variable[11]: Local variable */
54685 /* Register variable[12]: Result */
54686 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54687 variable[11] = variable[12];
54688 /* Register variable[12]: Local variable */
54689 variable[12] = variable[9] /*nodearraylist1*/;
54690 /* Register variable[13]: Result */
54691 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54692 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 20998); nit_exit(1);}
54693 /* Register variable[13]: Local variable */
54694 variable[13] = variable[6] /*nodearraylist4*/;
54695 /* Register variable[14]: Result */
54696 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
54697 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 21000); nit_exit(1);}
54698 /* Register variable[14]: Local variable */
54699 variable[14] = variable[5] /*nodearraylist5*/;
54700 /* Register variable[15]: Result */
54701 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54702 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 21002); nit_exit(1);}
54703 /* Register variable[15]: Result */
54704 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::==*/)))))));
54705 if (UNTAG_Bool(variable[15])) { /*if*/
54706 /* Register variable[15]: Result */
54707 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
54708 if (UNTAG_Bool(variable[15])) { /*if*/
54709 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
54710 } else { /*if*/
54711 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
54712 }
54713 }
54714 /* Register variable[15]: Local variable */
54715 variable[15] = variable[4] /*nodearraylist6*/;
54716 /* Register variable[16]: Result */
54717 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54718 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction590___action, LOCATE_parser, 21011); nit_exit(1);}
54719 /* Register variable[16]: Result */
54720 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::==*/)))))));
54721 if (UNTAG_Bool(variable[16])) { /*if*/
54722 /* Register variable[16]: Result */
54723 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
54724 if (UNTAG_Bool(variable[16])) { /*if*/
54725 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
54726 } else { /*if*/
54727 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
54728 }
54729 }
54730 /* Register variable[16]: Local variable */
54731 /* Register variable[17]: Result */
54732 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
54733 variable[16] = variable[17];
54734 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
54735 /* Register variable[17]: Result */
54736 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
54737 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
54738 return_label1212: while(false);
54739 tracehead = trace.prev;
54740 return;
54741 }
54742 void parser___ReduceAction590___init(val_t self, int* init_table) {
54743 struct trace_t trace = {NULL, NULL, 21028, LOCATE_parser___ReduceAction590___init};
54744 val_t variable[2];
54745 struct WBT_ **closurevariable = NULL;
54746 trace.prev = tracehead; tracehead = &trace;
54747 trace.file = LOCATE_parser;
54748 /* Register variable[0]: Local variable */
54749 variable[0] = self;
54750 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction590].i]) return;
54751 /* Register variable[1]: Method return value and escape marker */
54752 return_label1213: while(false);
54753 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction590].i] = 1;
54754 tracehead = trace.prev;
54755 return;
54756 }
54757 void parser___ReduceAction591___action(val_t self, val_t param0) {
54758 struct trace_t trace = {NULL, NULL, 21032, LOCATE_parser___ReduceAction591___action};
54759 val_t variable[15];
54760 struct WBT_ **closurevariable = NULL;
54761 trace.prev = tracehead; tracehead = &trace;
54762 trace.file = LOCATE_parser;
54763 /* Register variable[0]: Local variable */
54764 variable[0] = self;
54765 /* Register variable[1]: Local variable */
54766 variable[1] = param0;
54767 /* Register variable[2]: Method return value and escape marker */
54768 /* Register variable[3]: Local variable */
54769 variable[3] = NIT_NULL /*null*/;
54770 /* Register variable[4]: Local variable */
54771 /* Register variable[5]: Result */
54772 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54773 variable[4] = variable[5];
54774 /* Register variable[5]: Local variable */
54775 /* Register variable[6]: Result */
54776 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54777 variable[5] = variable[6];
54778 /* Register variable[6]: Local variable */
54779 /* Register variable[7]: Result */
54780 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54781 variable[6] = variable[7];
54782 /* Register variable[7]: Local variable */
54783 /* Register variable[8]: Result */
54784 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54785 variable[7] = variable[8];
54786 /* Register variable[8]: Local variable */
54787 /* Register variable[9]: Result */
54788 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54789 variable[8] = variable[9];
54790 /* Register variable[9]: Local variable */
54791 /* Register variable[10]: Result */
54792 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
54793 variable[9] = variable[10];
54794 /* Register variable[10]: Local variable */
54795 variable[10] = variable[6] /*nodearraylist1*/;
54796 /* Register variable[11]: Result */
54797 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
54798 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 21043); nit_exit(1);}
54799 /* Register variable[11]: Local variable */
54800 variable[11] = variable[5] /*nodearraylist2*/;
54801 /* Register variable[12]: Result */
54802 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54803 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 21045); nit_exit(1);}
54804 /* Register variable[12]: Result */
54805 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::==*/)))))));
54806 if (UNTAG_Bool(variable[12])) { /*if*/
54807 /* Register variable[12]: Result */
54808 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
54809 if (UNTAG_Bool(variable[12])) { /*if*/
54810 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
54811 } else { /*if*/
54812 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
54813 }
54814 }
54815 /* Register variable[12]: Local variable */
54816 variable[12] = variable[4] /*nodearraylist3*/;
54817 /* Register variable[13]: Result */
54818 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54819 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction591___action, LOCATE_parser, 21054); nit_exit(1);}
54820 /* Register variable[13]: Result */
54821 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::==*/)))))));
54822 if (UNTAG_Bool(variable[13])) { /*if*/
54823 /* Register variable[13]: Result */
54824 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
54825 if (UNTAG_Bool(variable[13])) { /*if*/
54826 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
54827 } else { /*if*/
54828 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
54829 }
54830 }
54831 /* Register variable[13]: Local variable */
54832 /* Register variable[14]: Result */
54833 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
54834 variable[13] = variable[14];
54835 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
54836 /* Register variable[14]: Result */
54837 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
54838 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
54839 return_label1214: while(false);
54840 tracehead = trace.prev;
54841 return;
54842 }
54843 void parser___ReduceAction591___init(val_t self, int* init_table) {
54844 struct trace_t trace = {NULL, NULL, 21071, LOCATE_parser___ReduceAction591___init};
54845 val_t variable[2];
54846 struct WBT_ **closurevariable = NULL;
54847 trace.prev = tracehead; tracehead = &trace;
54848 trace.file = LOCATE_parser;
54849 /* Register variable[0]: Local variable */
54850 variable[0] = self;
54851 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction591].i]) return;
54852 /* Register variable[1]: Method return value and escape marker */
54853 return_label1215: while(false);
54854 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction591].i] = 1;
54855 tracehead = trace.prev;
54856 return;
54857 }
54858 void parser___ReduceAction592___action(val_t self, val_t param0) {
54859 struct trace_t trace = {NULL, NULL, 21075, LOCATE_parser___ReduceAction592___action};
54860 val_t variable[14];
54861 struct WBT_ **closurevariable = NULL;
54862 trace.prev = tracehead; tracehead = &trace;
54863 trace.file = LOCATE_parser;
54864 /* Register variable[0]: Local variable */
54865 variable[0] = self;
54866 /* Register variable[1]: Local variable */
54867 variable[1] = param0;
54868 /* Register variable[2]: Method return value and escape marker */
54869 /* Register variable[3]: Local variable */
54870 variable[3] = NIT_NULL /*null*/;
54871 /* Register variable[4]: Local variable */
54872 /* Register variable[5]: Result */
54873 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54874 variable[4] = variable[5];
54875 /* Register variable[5]: Local variable */
54876 /* Register variable[6]: Result */
54877 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54878 variable[5] = variable[6];
54879 /* Register variable[6]: Local variable */
54880 /* Register variable[7]: Result */
54881 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54882 variable[6] = variable[7];
54883 /* Register variable[7]: Local variable */
54884 /* Register variable[8]: Result */
54885 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54886 variable[7] = variable[8];
54887 /* Register variable[8]: Local variable */
54888 /* Register variable[9]: Result */
54889 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
54890 variable[8] = variable[9];
54891 /* Register variable[9]: Local variable */
54892 variable[9] = variable[6] /*nodearraylist1*/;
54893 /* Register variable[10]: Result */
54894 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54895 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 21084); nit_exit(1);}
54896 /* Register variable[10]: Local variable */
54897 variable[10] = variable[5] /*nodearraylist2*/;
54898 /* Register variable[11]: Result */
54899 variable[11] = TAG_Bool(( variable[10] /*listnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode3*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54900 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 21086); nit_exit(1);}
54901 /* Register variable[11]: Result */
54902 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::==*/)))))));
54903 if (UNTAG_Bool(variable[11])) { /*if*/
54904 /* Register variable[11]: Result */
54905 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode4*/)( variable[7] /*listnode4*/) /*AbstractArrayRead::is_empty*/;
54906 if (UNTAG_Bool(variable[11])) { /*if*/
54907 variable[7] = variable[10] /*listnode3*/ /*listnode4=*/;
54908 } else { /*if*/
54909 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode4*/)( variable[7] /*listnode4*/, variable[10] /*listnode3*/) /*IndexedCollection::append*/;
54910 }
54911 }
54912 /* Register variable[11]: Local variable */
54913 variable[11] = variable[4] /*nodearraylist3*/;
54914 /* Register variable[12]: Result */
54915 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
54916 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction592___action, LOCATE_parser, 21095); nit_exit(1);}
54917 /* Register variable[12]: Result */
54918 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::==*/)))))));
54919 if (UNTAG_Bool(variable[12])) { /*if*/
54920 /* Register variable[12]: Result */
54921 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
54922 if (UNTAG_Bool(variable[12])) { /*if*/
54923 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
54924 } else { /*if*/
54925 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
54926 }
54927 }
54928 /* Register variable[12]: Local variable */
54929 /* Register variable[13]: Result */
54930 variable[13] = NEW_ABraExpr_parser_prod___ABraExpr___init_abraexpr( variable[9] /*pexprnode2*/, variable[7] /*listnode4*/, variable[8] /*listnode6*/) /*new ABraExpr*/;
54931 variable[12] = variable[13];
54932 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
54933 /* Register variable[13]: Result */
54934 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(94)) /*Parser::go_to*/;
54935 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
54936 return_label1216: while(false);
54937 tracehead = trace.prev;
54938 return;
54939 }
54940 void parser___ReduceAction592___init(val_t self, int* init_table) {
54941 struct trace_t trace = {NULL, NULL, 21111, LOCATE_parser___ReduceAction592___init};
54942 val_t variable[2];
54943 struct WBT_ **closurevariable = NULL;
54944 trace.prev = tracehead; tracehead = &trace;
54945 trace.file = LOCATE_parser;
54946 /* Register variable[0]: Local variable */
54947 variable[0] = self;
54948 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction592].i]) return;
54949 /* Register variable[1]: Method return value and escape marker */
54950 return_label1217: while(false);
54951 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction592].i] = 1;
54952 tracehead = trace.prev;
54953 return;
54954 }
54955 void parser___ReduceAction593___action(val_t self, val_t param0) {
54956 struct trace_t trace = {NULL, NULL, 21115, LOCATE_parser___ReduceAction593___action};
54957 val_t variable[7];
54958 struct WBT_ **closurevariable = NULL;
54959 trace.prev = tracehead; tracehead = &trace;
54960 trace.file = LOCATE_parser;
54961 /* Register variable[0]: Local variable */
54962 variable[0] = self;
54963 /* Register variable[1]: Local variable */
54964 variable[1] = param0;
54965 /* Register variable[2]: Method return value and escape marker */
54966 /* Register variable[3]: Local variable */
54967 variable[3] = NIT_NULL /*null*/;
54968 /* Register variable[4]: Local variable */
54969 /* Register variable[5]: Result */
54970 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
54971 variable[4] = variable[5];
54972 /* Register variable[5]: Local variable */
54973 variable[5] = variable[4] /*nodearraylist1*/;
54974 /* Register variable[6]: Result */
54975 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
54976 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction593___action, LOCATE_parser, 21120); nit_exit(1);}
54977 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
54978 /* Register variable[6]: Result */
54979 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
54980 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
54981 return_label1218: while(false);
54982 tracehead = trace.prev;
54983 return;
54984 }
54985 void parser___ReduceAction593___init(val_t self, int* init_table) {
54986 struct trace_t trace = {NULL, NULL, 21124, LOCATE_parser___ReduceAction593___init};
54987 val_t variable[2];
54988 struct WBT_ **closurevariable = NULL;
54989 trace.prev = tracehead; tracehead = &trace;
54990 trace.file = LOCATE_parser;
54991 /* Register variable[0]: Local variable */
54992 variable[0] = self;
54993 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction593].i]) return;
54994 /* Register variable[1]: Method return value and escape marker */
54995 return_label1219: while(false);
54996 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction593].i] = 1;
54997 tracehead = trace.prev;
54998 return;
54999 }
55000 void parser___ReduceAction594___action(val_t self, val_t param0) {
55001 struct trace_t trace = {NULL, NULL, 21128, LOCATE_parser___ReduceAction594___action};
55002 val_t variable[18];
55003 struct WBT_ **closurevariable = NULL;
55004 trace.prev = tracehead; tracehead = &trace;
55005 trace.file = LOCATE_parser;
55006 /* Register variable[0]: Local variable */
55007 variable[0] = self;
55008 /* Register variable[1]: Local variable */
55009 variable[1] = param0;
55010 /* Register variable[2]: Method return value and escape marker */
55011 /* Register variable[3]: Local variable */
55012 variable[3] = NIT_NULL /*null*/;
55013 /* Register variable[4]: Local variable */
55014 /* Register variable[5]: Result */
55015 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55016 variable[4] = variable[5];
55017 /* Register variable[5]: Local variable */
55018 /* Register variable[6]: Result */
55019 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55020 variable[5] = variable[6];
55021 /* Register variable[6]: Local variable */
55022 /* Register variable[7]: Result */
55023 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55024 variable[6] = variable[7];
55025 /* Register variable[7]: Local variable */
55026 /* Register variable[8]: Result */
55027 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55028 variable[7] = variable[8];
55029 /* Register variable[8]: Local variable */
55030 /* Register variable[9]: Result */
55031 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55032 variable[8] = variable[9];
55033 /* Register variable[9]: Local variable */
55034 /* Register variable[10]: Result */
55035 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55036 variable[9] = variable[10];
55037 /* Register variable[10]: Local variable */
55038 /* Register variable[11]: Result */
55039 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55040 variable[10] = variable[11];
55041 /* Register variable[11]: Local variable */
55042 /* Register variable[12]: Result */
55043 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55044 variable[11] = variable[12];
55045 /* Register variable[12]: Local variable */
55046 variable[12] = variable[9] /*nodearraylist1*/;
55047 /* Register variable[13]: Result */
55048 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55049 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 21140); nit_exit(1);}
55050 /* Register variable[13]: Local variable */
55051 variable[13] = variable[6] /*nodearraylist4*/;
55052 /* Register variable[14]: Result */
55053 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
55054 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 21142); nit_exit(1);}
55055 /* Register variable[14]: Local variable */
55056 variable[14] = variable[5] /*nodearraylist5*/;
55057 /* Register variable[15]: Result */
55058 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55059 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 21144); nit_exit(1);}
55060 /* Register variable[15]: Result */
55061 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::==*/)))))));
55062 if (UNTAG_Bool(variable[15])) { /*if*/
55063 /* Register variable[15]: Result */
55064 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
55065 if (UNTAG_Bool(variable[15])) { /*if*/
55066 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
55067 } else { /*if*/
55068 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
55069 }
55070 }
55071 /* Register variable[15]: Local variable */
55072 variable[15] = variable[4] /*nodearraylist6*/;
55073 /* Register variable[16]: Result */
55074 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55075 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction594___action, LOCATE_parser, 21153); nit_exit(1);}
55076 /* Register variable[16]: Result */
55077 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::==*/)))))));
55078 if (UNTAG_Bool(variable[16])) { /*if*/
55079 /* Register variable[16]: Result */
55080 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
55081 if (UNTAG_Bool(variable[16])) { /*if*/
55082 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
55083 } else { /*if*/
55084 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
55085 }
55086 }
55087 /* Register variable[16]: Local variable */
55088 /* Register variable[17]: Result */
55089 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
55090 variable[16] = variable[17];
55091 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
55092 /* Register variable[17]: Result */
55093 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
55094 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
55095 return_label1220: while(false);
55096 tracehead = trace.prev;
55097 return;
55098 }
55099 void parser___ReduceAction594___init(val_t self, int* init_table) {
55100 struct trace_t trace = {NULL, NULL, 21170, LOCATE_parser___ReduceAction594___init};
55101 val_t variable[2];
55102 struct WBT_ **closurevariable = NULL;
55103 trace.prev = tracehead; tracehead = &trace;
55104 trace.file = LOCATE_parser;
55105 /* Register variable[0]: Local variable */
55106 variable[0] = self;
55107 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction594].i]) return;
55108 /* Register variable[1]: Method return value and escape marker */
55109 return_label1221: while(false);
55110 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction594].i] = 1;
55111 tracehead = trace.prev;
55112 return;
55113 }
55114 void parser___ReduceAction595___action(val_t self, val_t param0) {
55115 struct trace_t trace = {NULL, NULL, 21174, LOCATE_parser___ReduceAction595___action};
55116 val_t variable[15];
55117 struct WBT_ **closurevariable = NULL;
55118 trace.prev = tracehead; tracehead = &trace;
55119 trace.file = LOCATE_parser;
55120 /* Register variable[0]: Local variable */
55121 variable[0] = self;
55122 /* Register variable[1]: Local variable */
55123 variable[1] = param0;
55124 /* Register variable[2]: Method return value and escape marker */
55125 /* Register variable[3]: Local variable */
55126 variable[3] = NIT_NULL /*null*/;
55127 /* Register variable[4]: Local variable */
55128 /* Register variable[5]: Result */
55129 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55130 variable[4] = variable[5];
55131 /* Register variable[5]: Local variable */
55132 /* Register variable[6]: Result */
55133 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55134 variable[5] = variable[6];
55135 /* Register variable[6]: Local variable */
55136 /* Register variable[7]: Result */
55137 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55138 variable[6] = variable[7];
55139 /* Register variable[7]: Local variable */
55140 /* Register variable[8]: Result */
55141 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55142 variable[7] = variable[8];
55143 /* Register variable[8]: Local variable */
55144 /* Register variable[9]: Result */
55145 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55146 variable[8] = variable[9];
55147 /* Register variable[9]: Local variable */
55148 /* Register variable[10]: Result */
55149 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
55150 variable[9] = variable[10];
55151 /* Register variable[10]: Local variable */
55152 variable[10] = variable[6] /*nodearraylist1*/;
55153 /* Register variable[11]: Result */
55154 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
55155 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction595___action, LOCATE_parser, 21185); nit_exit(1);}
55156 /* Register variable[11]: Local variable */
55157 variable[11] = variable[5] /*nodearraylist2*/;
55158 /* Register variable[12]: Result */
55159 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55160 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction595___action, LOCATE_parser, 21187); nit_exit(1);}
55161 /* Register variable[12]: Result */
55162 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::==*/)))))));
55163 if (UNTAG_Bool(variable[12])) { /*if*/
55164 /* Register variable[12]: Result */
55165 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
55166 if (UNTAG_Bool(variable[12])) { /*if*/
55167 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
55168 } else { /*if*/
55169 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
55170 }
55171 }
55172 /* Register variable[12]: Local variable */
55173 variable[12] = variable[4] /*nodearraylist3*/;
55174 /* Register variable[13]: Result */
55175 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55176 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction595___action, LOCATE_parser, 21196); nit_exit(1);}
55177 /* Register variable[13]: Result */
55178 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::==*/)))))));
55179 if (UNTAG_Bool(variable[13])) { /*if*/
55180 /* Register variable[13]: Result */
55181 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
55182 if (UNTAG_Bool(variable[13])) { /*if*/
55183 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
55184 } else { /*if*/
55185 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
55186 }
55187 }
55188 /* Register variable[13]: Local variable */
55189 /* Register variable[14]: Result */
55190 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
55191 variable[13] = variable[14];
55192 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
55193 /* Register variable[14]: Result */
55194 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(95)) /*Parser::go_to*/;
55195 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
55196 return_label1222: while(false);
55197 tracehead = trace.prev;
55198 return;
55199 }
55200 void parser___ReduceAction595___init(val_t self, int* init_table) {
55201 struct trace_t trace = {NULL, NULL, 21213, LOCATE_parser___ReduceAction595___init};
55202 val_t variable[2];
55203 struct WBT_ **closurevariable = NULL;
55204 trace.prev = tracehead; tracehead = &trace;
55205 trace.file = LOCATE_parser;
55206 /* Register variable[0]: Local variable */
55207 variable[0] = self;
55208 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction595].i]) return;
55209 /* Register variable[1]: Method return value and escape marker */
55210 return_label1223: while(false);
55211 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction595].i] = 1;
55212 tracehead = trace.prev;
55213 return;
55214 }
55215 void parser___ReduceAction596___action(val_t self, val_t param0) {
55216 struct trace_t trace = {NULL, NULL, 21217, LOCATE_parser___ReduceAction596___action};
55217 val_t variable[7];
55218 struct WBT_ **closurevariable = NULL;
55219 trace.prev = tracehead; tracehead = &trace;
55220 trace.file = LOCATE_parser;
55221 /* Register variable[0]: Local variable */
55222 variable[0] = self;
55223 /* Register variable[1]: Local variable */
55224 variable[1] = param0;
55225 /* Register variable[2]: Method return value and escape marker */
55226 /* Register variable[3]: Local variable */
55227 variable[3] = NIT_NULL /*null*/;
55228 /* Register variable[4]: Local variable */
55229 /* Register variable[5]: Result */
55230 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55231 variable[4] = variable[5];
55232 /* Register variable[5]: Local variable */
55233 variable[5] = variable[4] /*nodearraylist1*/;
55234 /* Register variable[6]: Result */
55235 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55236 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction596___action, LOCATE_parser, 21222); nit_exit(1);}
55237 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
55238 /* Register variable[6]: Result */
55239 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
55240 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
55241 return_label1224: while(false);
55242 tracehead = trace.prev;
55243 return;
55244 }
55245 void parser___ReduceAction596___init(val_t self, int* init_table) {
55246 struct trace_t trace = {NULL, NULL, 21226, LOCATE_parser___ReduceAction596___init};
55247 val_t variable[2];
55248 struct WBT_ **closurevariable = NULL;
55249 trace.prev = tracehead; tracehead = &trace;
55250 trace.file = LOCATE_parser;
55251 /* Register variable[0]: Local variable */
55252 variable[0] = self;
55253 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction596].i]) return;
55254 /* Register variable[1]: Method return value and escape marker */
55255 return_label1225: while(false);
55256 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction596].i] = 1;
55257 tracehead = trace.prev;
55258 return;
55259 }
55260 void parser___ReduceAction597___action(val_t self, val_t param0) {
55261 struct trace_t trace = {NULL, NULL, 21230, LOCATE_parser___ReduceAction597___action};
55262 val_t variable[18];
55263 struct WBT_ **closurevariable = NULL;
55264 trace.prev = tracehead; tracehead = &trace;
55265 trace.file = LOCATE_parser;
55266 /* Register variable[0]: Local variable */
55267 variable[0] = self;
55268 /* Register variable[1]: Local variable */
55269 variable[1] = param0;
55270 /* Register variable[2]: Method return value and escape marker */
55271 /* Register variable[3]: Local variable */
55272 variable[3] = NIT_NULL /*null*/;
55273 /* Register variable[4]: Local variable */
55274 /* Register variable[5]: Result */
55275 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55276 variable[4] = variable[5];
55277 /* Register variable[5]: Local variable */
55278 /* Register variable[6]: Result */
55279 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55280 variable[5] = variable[6];
55281 /* Register variable[6]: Local variable */
55282 /* Register variable[7]: Result */
55283 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55284 variable[6] = variable[7];
55285 /* Register variable[7]: Local variable */
55286 /* Register variable[8]: Result */
55287 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55288 variable[7] = variable[8];
55289 /* Register variable[8]: Local variable */
55290 /* Register variable[9]: Result */
55291 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55292 variable[8] = variable[9];
55293 /* Register variable[9]: Local variable */
55294 /* Register variable[10]: Result */
55295 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55296 variable[9] = variable[10];
55297 /* Register variable[10]: Local variable */
55298 /* Register variable[11]: Result */
55299 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55300 variable[10] = variable[11];
55301 /* Register variable[11]: Local variable */
55302 /* Register variable[12]: Result */
55303 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55304 variable[11] = variable[12];
55305 /* Register variable[12]: Local variable */
55306 variable[12] = variable[9] /*nodearraylist1*/;
55307 /* Register variable[13]: Result */
55308 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55309 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 21242); nit_exit(1);}
55310 /* Register variable[13]: Local variable */
55311 variable[13] = variable[6] /*nodearraylist4*/;
55312 /* Register variable[14]: Result */
55313 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
55314 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 21244); nit_exit(1);}
55315 /* Register variable[14]: Local variable */
55316 variable[14] = variable[5] /*nodearraylist5*/;
55317 /* Register variable[15]: Result */
55318 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55319 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 21246); nit_exit(1);}
55320 /* Register variable[15]: Result */
55321 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::==*/)))))));
55322 if (UNTAG_Bool(variable[15])) { /*if*/
55323 /* Register variable[15]: Result */
55324 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
55325 if (UNTAG_Bool(variable[15])) { /*if*/
55326 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
55327 } else { /*if*/
55328 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
55329 }
55330 }
55331 /* Register variable[15]: Local variable */
55332 variable[15] = variable[4] /*nodearraylist6*/;
55333 /* Register variable[16]: Result */
55334 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55335 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction597___action, LOCATE_parser, 21255); nit_exit(1);}
55336 /* Register variable[16]: Result */
55337 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::==*/)))))));
55338 if (UNTAG_Bool(variable[16])) { /*if*/
55339 /* Register variable[16]: Result */
55340 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
55341 if (UNTAG_Bool(variable[16])) { /*if*/
55342 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
55343 } else { /*if*/
55344 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
55345 }
55346 }
55347 /* Register variable[16]: Local variable */
55348 /* Register variable[17]: Result */
55349 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
55350 variable[16] = variable[17];
55351 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
55352 /* Register variable[17]: Result */
55353 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
55354 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
55355 return_label1226: while(false);
55356 tracehead = trace.prev;
55357 return;
55358 }
55359 void parser___ReduceAction597___init(val_t self, int* init_table) {
55360 struct trace_t trace = {NULL, NULL, 21272, LOCATE_parser___ReduceAction597___init};
55361 val_t variable[2];
55362 struct WBT_ **closurevariable = NULL;
55363 trace.prev = tracehead; tracehead = &trace;
55364 trace.file = LOCATE_parser;
55365 /* Register variable[0]: Local variable */
55366 variable[0] = self;
55367 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction597].i]) return;
55368 /* Register variable[1]: Method return value and escape marker */
55369 return_label1227: while(false);
55370 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction597].i] = 1;
55371 tracehead = trace.prev;
55372 return;
55373 }
55374 void parser___ReduceAction598___action(val_t self, val_t param0) {
55375 struct trace_t trace = {NULL, NULL, 21276, LOCATE_parser___ReduceAction598___action};
55376 val_t variable[15];
55377 struct WBT_ **closurevariable = NULL;
55378 trace.prev = tracehead; tracehead = &trace;
55379 trace.file = LOCATE_parser;
55380 /* Register variable[0]: Local variable */
55381 variable[0] = self;
55382 /* Register variable[1]: Local variable */
55383 variable[1] = param0;
55384 /* Register variable[2]: Method return value and escape marker */
55385 /* Register variable[3]: Local variable */
55386 variable[3] = NIT_NULL /*null*/;
55387 /* Register variable[4]: Local variable */
55388 /* Register variable[5]: Result */
55389 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55390 variable[4] = variable[5];
55391 /* Register variable[5]: Local variable */
55392 /* Register variable[6]: Result */
55393 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55394 variable[5] = variable[6];
55395 /* Register variable[6]: Local variable */
55396 /* Register variable[7]: Result */
55397 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55398 variable[6] = variable[7];
55399 /* Register variable[7]: Local variable */
55400 /* Register variable[8]: Result */
55401 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55402 variable[7] = variable[8];
55403 /* Register variable[8]: Local variable */
55404 /* Register variable[9]: Result */
55405 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
55406 variable[8] = variable[9];
55407 /* Register variable[9]: Local variable */
55408 /* Register variable[10]: Result */
55409 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
55410 variable[9] = variable[10];
55411 /* Register variable[10]: Local variable */
55412 variable[10] = variable[6] /*nodearraylist1*/;
55413 /* Register variable[11]: Result */
55414 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
55415 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction598___action, LOCATE_parser, 21287); nit_exit(1);}
55416 /* Register variable[11]: Local variable */
55417 variable[11] = variable[5] /*nodearraylist2*/;
55418 /* Register variable[12]: Result */
55419 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55420 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction598___action, LOCATE_parser, 21289); nit_exit(1);}
55421 /* Register variable[12]: Result */
55422 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::==*/)))))));
55423 if (UNTAG_Bool(variable[12])) { /*if*/
55424 /* Register variable[12]: Result */
55425 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
55426 if (UNTAG_Bool(variable[12])) { /*if*/
55427 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
55428 } else { /*if*/
55429 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
55430 }
55431 }
55432 /* Register variable[12]: Local variable */
55433 variable[12] = variable[4] /*nodearraylist3*/;
55434 /* Register variable[13]: Result */
55435 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
55436 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction598___action, LOCATE_parser, 21298); nit_exit(1);}
55437 /* Register variable[13]: Result */
55438 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::==*/)))))));
55439 if (UNTAG_Bool(variable[13])) { /*if*/
55440 /* Register variable[13]: Result */
55441 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
55442 if (UNTAG_Bool(variable[13])) { /*if*/
55443 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
55444 } else { /*if*/
55445 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
55446 }
55447 }
55448 /* Register variable[13]: Local variable */
55449 /* Register variable[14]: Result */
55450 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
55451 variable[13] = variable[14];
55452 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
55453 /* Register variable[14]: Result */
55454 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(96)) /*Parser::go_to*/;
55455 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
55456 return_label1228: while(false);
55457 tracehead = trace.prev;
55458 return;
55459 }
55460 void parser___ReduceAction598___init(val_t self, int* init_table) {
55461 struct trace_t trace = {NULL, NULL, 21315, LOCATE_parser___ReduceAction598___init};
55462 val_t variable[2];
55463 struct WBT_ **closurevariable = NULL;
55464 trace.prev = tracehead; tracehead = &trace;
55465 trace.file = LOCATE_parser;
55466 /* Register variable[0]: Local variable */
55467 variable[0] = self;
55468 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction598].i]) return;
55469 /* Register variable[1]: Method return value and escape marker */
55470 return_label1229: while(false);
55471 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction598].i] = 1;
55472 tracehead = trace.prev;
55473 return;
55474 }
55475 void parser___ReduceAction599___action(val_t self, val_t param0) {
55476 struct trace_t trace = {NULL, NULL, 21319, LOCATE_parser___ReduceAction599___action};
55477 val_t variable[7];
55478 struct WBT_ **closurevariable = NULL;
55479 trace.prev = tracehead; tracehead = &trace;
55480 trace.file = LOCATE_parser;
55481 /* Register variable[0]: Local variable */
55482 variable[0] = self;
55483 /* Register variable[1]: Local variable */
55484 variable[1] = param0;
55485 /* Register variable[2]: Method return value and escape marker */
55486 /* Register variable[3]: Local variable */
55487 variable[3] = NIT_NULL /*null*/;
55488 /* Register variable[4]: Local variable */
55489 /* Register variable[5]: Result */
55490 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55491 variable[4] = variable[5];
55492 /* Register variable[5]: Local variable */
55493 variable[5] = variable[4] /*nodearraylist1*/;
55494 /* Register variable[6]: Result */
55495 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55496 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction599___action, LOCATE_parser, 21324); nit_exit(1);}
55497 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
55498 /* Register variable[6]: Result */
55499 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
55500 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
55501 return_label1230: while(false);
55502 tracehead = trace.prev;
55503 return;
55504 }
55505 void parser___ReduceAction599___init(val_t self, int* init_table) {
55506 struct trace_t trace = {NULL, NULL, 21328, LOCATE_parser___ReduceAction599___init};
55507 val_t variable[2];
55508 struct WBT_ **closurevariable = NULL;
55509 trace.prev = tracehead; tracehead = &trace;
55510 trace.file = LOCATE_parser;
55511 /* Register variable[0]: Local variable */
55512 variable[0] = self;
55513 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction599].i]) return;
55514 /* Register variable[1]: Method return value and escape marker */
55515 return_label1231: while(false);
55516 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction599].i] = 1;
55517 tracehead = trace.prev;
55518 return;
55519 }
55520 void parser___ReduceAction600___action(val_t self, val_t param0) {
55521 struct trace_t trace = {NULL, NULL, 21332, LOCATE_parser___ReduceAction600___action};
55522 val_t variable[23];
55523 struct WBT_ **closurevariable = NULL;
55524 trace.prev = tracehead; tracehead = &trace;
55525 trace.file = LOCATE_parser;
55526 /* Register variable[0]: Local variable */
55527 variable[0] = self;
55528 /* Register variable[1]: Local variable */
55529 variable[1] = param0;
55530 /* Register variable[2]: Method return value and escape marker */
55531 /* Register variable[3]: Local variable */
55532 variable[3] = NIT_NULL /*null*/;
55533 /* Register variable[4]: Local variable */
55534 /* Register variable[5]: Result */
55535 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55536 variable[4] = variable[5];
55537 /* Register variable[5]: Local variable */
55538 /* Register variable[6]: Result */
55539 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55540 variable[5] = variable[6];
55541 /* Register variable[6]: Local variable */
55542 /* Register variable[7]: Result */
55543 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55544 variable[6] = variable[7];
55545 /* Register variable[7]: Local variable */
55546 /* Register variable[8]: Result */
55547 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55548 variable[7] = variable[8];
55549 /* Register variable[8]: Local variable */
55550 /* Register variable[9]: Result */
55551 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55552 variable[8] = variable[9];
55553 /* Register variable[9]: Local variable */
55554 /* Register variable[10]: Result */
55555 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55556 variable[9] = variable[10];
55557 /* Register variable[10]: Local variable */
55558 /* Register variable[11]: Result */
55559 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55560 variable[10] = variable[11];
55561 /* Register variable[11]: Local variable */
55562 /* Register variable[12]: Result */
55563 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55564 variable[11] = variable[12];
55565 /* Register variable[12]: Local variable */
55566 /* Register variable[13]: Result */
55567 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55568 variable[12] = variable[13];
55569 /* Register variable[13]: Local variable */
55570 /* Register variable[14]: Result */
55571 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55572 variable[13] = variable[14];
55573 /* Register variable[14]: Local variable */
55574 /* Register variable[15]: Result */
55575 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55576 variable[14] = variable[15];
55577 /* Register variable[15]: Local variable */
55578 variable[15] = variable[14] /*nodearraylist1*/;
55579 /* Register variable[16]: Result */
55580 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
55581 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21347); nit_exit(1);}
55582 /* Register variable[16]: Local variable */
55583 variable[16] = variable[12] /*nodearraylist3*/;
55584 /* Register variable[17]: Result */
55585 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55586 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21349); nit_exit(1);}
55587 /* Register variable[17]: Local variable */
55588 variable[17] = variable[10] /*nodearraylist5*/;
55589 /* Register variable[18]: Result */
55590 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
55591 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21351); nit_exit(1);}
55592 /* Register variable[18]: Local variable */
55593 variable[18] = variable[8] /*nodearraylist7*/;
55594 /* Register variable[19]: Result */
55595 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55596 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21353); nit_exit(1);}
55597 /* Register variable[19]: Local variable */
55598 variable[19] = variable[6] /*nodearraylist9*/;
55599 /* Register variable[20]: Result */
55600 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
55601 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21355); nit_exit(1);}
55602 /* Register variable[20]: Local variable */
55603 variable[20] = variable[4] /*nodearraylist11*/;
55604 /* Register variable[21]: Result */
55605 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55606 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction600___action, LOCATE_parser, 21357); nit_exit(1);}
55607 /* Register variable[21]: Local variable */
55608 /* Register variable[22]: Result */
55609 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*/;
55610 variable[21] = variable[22];
55611 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
55612 /* Register variable[22]: Result */
55613 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(97)) /*Parser::go_to*/;
55614 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
55615 return_label1232: while(false);
55616 tracehead = trace.prev;
55617 return;
55618 }
55619 void parser___ReduceAction600___init(val_t self, int* init_table) {
55620 struct trace_t trace = {NULL, NULL, 21369, LOCATE_parser___ReduceAction600___init};
55621 val_t variable[2];
55622 struct WBT_ **closurevariable = NULL;
55623 trace.prev = tracehead; tracehead = &trace;
55624 trace.file = LOCATE_parser;
55625 /* Register variable[0]: Local variable */
55626 variable[0] = self;
55627 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction600].i]) return;
55628 /* Register variable[1]: Method return value and escape marker */
55629 return_label1233: while(false);
55630 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction600].i] = 1;
55631 tracehead = trace.prev;
55632 return;
55633 }
55634 void parser___ReduceAction601___action(val_t self, val_t param0) {
55635 struct trace_t trace = {NULL, NULL, 21373, LOCATE_parser___ReduceAction601___action};
55636 val_t variable[7];
55637 struct WBT_ **closurevariable = NULL;
55638 trace.prev = tracehead; tracehead = &trace;
55639 trace.file = LOCATE_parser;
55640 /* Register variable[0]: Local variable */
55641 variable[0] = self;
55642 /* Register variable[1]: Local variable */
55643 variable[1] = param0;
55644 /* Register variable[2]: Method return value and escape marker */
55645 /* Register variable[3]: Local variable */
55646 variable[3] = NIT_NULL /*null*/;
55647 /* Register variable[4]: Local variable */
55648 /* Register variable[5]: Result */
55649 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55650 variable[4] = variable[5];
55651 /* Register variable[5]: Local variable */
55652 variable[5] = variable[4] /*nodearraylist1*/;
55653 /* Register variable[6]: Result */
55654 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55655 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction601___action, LOCATE_parser, 21378); nit_exit(1);}
55656 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
55657 /* Register variable[6]: Result */
55658 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
55659 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
55660 return_label1234: while(false);
55661 tracehead = trace.prev;
55662 return;
55663 }
55664 void parser___ReduceAction601___init(val_t self, int* init_table) {
55665 struct trace_t trace = {NULL, NULL, 21382, LOCATE_parser___ReduceAction601___init};
55666 val_t variable[2];
55667 struct WBT_ **closurevariable = NULL;
55668 trace.prev = tracehead; tracehead = &trace;
55669 trace.file = LOCATE_parser;
55670 /* Register variable[0]: Local variable */
55671 variable[0] = self;
55672 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction601].i]) return;
55673 /* Register variable[1]: Method return value and escape marker */
55674 return_label1235: while(false);
55675 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction601].i] = 1;
55676 tracehead = trace.prev;
55677 return;
55678 }
55679 void parser___ReduceAction602___action(val_t self, val_t param0) {
55680 struct trace_t trace = {NULL, NULL, 21386, LOCATE_parser___ReduceAction602___action};
55681 val_t variable[12];
55682 struct WBT_ **closurevariable = NULL;
55683 trace.prev = tracehead; tracehead = &trace;
55684 trace.file = LOCATE_parser;
55685 /* Register variable[0]: Local variable */
55686 variable[0] = self;
55687 /* Register variable[1]: Local variable */
55688 variable[1] = param0;
55689 /* Register variable[2]: Method return value and escape marker */
55690 /* Register variable[3]: Local variable */
55691 variable[3] = NIT_NULL /*null*/;
55692 /* Register variable[4]: Local variable */
55693 /* Register variable[5]: Result */
55694 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55695 variable[4] = variable[5];
55696 /* Register variable[5]: Local variable */
55697 /* Register variable[6]: Result */
55698 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55699 variable[5] = variable[6];
55700 /* Register variable[6]: Local variable */
55701 /* Register variable[7]: Result */
55702 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55703 variable[6] = variable[7];
55704 /* Register variable[7]: Local variable */
55705 /* Register variable[8]: Result */
55706 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55707 variable[7] = variable[8];
55708 /* Register variable[8]: Local variable */
55709 variable[8] = variable[7] /*nodearraylist1*/;
55710 /* Register variable[9]: Result */
55711 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55712 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction602___action, LOCATE_parser, 21394); nit_exit(1);}
55713 /* Register variable[9]: Local variable */
55714 variable[9] = variable[4] /*nodearraylist4*/;
55715 /* Register variable[10]: Result */
55716 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55717 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction602___action, LOCATE_parser, 21396); nit_exit(1);}
55718 /* Register variable[10]: Local variable */
55719 /* Register variable[11]: Result */
55720 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AOrExpr*/;
55721 variable[10] = variable[11];
55722 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
55723 /* Register variable[11]: Result */
55724 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
55725 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
55726 return_label1236: while(false);
55727 tracehead = trace.prev;
55728 return;
55729 }
55730 void parser___ReduceAction602___init(val_t self, int* init_table) {
55731 struct trace_t trace = {NULL, NULL, 21404, LOCATE_parser___ReduceAction602___init};
55732 val_t variable[2];
55733 struct WBT_ **closurevariable = NULL;
55734 trace.prev = tracehead; tracehead = &trace;
55735 trace.file = LOCATE_parser;
55736 /* Register variable[0]: Local variable */
55737 variable[0] = self;
55738 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction602].i]) return;
55739 /* Register variable[1]: Method return value and escape marker */
55740 return_label1237: while(false);
55741 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction602].i] = 1;
55742 tracehead = trace.prev;
55743 return;
55744 }
55745 void parser___ReduceAction603___action(val_t self, val_t param0) {
55746 struct trace_t trace = {NULL, NULL, 21408, LOCATE_parser___ReduceAction603___action};
55747 val_t variable[12];
55748 struct WBT_ **closurevariable = NULL;
55749 trace.prev = tracehead; tracehead = &trace;
55750 trace.file = LOCATE_parser;
55751 /* Register variable[0]: Local variable */
55752 variable[0] = self;
55753 /* Register variable[1]: Local variable */
55754 variable[1] = param0;
55755 /* Register variable[2]: Method return value and escape marker */
55756 /* Register variable[3]: Local variable */
55757 variable[3] = NIT_NULL /*null*/;
55758 /* Register variable[4]: Local variable */
55759 /* Register variable[5]: Result */
55760 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55761 variable[4] = variable[5];
55762 /* Register variable[5]: Local variable */
55763 /* Register variable[6]: Result */
55764 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55765 variable[5] = variable[6];
55766 /* Register variable[6]: Local variable */
55767 /* Register variable[7]: Result */
55768 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55769 variable[6] = variable[7];
55770 /* Register variable[7]: Local variable */
55771 /* Register variable[8]: Result */
55772 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55773 variable[7] = variable[8];
55774 /* Register variable[8]: Local variable */
55775 variable[8] = variable[7] /*nodearraylist1*/;
55776 /* Register variable[9]: Result */
55777 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55778 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 21416); nit_exit(1);}
55779 /* Register variable[9]: Local variable */
55780 variable[9] = variable[4] /*nodearraylist4*/;
55781 /* Register variable[10]: Result */
55782 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55783 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction603___action, LOCATE_parser, 21418); nit_exit(1);}
55784 /* Register variable[10]: Local variable */
55785 /* Register variable[11]: Result */
55786 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AAndExpr*/;
55787 variable[10] = variable[11];
55788 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
55789 /* Register variable[11]: Result */
55790 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(98)) /*Parser::go_to*/;
55791 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
55792 return_label1238: while(false);
55793 tracehead = trace.prev;
55794 return;
55795 }
55796 void parser___ReduceAction603___init(val_t self, int* init_table) {
55797 struct trace_t trace = {NULL, NULL, 21426, LOCATE_parser___ReduceAction603___init};
55798 val_t variable[2];
55799 struct WBT_ **closurevariable = NULL;
55800 trace.prev = tracehead; tracehead = &trace;
55801 trace.file = LOCATE_parser;
55802 /* Register variable[0]: Local variable */
55803 variable[0] = self;
55804 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction603].i]) return;
55805 /* Register variable[1]: Method return value and escape marker */
55806 return_label1239: while(false);
55807 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction603].i] = 1;
55808 tracehead = trace.prev;
55809 return;
55810 }
55811 void parser___ReduceAction604___action(val_t self, val_t param0) {
55812 struct trace_t trace = {NULL, NULL, 21430, LOCATE_parser___ReduceAction604___action};
55813 val_t variable[7];
55814 struct WBT_ **closurevariable = NULL;
55815 trace.prev = tracehead; tracehead = &trace;
55816 trace.file = LOCATE_parser;
55817 /* Register variable[0]: Local variable */
55818 variable[0] = self;
55819 /* Register variable[1]: Local variable */
55820 variable[1] = param0;
55821 /* Register variable[2]: Method return value and escape marker */
55822 /* Register variable[3]: Local variable */
55823 variable[3] = NIT_NULL /*null*/;
55824 /* Register variable[4]: Local variable */
55825 /* Register variable[5]: Result */
55826 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55827 variable[4] = variable[5];
55828 /* Register variable[5]: Local variable */
55829 variable[5] = variable[4] /*nodearraylist1*/;
55830 /* Register variable[6]: Result */
55831 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55832 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction604___action, LOCATE_parser, 21435); nit_exit(1);}
55833 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
55834 /* Register variable[6]: Result */
55835 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
55836 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
55837 return_label1240: while(false);
55838 tracehead = trace.prev;
55839 return;
55840 }
55841 void parser___ReduceAction604___init(val_t self, int* init_table) {
55842 struct trace_t trace = {NULL, NULL, 21439, LOCATE_parser___ReduceAction604___init};
55843 val_t variable[2];
55844 struct WBT_ **closurevariable = NULL;
55845 trace.prev = tracehead; tracehead = &trace;
55846 trace.file = LOCATE_parser;
55847 /* Register variable[0]: Local variable */
55848 variable[0] = self;
55849 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction604].i]) return;
55850 /* Register variable[1]: Method return value and escape marker */
55851 return_label1241: while(false);
55852 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction604].i] = 1;
55853 tracehead = trace.prev;
55854 return;
55855 }
55856 void parser___ReduceAction605___action(val_t self, val_t param0) {
55857 struct trace_t trace = {NULL, NULL, 21443, LOCATE_parser___ReduceAction605___action};
55858 val_t variable[11];
55859 struct WBT_ **closurevariable = NULL;
55860 trace.prev = tracehead; tracehead = &trace;
55861 trace.file = LOCATE_parser;
55862 /* Register variable[0]: Local variable */
55863 variable[0] = self;
55864 /* Register variable[1]: Local variable */
55865 variable[1] = param0;
55866 /* Register variable[2]: Method return value and escape marker */
55867 /* Register variable[3]: Local variable */
55868 variable[3] = NIT_NULL /*null*/;
55869 /* Register variable[4]: Local variable */
55870 /* Register variable[5]: Result */
55871 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55872 variable[4] = variable[5];
55873 /* Register variable[5]: Local variable */
55874 /* Register variable[6]: Result */
55875 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55876 variable[5] = variable[6];
55877 /* Register variable[6]: Local variable */
55878 /* Register variable[7]: Result */
55879 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55880 variable[6] = variable[7];
55881 /* Register variable[7]: Local variable */
55882 variable[7] = variable[6] /*nodearraylist1*/;
55883 /* Register variable[8]: Result */
55884 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
55885 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 21450); nit_exit(1);}
55886 /* Register variable[8]: Local variable */
55887 variable[8] = variable[4] /*nodearraylist3*/;
55888 /* Register variable[9]: Result */
55889 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55890 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction605___action, LOCATE_parser, 21452); nit_exit(1);}
55891 /* Register variable[9]: Local variable */
55892 /* Register variable[10]: Result */
55893 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/) /*new ANotExpr*/;
55894 variable[9] = variable[10];
55895 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
55896 /* Register variable[10]: Result */
55897 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(99)) /*Parser::go_to*/;
55898 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
55899 return_label1242: while(false);
55900 tracehead = trace.prev;
55901 return;
55902 }
55903 void parser___ReduceAction605___init(val_t self, int* init_table) {
55904 struct trace_t trace = {NULL, NULL, 21460, LOCATE_parser___ReduceAction605___init};
55905 val_t variable[2];
55906 struct WBT_ **closurevariable = NULL;
55907 trace.prev = tracehead; tracehead = &trace;
55908 trace.file = LOCATE_parser;
55909 /* Register variable[0]: Local variable */
55910 variable[0] = self;
55911 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction605].i]) return;
55912 /* Register variable[1]: Method return value and escape marker */
55913 return_label1243: while(false);
55914 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction605].i] = 1;
55915 tracehead = trace.prev;
55916 return;
55917 }
55918 void parser___ReduceAction606___action(val_t self, val_t param0) {
55919 struct trace_t trace = {NULL, NULL, 21464, LOCATE_parser___ReduceAction606___action};
55920 val_t variable[7];
55921 struct WBT_ **closurevariable = NULL;
55922 trace.prev = tracehead; tracehead = &trace;
55923 trace.file = LOCATE_parser;
55924 /* Register variable[0]: Local variable */
55925 variable[0] = self;
55926 /* Register variable[1]: Local variable */
55927 variable[1] = param0;
55928 /* Register variable[2]: Method return value and escape marker */
55929 /* Register variable[3]: Local variable */
55930 variable[3] = NIT_NULL /*null*/;
55931 /* Register variable[4]: Local variable */
55932 /* Register variable[5]: Result */
55933 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55934 variable[4] = variable[5];
55935 /* Register variable[5]: Local variable */
55936 variable[5] = variable[4] /*nodearraylist1*/;
55937 /* Register variable[6]: Result */
55938 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55939 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction606___action, LOCATE_parser, 21469); nit_exit(1);}
55940 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
55941 /* Register variable[6]: Result */
55942 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
55943 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
55944 return_label1244: while(false);
55945 tracehead = trace.prev;
55946 return;
55947 }
55948 void parser___ReduceAction606___init(val_t self, int* init_table) {
55949 struct trace_t trace = {NULL, NULL, 21473, LOCATE_parser___ReduceAction606___init};
55950 val_t variable[2];
55951 struct WBT_ **closurevariable = NULL;
55952 trace.prev = tracehead; tracehead = &trace;
55953 trace.file = LOCATE_parser;
55954 /* Register variable[0]: Local variable */
55955 variable[0] = self;
55956 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction606].i]) return;
55957 /* Register variable[1]: Method return value and escape marker */
55958 return_label1245: while(false);
55959 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction606].i] = 1;
55960 tracehead = trace.prev;
55961 return;
55962 }
55963 void parser___ReduceAction607___action(val_t self, val_t param0) {
55964 struct trace_t trace = {NULL, NULL, 21477, LOCATE_parser___ReduceAction607___action};
55965 val_t variable[12];
55966 struct WBT_ **closurevariable = NULL;
55967 trace.prev = tracehead; tracehead = &trace;
55968 trace.file = LOCATE_parser;
55969 /* Register variable[0]: Local variable */
55970 variable[0] = self;
55971 /* Register variable[1]: Local variable */
55972 variable[1] = param0;
55973 /* Register variable[2]: Method return value and escape marker */
55974 /* Register variable[3]: Local variable */
55975 variable[3] = NIT_NULL /*null*/;
55976 /* Register variable[4]: Local variable */
55977 /* Register variable[5]: Result */
55978 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55979 variable[4] = variable[5];
55980 /* Register variable[5]: Local variable */
55981 /* Register variable[6]: Result */
55982 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55983 variable[5] = variable[6];
55984 /* Register variable[6]: Local variable */
55985 /* Register variable[7]: Result */
55986 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55987 variable[6] = variable[7];
55988 /* Register variable[7]: Local variable */
55989 /* Register variable[8]: Result */
55990 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
55991 variable[7] = variable[8];
55992 /* Register variable[8]: Local variable */
55993 variable[8] = variable[7] /*nodearraylist1*/;
55994 /* Register variable[9]: Result */
55995 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
55996 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction607___action, LOCATE_parser, 21485); nit_exit(1);}
55997 /* Register variable[9]: Local variable */
55998 variable[9] = variable[4] /*nodearraylist4*/;
55999 /* Register variable[10]: Result */
56000 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56001 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction607___action, LOCATE_parser, 21487); nit_exit(1);}
56002 /* Register variable[10]: Local variable */
56003 /* Register variable[11]: Result */
56004 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEqExpr*/;
56005 variable[10] = variable[11];
56006 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56007 /* Register variable[11]: Result */
56008 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56009 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56010 return_label1246: while(false);
56011 tracehead = trace.prev;
56012 return;
56013 }
56014 void parser___ReduceAction607___init(val_t self, int* init_table) {
56015 struct trace_t trace = {NULL, NULL, 21495, LOCATE_parser___ReduceAction607___init};
56016 val_t variable[2];
56017 struct WBT_ **closurevariable = NULL;
56018 trace.prev = tracehead; tracehead = &trace;
56019 trace.file = LOCATE_parser;
56020 /* Register variable[0]: Local variable */
56021 variable[0] = self;
56022 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction607].i]) return;
56023 /* Register variable[1]: Method return value and escape marker */
56024 return_label1247: while(false);
56025 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction607].i] = 1;
56026 tracehead = trace.prev;
56027 return;
56028 }
56029 void parser___ReduceAction608___action(val_t self, val_t param0) {
56030 struct trace_t trace = {NULL, NULL, 21499, LOCATE_parser___ReduceAction608___action};
56031 val_t variable[12];
56032 struct WBT_ **closurevariable = NULL;
56033 trace.prev = tracehead; tracehead = &trace;
56034 trace.file = LOCATE_parser;
56035 /* Register variable[0]: Local variable */
56036 variable[0] = self;
56037 /* Register variable[1]: Local variable */
56038 variable[1] = param0;
56039 /* Register variable[2]: Method return value and escape marker */
56040 /* Register variable[3]: Local variable */
56041 variable[3] = NIT_NULL /*null*/;
56042 /* Register variable[4]: Local variable */
56043 /* Register variable[5]: Result */
56044 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56045 variable[4] = variable[5];
56046 /* Register variable[5]: Local variable */
56047 /* Register variable[6]: Result */
56048 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56049 variable[5] = variable[6];
56050 /* Register variable[6]: Local variable */
56051 /* Register variable[7]: Result */
56052 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56053 variable[6] = variable[7];
56054 /* Register variable[7]: Local variable */
56055 /* Register variable[8]: Result */
56056 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56057 variable[7] = variable[8];
56058 /* Register variable[8]: Local variable */
56059 variable[8] = variable[7] /*nodearraylist1*/;
56060 /* Register variable[9]: Result */
56061 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56062 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction608___action, LOCATE_parser, 21507); nit_exit(1);}
56063 /* Register variable[9]: Local variable */
56064 variable[9] = variable[4] /*nodearraylist4*/;
56065 /* Register variable[10]: Result */
56066 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56067 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction608___action, LOCATE_parser, 21509); nit_exit(1);}
56068 /* Register variable[10]: Local variable */
56069 /* Register variable[11]: Result */
56070 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEeExpr*/;
56071 variable[10] = variable[11];
56072 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56073 /* Register variable[11]: Result */
56074 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56075 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56076 return_label1248: while(false);
56077 tracehead = trace.prev;
56078 return;
56079 }
56080 void parser___ReduceAction608___init(val_t self, int* init_table) {
56081 struct trace_t trace = {NULL, NULL, 21517, LOCATE_parser___ReduceAction608___init};
56082 val_t variable[2];
56083 struct WBT_ **closurevariable = NULL;
56084 trace.prev = tracehead; tracehead = &trace;
56085 trace.file = LOCATE_parser;
56086 /* Register variable[0]: Local variable */
56087 variable[0] = self;
56088 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction608].i]) return;
56089 /* Register variable[1]: Method return value and escape marker */
56090 return_label1249: while(false);
56091 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction608].i] = 1;
56092 tracehead = trace.prev;
56093 return;
56094 }
56095 void parser___ReduceAction609___action(val_t self, val_t param0) {
56096 struct trace_t trace = {NULL, NULL, 21521, LOCATE_parser___ReduceAction609___action};
56097 val_t variable[12];
56098 struct WBT_ **closurevariable = NULL;
56099 trace.prev = tracehead; tracehead = &trace;
56100 trace.file = LOCATE_parser;
56101 /* Register variable[0]: Local variable */
56102 variable[0] = self;
56103 /* Register variable[1]: Local variable */
56104 variable[1] = param0;
56105 /* Register variable[2]: Method return value and escape marker */
56106 /* Register variable[3]: Local variable */
56107 variable[3] = NIT_NULL /*null*/;
56108 /* Register variable[4]: Local variable */
56109 /* Register variable[5]: Result */
56110 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56111 variable[4] = variable[5];
56112 /* Register variable[5]: Local variable */
56113 /* Register variable[6]: Result */
56114 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56115 variable[5] = variable[6];
56116 /* Register variable[6]: Local variable */
56117 /* Register variable[7]: Result */
56118 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56119 variable[6] = variable[7];
56120 /* Register variable[7]: Local variable */
56121 /* Register variable[8]: Result */
56122 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56123 variable[7] = variable[8];
56124 /* Register variable[8]: Local variable */
56125 variable[8] = variable[7] /*nodearraylist1*/;
56126 /* Register variable[9]: Result */
56127 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56128 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 21529); nit_exit(1);}
56129 /* Register variable[9]: Local variable */
56130 variable[9] = variable[4] /*nodearraylist4*/;
56131 /* Register variable[10]: Result */
56132 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56133 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction609___action, LOCATE_parser, 21531); nit_exit(1);}
56134 /* Register variable[10]: Local variable */
56135 /* Register variable[11]: Result */
56136 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ANeExpr*/;
56137 variable[10] = variable[11];
56138 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56139 /* Register variable[11]: Result */
56140 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56141 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56142 return_label1250: while(false);
56143 tracehead = trace.prev;
56144 return;
56145 }
56146 void parser___ReduceAction609___init(val_t self, int* init_table) {
56147 struct trace_t trace = {NULL, NULL, 21539, LOCATE_parser___ReduceAction609___init};
56148 val_t variable[2];
56149 struct WBT_ **closurevariable = NULL;
56150 trace.prev = tracehead; tracehead = &trace;
56151 trace.file = LOCATE_parser;
56152 /* Register variable[0]: Local variable */
56153 variable[0] = self;
56154 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction609].i]) return;
56155 /* Register variable[1]: Method return value and escape marker */
56156 return_label1251: while(false);
56157 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction609].i] = 1;
56158 tracehead = trace.prev;
56159 return;
56160 }
56161 void parser___ReduceAction610___action(val_t self, val_t param0) {
56162 struct trace_t trace = {NULL, NULL, 21543, LOCATE_parser___ReduceAction610___action};
56163 val_t variable[12];
56164 struct WBT_ **closurevariable = NULL;
56165 trace.prev = tracehead; tracehead = &trace;
56166 trace.file = LOCATE_parser;
56167 /* Register variable[0]: Local variable */
56168 variable[0] = self;
56169 /* Register variable[1]: Local variable */
56170 variable[1] = param0;
56171 /* Register variable[2]: Method return value and escape marker */
56172 /* Register variable[3]: Local variable */
56173 variable[3] = NIT_NULL /*null*/;
56174 /* Register variable[4]: Local variable */
56175 /* Register variable[5]: Result */
56176 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56177 variable[4] = variable[5];
56178 /* Register variable[5]: Local variable */
56179 /* Register variable[6]: Result */
56180 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56181 variable[5] = variable[6];
56182 /* Register variable[6]: Local variable */
56183 /* Register variable[7]: Result */
56184 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56185 variable[6] = variable[7];
56186 /* Register variable[7]: Local variable */
56187 /* Register variable[8]: Result */
56188 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56189 variable[7] = variable[8];
56190 /* Register variable[8]: Local variable */
56191 variable[8] = variable[7] /*nodearraylist1*/;
56192 /* Register variable[9]: Result */
56193 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56194 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction610___action, LOCATE_parser, 21551); nit_exit(1);}
56195 /* Register variable[9]: Local variable */
56196 variable[9] = variable[4] /*nodearraylist4*/;
56197 /* Register variable[10]: Result */
56198 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56199 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction610___action, LOCATE_parser, 21553); nit_exit(1);}
56200 /* Register variable[10]: Local variable */
56201 /* Register variable[11]: Result */
56202 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALtExpr*/;
56203 variable[10] = variable[11];
56204 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56205 /* Register variable[11]: Result */
56206 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56207 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56208 return_label1252: while(false);
56209 tracehead = trace.prev;
56210 return;
56211 }
56212 void parser___ReduceAction610___init(val_t self, int* init_table) {
56213 struct trace_t trace = {NULL, NULL, 21561, LOCATE_parser___ReduceAction610___init};
56214 val_t variable[2];
56215 struct WBT_ **closurevariable = NULL;
56216 trace.prev = tracehead; tracehead = &trace;
56217 trace.file = LOCATE_parser;
56218 /* Register variable[0]: Local variable */
56219 variable[0] = self;
56220 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction610].i]) return;
56221 /* Register variable[1]: Method return value and escape marker */
56222 return_label1253: while(false);
56223 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction610].i] = 1;
56224 tracehead = trace.prev;
56225 return;
56226 }
56227 void parser___ReduceAction611___action(val_t self, val_t param0) {
56228 struct trace_t trace = {NULL, NULL, 21565, LOCATE_parser___ReduceAction611___action};
56229 val_t variable[12];
56230 struct WBT_ **closurevariable = NULL;
56231 trace.prev = tracehead; tracehead = &trace;
56232 trace.file = LOCATE_parser;
56233 /* Register variable[0]: Local variable */
56234 variable[0] = self;
56235 /* Register variable[1]: Local variable */
56236 variable[1] = param0;
56237 /* Register variable[2]: Method return value and escape marker */
56238 /* Register variable[3]: Local variable */
56239 variable[3] = NIT_NULL /*null*/;
56240 /* Register variable[4]: Local variable */
56241 /* Register variable[5]: Result */
56242 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56243 variable[4] = variable[5];
56244 /* Register variable[5]: Local variable */
56245 /* Register variable[6]: Result */
56246 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56247 variable[5] = variable[6];
56248 /* Register variable[6]: Local variable */
56249 /* Register variable[7]: Result */
56250 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56251 variable[6] = variable[7];
56252 /* Register variable[7]: Local variable */
56253 /* Register variable[8]: Result */
56254 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56255 variable[7] = variable[8];
56256 /* Register variable[8]: Local variable */
56257 variable[8] = variable[7] /*nodearraylist1*/;
56258 /* Register variable[9]: Result */
56259 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56260 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction611___action, LOCATE_parser, 21573); nit_exit(1);}
56261 /* Register variable[9]: Local variable */
56262 variable[9] = variable[4] /*nodearraylist4*/;
56263 /* Register variable[10]: Result */
56264 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56265 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction611___action, LOCATE_parser, 21575); nit_exit(1);}
56266 /* Register variable[10]: Local variable */
56267 /* Register variable[11]: Result */
56268 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALeExpr*/;
56269 variable[10] = variable[11];
56270 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56271 /* Register variable[11]: Result */
56272 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56273 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56274 return_label1254: while(false);
56275 tracehead = trace.prev;
56276 return;
56277 }
56278 void parser___ReduceAction611___init(val_t self, int* init_table) {
56279 struct trace_t trace = {NULL, NULL, 21583, LOCATE_parser___ReduceAction611___init};
56280 val_t variable[2];
56281 struct WBT_ **closurevariable = NULL;
56282 trace.prev = tracehead; tracehead = &trace;
56283 trace.file = LOCATE_parser;
56284 /* Register variable[0]: Local variable */
56285 variable[0] = self;
56286 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction611].i]) return;
56287 /* Register variable[1]: Method return value and escape marker */
56288 return_label1255: while(false);
56289 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction611].i] = 1;
56290 tracehead = trace.prev;
56291 return;
56292 }
56293 void parser___ReduceAction612___action(val_t self, val_t param0) {
56294 struct trace_t trace = {NULL, NULL, 21587, LOCATE_parser___ReduceAction612___action};
56295 val_t variable[12];
56296 struct WBT_ **closurevariable = NULL;
56297 trace.prev = tracehead; tracehead = &trace;
56298 trace.file = LOCATE_parser;
56299 /* Register variable[0]: Local variable */
56300 variable[0] = self;
56301 /* Register variable[1]: Local variable */
56302 variable[1] = param0;
56303 /* Register variable[2]: Method return value and escape marker */
56304 /* Register variable[3]: Local variable */
56305 variable[3] = NIT_NULL /*null*/;
56306 /* Register variable[4]: Local variable */
56307 /* Register variable[5]: Result */
56308 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56309 variable[4] = variable[5];
56310 /* Register variable[5]: Local variable */
56311 /* Register variable[6]: Result */
56312 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56313 variable[5] = variable[6];
56314 /* Register variable[6]: Local variable */
56315 /* Register variable[7]: Result */
56316 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56317 variable[6] = variable[7];
56318 /* Register variable[7]: Local variable */
56319 /* Register variable[8]: Result */
56320 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56321 variable[7] = variable[8];
56322 /* Register variable[8]: Local variable */
56323 variable[8] = variable[7] /*nodearraylist1*/;
56324 /* Register variable[9]: Result */
56325 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56326 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 21595); nit_exit(1);}
56327 /* Register variable[9]: Local variable */
56328 variable[9] = variable[4] /*nodearraylist4*/;
56329 /* Register variable[10]: Result */
56330 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56331 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction612___action, LOCATE_parser, 21597); nit_exit(1);}
56332 /* Register variable[10]: Local variable */
56333 /* Register variable[11]: Result */
56334 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGtExpr*/;
56335 variable[10] = variable[11];
56336 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56337 /* Register variable[11]: Result */
56338 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56339 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56340 return_label1256: while(false);
56341 tracehead = trace.prev;
56342 return;
56343 }
56344 void parser___ReduceAction612___init(val_t self, int* init_table) {
56345 struct trace_t trace = {NULL, NULL, 21605, LOCATE_parser___ReduceAction612___init};
56346 val_t variable[2];
56347 struct WBT_ **closurevariable = NULL;
56348 trace.prev = tracehead; tracehead = &trace;
56349 trace.file = LOCATE_parser;
56350 /* Register variable[0]: Local variable */
56351 variable[0] = self;
56352 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction612].i]) return;
56353 /* Register variable[1]: Method return value and escape marker */
56354 return_label1257: while(false);
56355 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction612].i] = 1;
56356 tracehead = trace.prev;
56357 return;
56358 }
56359 void parser___ReduceAction613___action(val_t self, val_t param0) {
56360 struct trace_t trace = {NULL, NULL, 21609, LOCATE_parser___ReduceAction613___action};
56361 val_t variable[12];
56362 struct WBT_ **closurevariable = NULL;
56363 trace.prev = tracehead; tracehead = &trace;
56364 trace.file = LOCATE_parser;
56365 /* Register variable[0]: Local variable */
56366 variable[0] = self;
56367 /* Register variable[1]: Local variable */
56368 variable[1] = param0;
56369 /* Register variable[2]: Method return value and escape marker */
56370 /* Register variable[3]: Local variable */
56371 variable[3] = NIT_NULL /*null*/;
56372 /* Register variable[4]: Local variable */
56373 /* Register variable[5]: Result */
56374 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56375 variable[4] = variable[5];
56376 /* Register variable[5]: Local variable */
56377 /* Register variable[6]: Result */
56378 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56379 variable[5] = variable[6];
56380 /* Register variable[6]: Local variable */
56381 /* Register variable[7]: Result */
56382 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56383 variable[6] = variable[7];
56384 /* Register variable[7]: Local variable */
56385 /* Register variable[8]: Result */
56386 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56387 variable[7] = variable[8];
56388 /* Register variable[8]: Local variable */
56389 variable[8] = variable[7] /*nodearraylist1*/;
56390 /* Register variable[9]: Result */
56391 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56392 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 21617); nit_exit(1);}
56393 /* Register variable[9]: Local variable */
56394 variable[9] = variable[4] /*nodearraylist4*/;
56395 /* Register variable[10]: Result */
56396 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56397 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction613___action, LOCATE_parser, 21619); nit_exit(1);}
56398 /* Register variable[10]: Local variable */
56399 /* Register variable[11]: Result */
56400 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGeExpr*/;
56401 variable[10] = variable[11];
56402 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56403 /* Register variable[11]: Result */
56404 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56405 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56406 return_label1258: while(false);
56407 tracehead = trace.prev;
56408 return;
56409 }
56410 void parser___ReduceAction613___init(val_t self, int* init_table) {
56411 struct trace_t trace = {NULL, NULL, 21627, LOCATE_parser___ReduceAction613___init};
56412 val_t variable[2];
56413 struct WBT_ **closurevariable = NULL;
56414 trace.prev = tracehead; tracehead = &trace;
56415 trace.file = LOCATE_parser;
56416 /* Register variable[0]: Local variable */
56417 variable[0] = self;
56418 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction613].i]) return;
56419 /* Register variable[1]: Method return value and escape marker */
56420 return_label1259: while(false);
56421 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction613].i] = 1;
56422 tracehead = trace.prev;
56423 return;
56424 }
56425 void parser___ReduceAction614___action(val_t self, val_t param0) {
56426 struct trace_t trace = {NULL, NULL, 21631, LOCATE_parser___ReduceAction614___action};
56427 val_t variable[12];
56428 struct WBT_ **closurevariable = NULL;
56429 trace.prev = tracehead; tracehead = &trace;
56430 trace.file = LOCATE_parser;
56431 /* Register variable[0]: Local variable */
56432 variable[0] = self;
56433 /* Register variable[1]: Local variable */
56434 variable[1] = param0;
56435 /* Register variable[2]: Method return value and escape marker */
56436 /* Register variable[3]: Local variable */
56437 variable[3] = NIT_NULL /*null*/;
56438 /* Register variable[4]: Local variable */
56439 /* Register variable[5]: Result */
56440 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56441 variable[4] = variable[5];
56442 /* Register variable[5]: Local variable */
56443 /* Register variable[6]: Result */
56444 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56445 variable[5] = variable[6];
56446 /* Register variable[6]: Local variable */
56447 /* Register variable[7]: Result */
56448 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56449 variable[6] = variable[7];
56450 /* Register variable[7]: Local variable */
56451 /* Register variable[8]: Result */
56452 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56453 variable[7] = variable[8];
56454 /* Register variable[8]: Local variable */
56455 variable[8] = variable[7] /*nodearraylist1*/;
56456 /* Register variable[9]: Result */
56457 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56458 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction614___action, LOCATE_parser, 21639); nit_exit(1);}
56459 /* Register variable[9]: Local variable */
56460 variable[9] = variable[4] /*nodearraylist4*/;
56461 /* Register variable[10]: Result */
56462 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56463 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction614___action, LOCATE_parser, 21641); nit_exit(1);}
56464 /* Register variable[10]: Local variable */
56465 /* Register variable[11]: Result */
56466 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarshipExpr*/;
56467 variable[10] = variable[11];
56468 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56469 /* Register variable[11]: Result */
56470 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56471 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56472 return_label1260: while(false);
56473 tracehead = trace.prev;
56474 return;
56475 }
56476 void parser___ReduceAction614___init(val_t self, int* init_table) {
56477 struct trace_t trace = {NULL, NULL, 21649, LOCATE_parser___ReduceAction614___init};
56478 val_t variable[2];
56479 struct WBT_ **closurevariable = NULL;
56480 trace.prev = tracehead; tracehead = &trace;
56481 trace.file = LOCATE_parser;
56482 /* Register variable[0]: Local variable */
56483 variable[0] = self;
56484 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction614].i]) return;
56485 /* Register variable[1]: Method return value and escape marker */
56486 return_label1261: while(false);
56487 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction614].i] = 1;
56488 tracehead = trace.prev;
56489 return;
56490 }
56491 void parser___ReduceAction615___action(val_t self, val_t param0) {
56492 struct trace_t trace = {NULL, NULL, 21653, LOCATE_parser___ReduceAction615___action};
56493 val_t variable[12];
56494 struct WBT_ **closurevariable = NULL;
56495 trace.prev = tracehead; tracehead = &trace;
56496 trace.file = LOCATE_parser;
56497 /* Register variable[0]: Local variable */
56498 variable[0] = self;
56499 /* Register variable[1]: Local variable */
56500 variable[1] = param0;
56501 /* Register variable[2]: Method return value and escape marker */
56502 /* Register variable[3]: Local variable */
56503 variable[3] = NIT_NULL /*null*/;
56504 /* Register variable[4]: Local variable */
56505 /* Register variable[5]: Result */
56506 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56507 variable[4] = variable[5];
56508 /* Register variable[5]: Local variable */
56509 /* Register variable[6]: Result */
56510 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56511 variable[5] = variable[6];
56512 /* Register variable[6]: Local variable */
56513 /* Register variable[7]: Result */
56514 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56515 variable[6] = variable[7];
56516 /* Register variable[7]: Local variable */
56517 /* Register variable[8]: Result */
56518 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56519 variable[7] = variable[8];
56520 /* Register variable[8]: Local variable */
56521 variable[8] = variable[7] /*nodearraylist1*/;
56522 /* Register variable[9]: Result */
56523 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56524 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 21661); nit_exit(1);}
56525 /* Register variable[9]: Local variable */
56526 variable[9] = variable[4] /*nodearraylist4*/;
56527 /* Register variable[10]: Result */
56528 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
56529 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction615___action, LOCATE_parser, 21663); nit_exit(1);}
56530 /* Register variable[10]: Local variable */
56531 /* Register variable[11]: Result */
56532 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/) /*new AIsaExpr*/;
56533 variable[10] = variable[11];
56534 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56535 /* Register variable[11]: Result */
56536 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(100)) /*Parser::go_to*/;
56537 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56538 return_label1262: while(false);
56539 tracehead = trace.prev;
56540 return;
56541 }
56542 void parser___ReduceAction615___init(val_t self, int* init_table) {
56543 struct trace_t trace = {NULL, NULL, 21671, LOCATE_parser___ReduceAction615___init};
56544 val_t variable[2];
56545 struct WBT_ **closurevariable = NULL;
56546 trace.prev = tracehead; tracehead = &trace;
56547 trace.file = LOCATE_parser;
56548 /* Register variable[0]: Local variable */
56549 variable[0] = self;
56550 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction615].i]) return;
56551 /* Register variable[1]: Method return value and escape marker */
56552 return_label1263: while(false);
56553 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction615].i] = 1;
56554 tracehead = trace.prev;
56555 return;
56556 }
56557 void parser___ReduceAction616___action(val_t self, val_t param0) {
56558 struct trace_t trace = {NULL, NULL, 21675, LOCATE_parser___ReduceAction616___action};
56559 val_t variable[7];
56560 struct WBT_ **closurevariable = NULL;
56561 trace.prev = tracehead; tracehead = &trace;
56562 trace.file = LOCATE_parser;
56563 /* Register variable[0]: Local variable */
56564 variable[0] = self;
56565 /* Register variable[1]: Local variable */
56566 variable[1] = param0;
56567 /* Register variable[2]: Method return value and escape marker */
56568 /* Register variable[3]: Local variable */
56569 variable[3] = NIT_NULL /*null*/;
56570 /* Register variable[4]: Local variable */
56571 /* Register variable[5]: Result */
56572 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56573 variable[4] = variable[5];
56574 /* Register variable[5]: Local variable */
56575 variable[5] = variable[4] /*nodearraylist1*/;
56576 /* Register variable[6]: Result */
56577 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56578 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction616___action, LOCATE_parser, 21680); nit_exit(1);}
56579 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
56580 /* Register variable[6]: Result */
56581 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
56582 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
56583 return_label1264: while(false);
56584 tracehead = trace.prev;
56585 return;
56586 }
56587 void parser___ReduceAction616___init(val_t self, int* init_table) {
56588 struct trace_t trace = {NULL, NULL, 21684, LOCATE_parser___ReduceAction616___init};
56589 val_t variable[2];
56590 struct WBT_ **closurevariable = NULL;
56591 trace.prev = tracehead; tracehead = &trace;
56592 trace.file = LOCATE_parser;
56593 /* Register variable[0]: Local variable */
56594 variable[0] = self;
56595 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction616].i]) return;
56596 /* Register variable[1]: Method return value and escape marker */
56597 return_label1265: while(false);
56598 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction616].i] = 1;
56599 tracehead = trace.prev;
56600 return;
56601 }
56602 void parser___ReduceAction617___action(val_t self, val_t param0) {
56603 struct trace_t trace = {NULL, NULL, 21688, LOCATE_parser___ReduceAction617___action};
56604 val_t variable[12];
56605 struct WBT_ **closurevariable = NULL;
56606 trace.prev = tracehead; tracehead = &trace;
56607 trace.file = LOCATE_parser;
56608 /* Register variable[0]: Local variable */
56609 variable[0] = self;
56610 /* Register variable[1]: Local variable */
56611 variable[1] = param0;
56612 /* Register variable[2]: Method return value and escape marker */
56613 /* Register variable[3]: Local variable */
56614 variable[3] = NIT_NULL /*null*/;
56615 /* Register variable[4]: Local variable */
56616 /* Register variable[5]: Result */
56617 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56618 variable[4] = variable[5];
56619 /* Register variable[5]: Local variable */
56620 /* Register variable[6]: Result */
56621 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56622 variable[5] = variable[6];
56623 /* Register variable[6]: Local variable */
56624 /* Register variable[7]: Result */
56625 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56626 variable[6] = variable[7];
56627 /* Register variable[7]: Local variable */
56628 /* Register variable[8]: Result */
56629 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56630 variable[7] = variable[8];
56631 /* Register variable[8]: Local variable */
56632 variable[8] = variable[7] /*nodearraylist1*/;
56633 /* Register variable[9]: Result */
56634 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56635 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction617___action, LOCATE_parser, 21696); nit_exit(1);}
56636 /* Register variable[9]: Local variable */
56637 variable[9] = variable[4] /*nodearraylist4*/;
56638 /* Register variable[10]: Result */
56639 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56640 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction617___action, LOCATE_parser, 21698); nit_exit(1);}
56641 /* Register variable[10]: Local variable */
56642 /* Register variable[11]: Result */
56643 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APlusExpr*/;
56644 variable[10] = variable[11];
56645 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56646 /* Register variable[11]: Result */
56647 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
56648 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56649 return_label1266: while(false);
56650 tracehead = trace.prev;
56651 return;
56652 }
56653 void parser___ReduceAction617___init(val_t self, int* init_table) {
56654 struct trace_t trace = {NULL, NULL, 21706, LOCATE_parser___ReduceAction617___init};
56655 val_t variable[2];
56656 struct WBT_ **closurevariable = NULL;
56657 trace.prev = tracehead; tracehead = &trace;
56658 trace.file = LOCATE_parser;
56659 /* Register variable[0]: Local variable */
56660 variable[0] = self;
56661 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction617].i]) return;
56662 /* Register variable[1]: Method return value and escape marker */
56663 return_label1267: while(false);
56664 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction617].i] = 1;
56665 tracehead = trace.prev;
56666 return;
56667 }
56668 void parser___ReduceAction618___action(val_t self, val_t param0) {
56669 struct trace_t trace = {NULL, NULL, 21710, LOCATE_parser___ReduceAction618___action};
56670 val_t variable[12];
56671 struct WBT_ **closurevariable = NULL;
56672 trace.prev = tracehead; tracehead = &trace;
56673 trace.file = LOCATE_parser;
56674 /* Register variable[0]: Local variable */
56675 variable[0] = self;
56676 /* Register variable[1]: Local variable */
56677 variable[1] = param0;
56678 /* Register variable[2]: Method return value and escape marker */
56679 /* Register variable[3]: Local variable */
56680 variable[3] = NIT_NULL /*null*/;
56681 /* Register variable[4]: Local variable */
56682 /* Register variable[5]: Result */
56683 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56684 variable[4] = variable[5];
56685 /* Register variable[5]: Local variable */
56686 /* Register variable[6]: Result */
56687 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56688 variable[5] = variable[6];
56689 /* Register variable[6]: Local variable */
56690 /* Register variable[7]: Result */
56691 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56692 variable[6] = variable[7];
56693 /* Register variable[7]: Local variable */
56694 /* Register variable[8]: Result */
56695 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56696 variable[7] = variable[8];
56697 /* Register variable[8]: Local variable */
56698 variable[8] = variable[7] /*nodearraylist1*/;
56699 /* Register variable[9]: Result */
56700 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56701 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction618___action, LOCATE_parser, 21718); nit_exit(1);}
56702 /* Register variable[9]: Local variable */
56703 variable[9] = variable[4] /*nodearraylist4*/;
56704 /* Register variable[10]: Result */
56705 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56706 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction618___action, LOCATE_parser, 21720); nit_exit(1);}
56707 /* Register variable[10]: Local variable */
56708 /* Register variable[11]: Result */
56709 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AMinusExpr*/;
56710 variable[10] = variable[11];
56711 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56712 /* Register variable[11]: Result */
56713 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(101)) /*Parser::go_to*/;
56714 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56715 return_label1268: while(false);
56716 tracehead = trace.prev;
56717 return;
56718 }
56719 void parser___ReduceAction618___init(val_t self, int* init_table) {
56720 struct trace_t trace = {NULL, NULL, 21728, LOCATE_parser___ReduceAction618___init};
56721 val_t variable[2];
56722 struct WBT_ **closurevariable = NULL;
56723 trace.prev = tracehead; tracehead = &trace;
56724 trace.file = LOCATE_parser;
56725 /* Register variable[0]: Local variable */
56726 variable[0] = self;
56727 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction618].i]) return;
56728 /* Register variable[1]: Method return value and escape marker */
56729 return_label1269: while(false);
56730 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction618].i] = 1;
56731 tracehead = trace.prev;
56732 return;
56733 }
56734 void parser___ReduceAction619___action(val_t self, val_t param0) {
56735 struct trace_t trace = {NULL, NULL, 21732, LOCATE_parser___ReduceAction619___action};
56736 val_t variable[7];
56737 struct WBT_ **closurevariable = NULL;
56738 trace.prev = tracehead; tracehead = &trace;
56739 trace.file = LOCATE_parser;
56740 /* Register variable[0]: Local variable */
56741 variable[0] = self;
56742 /* Register variable[1]: Local variable */
56743 variable[1] = param0;
56744 /* Register variable[2]: Method return value and escape marker */
56745 /* Register variable[3]: Local variable */
56746 variable[3] = NIT_NULL /*null*/;
56747 /* Register variable[4]: Local variable */
56748 /* Register variable[5]: Result */
56749 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56750 variable[4] = variable[5];
56751 /* Register variable[5]: Local variable */
56752 variable[5] = variable[4] /*nodearraylist1*/;
56753 /* Register variable[6]: Result */
56754 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56755 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction619___action, LOCATE_parser, 21737); nit_exit(1);}
56756 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
56757 /* Register variable[6]: Result */
56758 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
56759 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
56760 return_label1270: while(false);
56761 tracehead = trace.prev;
56762 return;
56763 }
56764 void parser___ReduceAction619___init(val_t self, int* init_table) {
56765 struct trace_t trace = {NULL, NULL, 21741, LOCATE_parser___ReduceAction619___init};
56766 val_t variable[2];
56767 struct WBT_ **closurevariable = NULL;
56768 trace.prev = tracehead; tracehead = &trace;
56769 trace.file = LOCATE_parser;
56770 /* Register variable[0]: Local variable */
56771 variable[0] = self;
56772 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction619].i]) return;
56773 /* Register variable[1]: Method return value and escape marker */
56774 return_label1271: while(false);
56775 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction619].i] = 1;
56776 tracehead = trace.prev;
56777 return;
56778 }
56779 void parser___ReduceAction620___action(val_t self, val_t param0) {
56780 struct trace_t trace = {NULL, NULL, 21745, LOCATE_parser___ReduceAction620___action};
56781 val_t variable[12];
56782 struct WBT_ **closurevariable = NULL;
56783 trace.prev = tracehead; tracehead = &trace;
56784 trace.file = LOCATE_parser;
56785 /* Register variable[0]: Local variable */
56786 variable[0] = self;
56787 /* Register variable[1]: Local variable */
56788 variable[1] = param0;
56789 /* Register variable[2]: Method return value and escape marker */
56790 /* Register variable[3]: Local variable */
56791 variable[3] = NIT_NULL /*null*/;
56792 /* Register variable[4]: Local variable */
56793 /* Register variable[5]: Result */
56794 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56795 variable[4] = variable[5];
56796 /* Register variable[5]: Local variable */
56797 /* Register variable[6]: Result */
56798 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56799 variable[5] = variable[6];
56800 /* Register variable[6]: Local variable */
56801 /* Register variable[7]: Result */
56802 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56803 variable[6] = variable[7];
56804 /* Register variable[7]: Local variable */
56805 /* Register variable[8]: Result */
56806 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56807 variable[7] = variable[8];
56808 /* Register variable[8]: Local variable */
56809 variable[8] = variable[7] /*nodearraylist1*/;
56810 /* Register variable[9]: Result */
56811 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56812 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 21753); nit_exit(1);}
56813 /* Register variable[9]: Local variable */
56814 variable[9] = variable[4] /*nodearraylist4*/;
56815 /* Register variable[10]: Result */
56816 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56817 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction620___action, LOCATE_parser, 21755); nit_exit(1);}
56818 /* Register variable[10]: Local variable */
56819 /* Register variable[11]: Result */
56820 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarExpr*/;
56821 variable[10] = variable[11];
56822 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56823 /* Register variable[11]: Result */
56824 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
56825 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56826 return_label1272: while(false);
56827 tracehead = trace.prev;
56828 return;
56829 }
56830 void parser___ReduceAction620___init(val_t self, int* init_table) {
56831 struct trace_t trace = {NULL, NULL, 21763, LOCATE_parser___ReduceAction620___init};
56832 val_t variable[2];
56833 struct WBT_ **closurevariable = NULL;
56834 trace.prev = tracehead; tracehead = &trace;
56835 trace.file = LOCATE_parser;
56836 /* Register variable[0]: Local variable */
56837 variable[0] = self;
56838 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction620].i]) return;
56839 /* Register variable[1]: Method return value and escape marker */
56840 return_label1273: while(false);
56841 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction620].i] = 1;
56842 tracehead = trace.prev;
56843 return;
56844 }
56845 void parser___ReduceAction621___action(val_t self, val_t param0) {
56846 struct trace_t trace = {NULL, NULL, 21767, LOCATE_parser___ReduceAction621___action};
56847 val_t variable[12];
56848 struct WBT_ **closurevariable = NULL;
56849 trace.prev = tracehead; tracehead = &trace;
56850 trace.file = LOCATE_parser;
56851 /* Register variable[0]: Local variable */
56852 variable[0] = self;
56853 /* Register variable[1]: Local variable */
56854 variable[1] = param0;
56855 /* Register variable[2]: Method return value and escape marker */
56856 /* Register variable[3]: Local variable */
56857 variable[3] = NIT_NULL /*null*/;
56858 /* Register variable[4]: Local variable */
56859 /* Register variable[5]: Result */
56860 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56861 variable[4] = variable[5];
56862 /* Register variable[5]: Local variable */
56863 /* Register variable[6]: Result */
56864 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56865 variable[5] = variable[6];
56866 /* Register variable[6]: Local variable */
56867 /* Register variable[7]: Result */
56868 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56869 variable[6] = variable[7];
56870 /* Register variable[7]: Local variable */
56871 /* Register variable[8]: Result */
56872 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56873 variable[7] = variable[8];
56874 /* Register variable[8]: Local variable */
56875 variable[8] = variable[7] /*nodearraylist1*/;
56876 /* Register variable[9]: Result */
56877 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56878 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction621___action, LOCATE_parser, 21775); nit_exit(1);}
56879 /* Register variable[9]: Local variable */
56880 variable[9] = variable[4] /*nodearraylist4*/;
56881 /* Register variable[10]: Result */
56882 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56883 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction621___action, LOCATE_parser, 21777); nit_exit(1);}
56884 /* Register variable[10]: Local variable */
56885 /* Register variable[11]: Result */
56886 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ASlashExpr*/;
56887 variable[10] = variable[11];
56888 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56889 /* Register variable[11]: Result */
56890 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
56891 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56892 return_label1274: while(false);
56893 tracehead = trace.prev;
56894 return;
56895 }
56896 void parser___ReduceAction621___init(val_t self, int* init_table) {
56897 struct trace_t trace = {NULL, NULL, 21785, LOCATE_parser___ReduceAction621___init};
56898 val_t variable[2];
56899 struct WBT_ **closurevariable = NULL;
56900 trace.prev = tracehead; tracehead = &trace;
56901 trace.file = LOCATE_parser;
56902 /* Register variable[0]: Local variable */
56903 variable[0] = self;
56904 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction621].i]) return;
56905 /* Register variable[1]: Method return value and escape marker */
56906 return_label1275: while(false);
56907 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction621].i] = 1;
56908 tracehead = trace.prev;
56909 return;
56910 }
56911 void parser___ReduceAction622___action(val_t self, val_t param0) {
56912 struct trace_t trace = {NULL, NULL, 21789, LOCATE_parser___ReduceAction622___action};
56913 val_t variable[12];
56914 struct WBT_ **closurevariable = NULL;
56915 trace.prev = tracehead; tracehead = &trace;
56916 trace.file = LOCATE_parser;
56917 /* Register variable[0]: Local variable */
56918 variable[0] = self;
56919 /* Register variable[1]: Local variable */
56920 variable[1] = param0;
56921 /* Register variable[2]: Method return value and escape marker */
56922 /* Register variable[3]: Local variable */
56923 variable[3] = NIT_NULL /*null*/;
56924 /* Register variable[4]: Local variable */
56925 /* Register variable[5]: Result */
56926 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56927 variable[4] = variable[5];
56928 /* Register variable[5]: Local variable */
56929 /* Register variable[6]: Result */
56930 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56931 variable[5] = variable[6];
56932 /* Register variable[6]: Local variable */
56933 /* Register variable[7]: Result */
56934 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56935 variable[6] = variable[7];
56936 /* Register variable[7]: Local variable */
56937 /* Register variable[8]: Result */
56938 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56939 variable[7] = variable[8];
56940 /* Register variable[8]: Local variable */
56941 variable[8] = variable[7] /*nodearraylist1*/;
56942 /* Register variable[9]: Result */
56943 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56944 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 21797); nit_exit(1);}
56945 /* Register variable[9]: Local variable */
56946 variable[9] = variable[4] /*nodearraylist4*/;
56947 /* Register variable[10]: Result */
56948 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56949 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction622___action, LOCATE_parser, 21799); nit_exit(1);}
56950 /* Register variable[10]: Local variable */
56951 /* Register variable[11]: Result */
56952 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APercentExpr*/;
56953 variable[10] = variable[11];
56954 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
56955 /* Register variable[11]: Result */
56956 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(102)) /*Parser::go_to*/;
56957 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
56958 return_label1276: while(false);
56959 tracehead = trace.prev;
56960 return;
56961 }
56962 void parser___ReduceAction622___init(val_t self, int* init_table) {
56963 struct trace_t trace = {NULL, NULL, 21807, LOCATE_parser___ReduceAction622___init};
56964 val_t variable[2];
56965 struct WBT_ **closurevariable = NULL;
56966 trace.prev = tracehead; tracehead = &trace;
56967 trace.file = LOCATE_parser;
56968 /* Register variable[0]: Local variable */
56969 variable[0] = self;
56970 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction622].i]) return;
56971 /* Register variable[1]: Method return value and escape marker */
56972 return_label1277: while(false);
56973 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction622].i] = 1;
56974 tracehead = trace.prev;
56975 return;
56976 }
56977 void parser___ReduceAction623___action(val_t self, val_t param0) {
56978 struct trace_t trace = {NULL, NULL, 21811, LOCATE_parser___ReduceAction623___action};
56979 val_t variable[7];
56980 struct WBT_ **closurevariable = NULL;
56981 trace.prev = tracehead; tracehead = &trace;
56982 trace.file = LOCATE_parser;
56983 /* Register variable[0]: Local variable */
56984 variable[0] = self;
56985 /* Register variable[1]: Local variable */
56986 variable[1] = param0;
56987 /* Register variable[2]: Method return value and escape marker */
56988 /* Register variable[3]: Local variable */
56989 variable[3] = NIT_NULL /*null*/;
56990 /* Register variable[4]: Local variable */
56991 /* Register variable[5]: Result */
56992 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
56993 variable[4] = variable[5];
56994 /* Register variable[5]: Local variable */
56995 variable[5] = variable[4] /*nodearraylist1*/;
56996 /* Register variable[6]: Result */
56997 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
56998 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction623___action, LOCATE_parser, 21816); nit_exit(1);}
56999 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
57000 /* Register variable[6]: Result */
57001 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
57002 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
57003 return_label1278: while(false);
57004 tracehead = trace.prev;
57005 return;
57006 }
57007 void parser___ReduceAction623___init(val_t self, int* init_table) {
57008 struct trace_t trace = {NULL, NULL, 21820, LOCATE_parser___ReduceAction623___init};
57009 val_t variable[2];
57010 struct WBT_ **closurevariable = NULL;
57011 trace.prev = tracehead; tracehead = &trace;
57012 trace.file = LOCATE_parser;
57013 /* Register variable[0]: Local variable */
57014 variable[0] = self;
57015 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction623].i]) return;
57016 /* Register variable[1]: Method return value and escape marker */
57017 return_label1279: while(false);
57018 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction623].i] = 1;
57019 tracehead = trace.prev;
57020 return;
57021 }
57022 void parser___ReduceAction624___action(val_t self, val_t param0) {
57023 struct trace_t trace = {NULL, NULL, 21824, LOCATE_parser___ReduceAction624___action};
57024 val_t variable[11];
57025 struct WBT_ **closurevariable = NULL;
57026 trace.prev = tracehead; tracehead = &trace;
57027 trace.file = LOCATE_parser;
57028 /* Register variable[0]: Local variable */
57029 variable[0] = self;
57030 /* Register variable[1]: Local variable */
57031 variable[1] = param0;
57032 /* Register variable[2]: Method return value and escape marker */
57033 /* Register variable[3]: Local variable */
57034 variable[3] = NIT_NULL /*null*/;
57035 /* Register variable[4]: Local variable */
57036 /* Register variable[5]: Result */
57037 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57038 variable[4] = variable[5];
57039 /* Register variable[5]: Local variable */
57040 /* Register variable[6]: Result */
57041 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57042 variable[5] = variable[6];
57043 /* Register variable[6]: Local variable */
57044 /* Register variable[7]: Result */
57045 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57046 variable[6] = variable[7];
57047 /* Register variable[7]: Local variable */
57048 variable[7] = variable[6] /*nodearraylist1*/;
57049 /* Register variable[8]: Result */
57050 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
57051 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction624___action, LOCATE_parser, 21831); nit_exit(1);}
57052 /* Register variable[8]: Local variable */
57053 variable[8] = variable[4] /*nodearraylist3*/;
57054 /* Register variable[9]: Result */
57055 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57056 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction624___action, LOCATE_parser, 21833); nit_exit(1);}
57057 /* Register variable[9]: Local variable */
57058 /* Register variable[10]: Result */
57059 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/) /*new AUminusExpr*/;
57060 variable[9] = variable[10];
57061 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
57062 /* Register variable[10]: Result */
57063 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
57064 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
57065 return_label1280: while(false);
57066 tracehead = trace.prev;
57067 return;
57068 }
57069 void parser___ReduceAction624___init(val_t self, int* init_table) {
57070 struct trace_t trace = {NULL, NULL, 21841, LOCATE_parser___ReduceAction624___init};
57071 val_t variable[2];
57072 struct WBT_ **closurevariable = NULL;
57073 trace.prev = tracehead; tracehead = &trace;
57074 trace.file = LOCATE_parser;
57075 /* Register variable[0]: Local variable */
57076 variable[0] = self;
57077 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction624].i]) return;
57078 /* Register variable[1]: Method return value and escape marker */
57079 return_label1281: while(false);
57080 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction624].i] = 1;
57081 tracehead = trace.prev;
57082 return;
57083 }
57084 void parser___ReduceAction625___action(val_t self, val_t param0) {
57085 struct trace_t trace = {NULL, NULL, 21845, LOCATE_parser___ReduceAction625___action};
57086 val_t variable[11];
57087 struct WBT_ **closurevariable = NULL;
57088 trace.prev = tracehead; tracehead = &trace;
57089 trace.file = LOCATE_parser;
57090 /* Register variable[0]: Local variable */
57091 variable[0] = self;
57092 /* Register variable[1]: Local variable */
57093 variable[1] = param0;
57094 /* Register variable[2]: Method return value and escape marker */
57095 /* Register variable[3]: Local variable */
57096 variable[3] = NIT_NULL /*null*/;
57097 /* Register variable[4]: Local variable */
57098 /* Register variable[5]: Result */
57099 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57100 variable[4] = variable[5];
57101 /* Register variable[5]: Local variable */
57102 /* Register variable[6]: Result */
57103 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57104 variable[5] = variable[6];
57105 /* Register variable[6]: Local variable */
57106 /* Register variable[7]: Result */
57107 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57108 variable[6] = variable[7];
57109 /* Register variable[7]: Local variable */
57110 variable[7] = variable[6] /*nodearraylist1*/;
57111 /* Register variable[8]: Result */
57112 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
57113 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction625___action, LOCATE_parser, 21852); nit_exit(1);}
57114 /* Register variable[8]: Local variable */
57115 variable[8] = variable[4] /*nodearraylist3*/;
57116 /* Register variable[9]: Result */
57117 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57118 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction625___action, LOCATE_parser, 21854); nit_exit(1);}
57119 /* Register variable[9]: Local variable */
57120 /* Register variable[10]: Result */
57121 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/) /*new AOnceExpr*/;
57122 variable[9] = variable[10];
57123 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
57124 /* Register variable[10]: Result */
57125 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(103)) /*Parser::go_to*/;
57126 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
57127 return_label1282: while(false);
57128 tracehead = trace.prev;
57129 return;
57130 }
57131 void parser___ReduceAction625___init(val_t self, int* init_table) {
57132 struct trace_t trace = {NULL, NULL, 21862, LOCATE_parser___ReduceAction625___init};
57133 val_t variable[2];
57134 struct WBT_ **closurevariable = NULL;
57135 trace.prev = tracehead; tracehead = &trace;
57136 trace.file = LOCATE_parser;
57137 /* Register variable[0]: Local variable */
57138 variable[0] = self;
57139 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction625].i]) return;
57140 /* Register variable[1]: Method return value and escape marker */
57141 return_label1283: while(false);
57142 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction625].i] = 1;
57143 tracehead = trace.prev;
57144 return;
57145 }
57146 void parser___ReduceAction626___action(val_t self, val_t param0) {
57147 struct trace_t trace = {NULL, NULL, 21866, LOCATE_parser___ReduceAction626___action};
57148 val_t variable[7];
57149 struct WBT_ **closurevariable = NULL;
57150 trace.prev = tracehead; tracehead = &trace;
57151 trace.file = LOCATE_parser;
57152 /* Register variable[0]: Local variable */
57153 variable[0] = self;
57154 /* Register variable[1]: Local variable */
57155 variable[1] = param0;
57156 /* Register variable[2]: Method return value and escape marker */
57157 /* Register variable[3]: Local variable */
57158 variable[3] = NIT_NULL /*null*/;
57159 /* Register variable[4]: Local variable */
57160 /* Register variable[5]: Result */
57161 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57162 variable[4] = variable[5];
57163 /* Register variable[5]: Local variable */
57164 variable[5] = variable[4] /*nodearraylist1*/;
57165 /* Register variable[6]: Result */
57166 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57167 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction626___action, LOCATE_parser, 21871); nit_exit(1);}
57168 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
57169 /* Register variable[6]: Result */
57170 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
57171 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
57172 return_label1284: while(false);
57173 tracehead = trace.prev;
57174 return;
57175 }
57176 void parser___ReduceAction626___init(val_t self, int* init_table) {
57177 struct trace_t trace = {NULL, NULL, 21875, LOCATE_parser___ReduceAction626___init};
57178 val_t variable[2];
57179 struct WBT_ **closurevariable = NULL;
57180 trace.prev = tracehead; tracehead = &trace;
57181 trace.file = LOCATE_parser;
57182 /* Register variable[0]: Local variable */
57183 variable[0] = self;
57184 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction626].i]) return;
57185 /* Register variable[1]: Method return value and escape marker */
57186 return_label1285: while(false);
57187 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction626].i] = 1;
57188 tracehead = trace.prev;
57189 return;
57190 }
57191 void parser___ReduceAction627___action(val_t self, val_t param0) {
57192 struct trace_t trace = {NULL, NULL, 21879, LOCATE_parser___ReduceAction627___action};
57193 val_t variable[14];
57194 struct WBT_ **closurevariable = NULL;
57195 trace.prev = tracehead; tracehead = &trace;
57196 trace.file = LOCATE_parser;
57197 /* Register variable[0]: Local variable */
57198 variable[0] = self;
57199 /* Register variable[1]: Local variable */
57200 variable[1] = param0;
57201 /* Register variable[2]: Method return value and escape marker */
57202 /* Register variable[3]: Local variable */
57203 variable[3] = NIT_NULL /*null*/;
57204 /* Register variable[4]: Local variable */
57205 /* Register variable[5]: Result */
57206 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57207 variable[4] = variable[5];
57208 /* Register variable[5]: Local variable */
57209 /* Register variable[6]: Result */
57210 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57211 variable[5] = variable[6];
57212 /* Register variable[6]: Local variable */
57213 /* Register variable[7]: Result */
57214 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57215 variable[6] = variable[7];
57216 /* Register variable[7]: Local variable */
57217 /* Register variable[8]: Result */
57218 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57219 variable[7] = variable[8];
57220 /* Register variable[8]: Local variable */
57221 /* Register variable[9]: Result */
57222 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57223 variable[8] = variable[9];
57224 /* Register variable[9]: Local variable */
57225 variable[9] = variable[7] /*nodearraylist1*/;
57226 /* Register variable[10]: Result */
57227 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
57228 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 21888); nit_exit(1);}
57229 /* Register variable[10]: Local variable */
57230 variable[10] = variable[5] /*nodearraylist3*/;
57231 /* Register variable[11]: Result */
57232 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
57233 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 21890); nit_exit(1);}
57234 /* Register variable[11]: Local variable */
57235 variable[11] = variable[4] /*nodearraylist4*/;
57236 /* Register variable[12]: Result */
57237 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57238 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction627___action, LOCATE_parser, 21892); nit_exit(1);}
57239 /* Register variable[12]: Result */
57240 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::==*/)))))));
57241 if (UNTAG_Bool(variable[12])) { /*if*/
57242 /* Register variable[12]: Result */
57243 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
57244 if (UNTAG_Bool(variable[12])) { /*if*/
57245 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
57246 } else { /*if*/
57247 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
57248 }
57249 }
57250 /* Register variable[12]: Local variable */
57251 /* Register variable[13]: Result */
57252 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/) /*new ANewExpr*/;
57253 variable[12] = variable[13];
57254 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
57255 /* Register variable[13]: Result */
57256 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
57257 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
57258 return_label1286: while(false);
57259 tracehead = trace.prev;
57260 return;
57261 }
57262 void parser___ReduceAction627___init(val_t self, int* init_table) {
57263 struct trace_t trace = {NULL, NULL, 21909, LOCATE_parser___ReduceAction627___init};
57264 val_t variable[2];
57265 struct WBT_ **closurevariable = NULL;
57266 trace.prev = tracehead; tracehead = &trace;
57267 trace.file = LOCATE_parser;
57268 /* Register variable[0]: Local variable */
57269 variable[0] = self;
57270 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction627].i]) return;
57271 /* Register variable[1]: Method return value and escape marker */
57272 return_label1287: while(false);
57273 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction627].i] = 1;
57274 tracehead = trace.prev;
57275 return;
57276 }
57277 void parser___ReduceAction628___action(val_t self, val_t param0) {
57278 struct trace_t trace = {NULL, NULL, 21913, LOCATE_parser___ReduceAction628___action};
57279 val_t variable[14];
57280 struct WBT_ **closurevariable = NULL;
57281 trace.prev = tracehead; tracehead = &trace;
57282 trace.file = LOCATE_parser;
57283 /* Register variable[0]: Local variable */
57284 variable[0] = self;
57285 /* Register variable[1]: Local variable */
57286 variable[1] = param0;
57287 /* Register variable[2]: Method return value and escape marker */
57288 /* Register variable[3]: Local variable */
57289 variable[3] = NIT_NULL /*null*/;
57290 /* Register variable[4]: Local variable */
57291 /* Register variable[5]: Result */
57292 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57293 variable[4] = variable[5];
57294 /* Register variable[5]: Local variable */
57295 /* Register variable[6]: Result */
57296 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57297 variable[5] = variable[6];
57298 /* Register variable[6]: Local variable */
57299 /* Register variable[7]: Result */
57300 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57301 variable[6] = variable[7];
57302 /* Register variable[7]: Local variable */
57303 /* Register variable[8]: Result */
57304 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57305 variable[7] = variable[8];
57306 /* Register variable[8]: Local variable */
57307 /* Register variable[9]: Result */
57308 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57309 variable[8] = variable[9];
57310 /* Register variable[9]: Local variable */
57311 variable[9] = variable[8] /*nodearraylist1*/;
57312 /* Register variable[10]: Result */
57313 variable[10] = TAG_Bool(( variable[9] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
57314 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction628___action, LOCATE_parser, 21922); nit_exit(1);}
57315 /* Register variable[10]: Local variable */
57316 variable[10] = variable[7] /*nodearraylist2*/;
57317 /* Register variable[11]: Result */
57318 variable[11] = TAG_Bool(( variable[10] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57319 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction628___action, LOCATE_parser, 21924); nit_exit(1);}
57320 /* Register variable[11]: Local variable */
57321 variable[11] = variable[4] /*nodearraylist5*/;
57322 /* Register variable[12]: Result */
57323 variable[12] = TAG_Bool(( variable[11] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
57324 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction628___action, LOCATE_parser, 21926); nit_exit(1);}
57325 /* Register variable[12]: Local variable */
57326 /* Register variable[13]: Result */
57327 variable[13] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[9] /*tkwissetnode2*/, variable[10] /*pexprnode3*/, variable[11] /*tattridnode4*/) /*new AIssetAttrExpr*/;
57328 variable[12] = variable[13];
57329 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
57330 /* Register variable[13]: Result */
57331 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
57332 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
57333 return_label1288: while(false);
57334 tracehead = trace.prev;
57335 return;
57336 }
57337 void parser___ReduceAction628___init(val_t self, int* init_table) {
57338 struct trace_t trace = {NULL, NULL, 21935, LOCATE_parser___ReduceAction628___init};
57339 val_t variable[2];
57340 struct WBT_ **closurevariable = NULL;
57341 trace.prev = tracehead; tracehead = &trace;
57342 trace.file = LOCATE_parser;
57343 /* Register variable[0]: Local variable */
57344 variable[0] = self;
57345 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction628].i]) return;
57346 /* Register variable[1]: Method return value and escape marker */
57347 return_label1289: while(false);
57348 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction628].i] = 1;
57349 tracehead = trace.prev;
57350 return;
57351 }
57352 void parser___ReduceAction629___action(val_t self, val_t param0) {
57353 struct trace_t trace = {NULL, NULL, 21939, LOCATE_parser___ReduceAction629___action};
57354 val_t variable[11];
57355 struct WBT_ **closurevariable = NULL;
57356 trace.prev = tracehead; tracehead = &trace;
57357 trace.file = LOCATE_parser;
57358 /* Register variable[0]: Local variable */
57359 variable[0] = self;
57360 /* Register variable[1]: Local variable */
57361 variable[1] = param0;
57362 /* Register variable[2]: Method return value and escape marker */
57363 /* Register variable[3]: Local variable */
57364 variable[3] = NIT_NULL /*null*/;
57365 /* Register variable[4]: Local variable */
57366 /* Register variable[5]: Result */
57367 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57368 variable[4] = variable[5];
57369 /* Register variable[5]: Local variable */
57370 /* Register variable[6]: Result */
57371 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57372 variable[5] = variable[6];
57373 /* Register variable[6]: Local variable */
57374 variable[6] = variable[5] /*nodearraylist1*/;
57375 /* Register variable[7]: Result */
57376 variable[7] = TAG_Bool(( variable[6] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
57377 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 21945); nit_exit(1);}
57378 /* Register variable[7]: Local variable */
57379 /* Register variable[8]: Result */
57380 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
57381 variable[7] = variable[8];
57382 /* Register variable[8]: Local variable */
57383 variable[8] = variable[4] /*nodearraylist2*/;
57384 /* Register variable[9]: Result */
57385 variable[9] = TAG_Bool(( variable[8] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
57386 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction629___action, LOCATE_parser, 21949); nit_exit(1);}
57387 /* Register variable[9]: Local variable */
57388 /* Register variable[10]: Result */
57389 variable[10] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[6] /*tkwissetnode2*/, variable[7] /*pexprnode3*/, variable[8] /*tattridnode4*/) /*new AIssetAttrExpr*/;
57390 variable[9] = variable[10];
57391 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
57392 /* Register variable[10]: Result */
57393 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(104)) /*Parser::go_to*/;
57394 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
57395 return_label1290: while(false);
57396 tracehead = trace.prev;
57397 return;
57398 }
57399 void parser___ReduceAction629___init(val_t self, int* init_table) {
57400 struct trace_t trace = {NULL, NULL, 21958, LOCATE_parser___ReduceAction629___init};
57401 val_t variable[2];
57402 struct WBT_ **closurevariable = NULL;
57403 trace.prev = tracehead; tracehead = &trace;
57404 trace.file = LOCATE_parser;
57405 /* Register variable[0]: Local variable */
57406 variable[0] = self;
57407 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction629].i]) return;
57408 /* Register variable[1]: Method return value and escape marker */
57409 return_label1291: while(false);
57410 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction629].i] = 1;
57411 tracehead = trace.prev;
57412 return;
57413 }
57414 void parser___ReduceAction630___action(val_t self, val_t param0) {
57415 struct trace_t trace = {NULL, NULL, 21962, LOCATE_parser___ReduceAction630___action};
57416 val_t variable[12];
57417 struct WBT_ **closurevariable = NULL;
57418 trace.prev = tracehead; tracehead = &trace;
57419 trace.file = LOCATE_parser;
57420 /* Register variable[0]: Local variable */
57421 variable[0] = self;
57422 /* Register variable[1]: Local variable */
57423 variable[1] = param0;
57424 /* Register variable[2]: Method return value and escape marker */
57425 /* Register variable[3]: Local variable */
57426 variable[3] = NIT_NULL /*null*/;
57427 /* Register variable[4]: Local variable */
57428 /* Register variable[5]: Result */
57429 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57430 variable[4] = variable[5];
57431 /* Register variable[5]: Local variable */
57432 /* Register variable[6]: Result */
57433 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57434 variable[5] = variable[6];
57435 /* Register variable[6]: Local variable */
57436 /* Register variable[7]: Result */
57437 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57438 variable[6] = variable[7];
57439 /* Register variable[7]: Local variable */
57440 /* Register variable[8]: Result */
57441 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57442 variable[7] = variable[8];
57443 /* Register variable[8]: Local variable */
57444 variable[8] = variable[7] /*nodearraylist1*/;
57445 /* Register variable[9]: Result */
57446 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57447 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction630___action, LOCATE_parser, 21970); nit_exit(1);}
57448 /* Register variable[9]: Local variable */
57449 variable[9] = variable[4] /*nodearraylist4*/;
57450 /* Register variable[10]: Result */
57451 variable[10] = TAG_Bool(( variable[9] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
57452 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction630___action, LOCATE_parser, 21972); nit_exit(1);}
57453 /* Register variable[10]: Local variable */
57454 /* Register variable[11]: Result */
57455 variable[11] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[8] /*pexprnode2*/, variable[9] /*tattridnode3*/) /*new AAttrExpr*/;
57456 variable[10] = variable[11];
57457 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
57458 /* Register variable[11]: Result */
57459 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57460 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
57461 return_label1292: while(false);
57462 tracehead = trace.prev;
57463 return;
57464 }
57465 void parser___ReduceAction630___init(val_t self, int* init_table) {
57466 struct trace_t trace = {NULL, NULL, 21980, LOCATE_parser___ReduceAction630___init};
57467 val_t variable[2];
57468 struct WBT_ **closurevariable = NULL;
57469 trace.prev = tracehead; tracehead = &trace;
57470 trace.file = LOCATE_parser;
57471 /* Register variable[0]: Local variable */
57472 variable[0] = self;
57473 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction630].i]) return;
57474 /* Register variable[1]: Method return value and escape marker */
57475 return_label1293: while(false);
57476 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction630].i] = 1;
57477 tracehead = trace.prev;
57478 return;
57479 }
57480 void parser___ReduceAction631___action(val_t self, val_t param0) {
57481 struct trace_t trace = {NULL, NULL, 21984, LOCATE_parser___ReduceAction631___action};
57482 val_t variable[9];
57483 struct WBT_ **closurevariable = NULL;
57484 trace.prev = tracehead; tracehead = &trace;
57485 trace.file = LOCATE_parser;
57486 /* Register variable[0]: Local variable */
57487 variable[0] = self;
57488 /* Register variable[1]: Local variable */
57489 variable[1] = param0;
57490 /* Register variable[2]: Method return value and escape marker */
57491 /* Register variable[3]: Local variable */
57492 variable[3] = NIT_NULL /*null*/;
57493 /* Register variable[4]: Local variable */
57494 /* Register variable[5]: Result */
57495 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57496 variable[4] = variable[5];
57497 /* Register variable[5]: Local variable */
57498 /* Register variable[6]: Result */
57499 variable[6] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
57500 variable[5] = variable[6];
57501 /* Register variable[6]: Local variable */
57502 variable[6] = variable[4] /*nodearraylist1*/;
57503 /* Register variable[7]: Result */
57504 variable[7] = TAG_Bool(( variable[6] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[6] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
57505 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction631___action, LOCATE_parser, 21991); nit_exit(1);}
57506 /* Register variable[7]: Local variable */
57507 /* Register variable[8]: Result */
57508 variable[8] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[5] /*pexprnode2*/, variable[6] /*tattridnode3*/) /*new AAttrExpr*/;
57509 variable[7] = variable[8];
57510 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
57511 /* Register variable[8]: Result */
57512 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57513 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
57514 return_label1294: while(false);
57515 tracehead = trace.prev;
57516 return;
57517 }
57518 void parser___ReduceAction631___init(val_t self, int* init_table) {
57519 struct trace_t trace = {NULL, NULL, 21999, LOCATE_parser___ReduceAction631___init};
57520 val_t variable[2];
57521 struct WBT_ **closurevariable = NULL;
57522 trace.prev = tracehead; tracehead = &trace;
57523 trace.file = LOCATE_parser;
57524 /* Register variable[0]: Local variable */
57525 variable[0] = self;
57526 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction631].i]) return;
57527 /* Register variable[1]: Method return value and escape marker */
57528 return_label1295: while(false);
57529 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction631].i] = 1;
57530 tracehead = trace.prev;
57531 return;
57532 }
57533 void parser___ReduceAction632___action(val_t self, val_t param0) {
57534 struct trace_t trace = {NULL, NULL, 22003, LOCATE_parser___ReduceAction632___action};
57535 val_t variable[16];
57536 struct WBT_ **closurevariable = NULL;
57537 trace.prev = tracehead; tracehead = &trace;
57538 trace.file = LOCATE_parser;
57539 /* Register variable[0]: Local variable */
57540 variable[0] = self;
57541 /* Register variable[1]: Local variable */
57542 variable[1] = param0;
57543 /* Register variable[2]: Method return value and escape marker */
57544 /* Register variable[3]: Local variable */
57545 variable[3] = NIT_NULL /*null*/;
57546 /* Register variable[4]: Local variable */
57547 /* Register variable[5]: Result */
57548 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57549 variable[4] = variable[5];
57550 /* Register variable[5]: Local variable */
57551 /* Register variable[6]: Result */
57552 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57553 variable[5] = variable[6];
57554 /* Register variable[6]: Local variable */
57555 /* Register variable[7]: Result */
57556 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57557 variable[6] = variable[7];
57558 /* Register variable[7]: Local variable */
57559 /* Register variable[8]: Result */
57560 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57561 variable[7] = variable[8];
57562 /* Register variable[8]: Local variable */
57563 /* Register variable[9]: Result */
57564 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57565 variable[8] = variable[9];
57566 /* Register variable[9]: Local variable */
57567 /* Register variable[10]: Result */
57568 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57569 variable[9] = variable[10];
57570 /* Register variable[10]: Local variable */
57571 /* Register variable[11]: Result */
57572 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57573 variable[10] = variable[11];
57574 /* Register variable[11]: Local variable */
57575 variable[11] = variable[8] /*nodearraylist1*/;
57576 /* Register variable[12]: Result */
57577 variable[12] = TAG_Bool(( variable[11] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[11] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57578 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction632___action, LOCATE_parser, 22014); nit_exit(1);}
57579 /* Register variable[12]: Local variable */
57580 variable[12] = variable[5] /*nodearraylist4*/;
57581 /* Register variable[13]: Result */
57582 variable[13] = TAG_Bool(( variable[12] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[12] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
57583 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction632___action, LOCATE_parser, 22016); nit_exit(1);}
57584 /* Register variable[13]: Local variable */
57585 variable[13] = variable[4] /*nodearraylist5*/;
57586 /* Register variable[14]: Result */
57587 variable[14] = TAG_Bool(( variable[13] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[13] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57588 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction632___action, LOCATE_parser, 22018); nit_exit(1);}
57589 /* Register variable[14]: Result */
57590 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::==*/)))))));
57591 if (UNTAG_Bool(variable[14])) { /*if*/
57592 /* Register variable[14]: Result */
57593 variable[14] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57594 if (UNTAG_Bool(variable[14])) { /*if*/
57595 variable[9] = variable[13] /*listnode4*/ /*listnode5=*/;
57596 } else { /*if*/
57597 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[13] /*listnode4*/) /*IndexedCollection::append*/;
57598 }
57599 }
57600 /* Register variable[14]: Local variable */
57601 /* Register variable[15]: Result */
57602 variable[15] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[11] /*pexprnode2*/, variable[12] /*tidnode3*/, variable[9] /*listnode5*/, variable[10] /*listnode6*/) /*new ACallExpr*/;
57603 variable[14] = variable[15];
57604 variable[3] = variable[14] /*pexprnode1*/ /*node_list=*/;
57605 /* Register variable[15]: Result */
57606 variable[15] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57607 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[15], variable[3] /*node_list*/) /*Parser::push*/;
57608 return_label1296: while(false);
57609 tracehead = trace.prev;
57610 return;
57611 }
57612 void parser___ReduceAction632___init(val_t self, int* init_table) {
57613 struct trace_t trace = {NULL, NULL, 22035, LOCATE_parser___ReduceAction632___init};
57614 val_t variable[2];
57615 struct WBT_ **closurevariable = NULL;
57616 trace.prev = tracehead; tracehead = &trace;
57617 trace.file = LOCATE_parser;
57618 /* Register variable[0]: Local variable */
57619 variable[0] = self;
57620 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction632].i]) return;
57621 /* Register variable[1]: Method return value and escape marker */
57622 return_label1297: while(false);
57623 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction632].i] = 1;
57624 tracehead = trace.prev;
57625 return;
57626 }
57627 void parser___ReduceAction633___action(val_t self, val_t param0) {
57628 struct trace_t trace = {NULL, NULL, 22039, LOCATE_parser___ReduceAction633___action};
57629 val_t variable[13];
57630 struct WBT_ **closurevariable = NULL;
57631 trace.prev = tracehead; tracehead = &trace;
57632 trace.file = LOCATE_parser;
57633 /* Register variable[0]: Local variable */
57634 variable[0] = self;
57635 /* Register variable[1]: Local variable */
57636 variable[1] = param0;
57637 /* Register variable[2]: Method return value and escape marker */
57638 /* Register variable[3]: Local variable */
57639 variable[3] = NIT_NULL /*null*/;
57640 /* Register variable[4]: Local variable */
57641 /* Register variable[5]: Result */
57642 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57643 variable[4] = variable[5];
57644 /* Register variable[5]: Local variable */
57645 /* Register variable[6]: Result */
57646 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57647 variable[5] = variable[6];
57648 /* Register variable[6]: Local variable */
57649 /* Register variable[7]: Result */
57650 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57651 variable[6] = variable[7];
57652 /* Register variable[7]: Local variable */
57653 /* Register variable[8]: Result */
57654 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57655 variable[7] = variable[8];
57656 /* Register variable[8]: Local variable */
57657 /* Register variable[9]: Result */
57658 variable[9] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
57659 variable[8] = variable[9];
57660 /* Register variable[9]: Local variable */
57661 variable[9] = variable[5] /*nodearraylist1*/;
57662 /* Register variable[10]: Result */
57663 variable[10] = TAG_Bool(( variable[9] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
57664 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction633___action, LOCATE_parser, 22049); nit_exit(1);}
57665 /* Register variable[10]: Local variable */
57666 variable[10] = variable[4] /*nodearraylist2*/;
57667 /* Register variable[11]: Result */
57668 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57669 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction633___action, LOCATE_parser, 22051); nit_exit(1);}
57670 /* Register variable[11]: Result */
57671 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::==*/)))))));
57672 if (UNTAG_Bool(variable[11])) { /*if*/
57673 /* Register variable[11]: Result */
57674 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57675 if (UNTAG_Bool(variable[11])) { /*if*/
57676 variable[6] = variable[10] /*listnode4*/ /*listnode5=*/;
57677 } else { /*if*/
57678 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
57679 }
57680 }
57681 /* Register variable[11]: Local variable */
57682 /* Register variable[12]: Result */
57683 variable[12] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[8] /*pexprnode2*/, variable[9] /*tidnode3*/, variable[6] /*listnode5*/, variable[7] /*listnode6*/) /*new ACallExpr*/;
57684 variable[11] = variable[12];
57685 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
57686 /* Register variable[12]: Result */
57687 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57688 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
57689 return_label1298: while(false);
57690 tracehead = trace.prev;
57691 return;
57692 }
57693 void parser___ReduceAction633___init(val_t self, int* init_table) {
57694 struct trace_t trace = {NULL, NULL, 22068, LOCATE_parser___ReduceAction633___init};
57695 val_t variable[2];
57696 struct WBT_ **closurevariable = NULL;
57697 trace.prev = tracehead; tracehead = &trace;
57698 trace.file = LOCATE_parser;
57699 /* Register variable[0]: Local variable */
57700 variable[0] = self;
57701 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction633].i]) return;
57702 /* Register variable[1]: Method return value and escape marker */
57703 return_label1299: while(false);
57704 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction633].i] = 1;
57705 tracehead = trace.prev;
57706 return;
57707 }
57708 void parser___ReduceAction634___action(val_t self, val_t param0) {
57709 struct trace_t trace = {NULL, NULL, 22072, LOCATE_parser___ReduceAction634___action};
57710 val_t variable[11];
57711 struct WBT_ **closurevariable = NULL;
57712 trace.prev = tracehead; tracehead = &trace;
57713 trace.file = LOCATE_parser;
57714 /* Register variable[0]: Local variable */
57715 variable[0] = self;
57716 /* Register variable[1]: Local variable */
57717 variable[1] = param0;
57718 /* Register variable[2]: Method return value and escape marker */
57719 /* Register variable[3]: Local variable */
57720 variable[3] = NIT_NULL /*null*/;
57721 /* Register variable[4]: Local variable */
57722 /* Register variable[5]: Result */
57723 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57724 variable[4] = variable[5];
57725 /* Register variable[5]: Local variable */
57726 /* Register variable[6]: Result */
57727 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57728 variable[5] = variable[6];
57729 /* Register variable[6]: Local variable */
57730 /* Register variable[7]: Result */
57731 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57732 variable[6] = variable[7];
57733 /* Register variable[7]: Local variable */
57734 variable[7] = variable[5] /*nodearraylist1*/;
57735 /* Register variable[8]: Result */
57736 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
57737 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction634___action, LOCATE_parser, 22079); nit_exit(1);}
57738 /* Register variable[8]: Local variable */
57739 variable[8] = variable[4] /*nodearraylist2*/;
57740 /* Register variable[9]: Result */
57741 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57742 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction634___action, LOCATE_parser, 22081); nit_exit(1);}
57743 /* Register variable[9]: Result */
57744 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::==*/)))))));
57745 if (UNTAG_Bool(variable[9])) { /*if*/
57746 /* Register variable[9]: Result */
57747 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57748 if (UNTAG_Bool(variable[9])) { /*if*/
57749 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
57750 } else { /*if*/
57751 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
57752 }
57753 }
57754 /* Register variable[9]: Local variable */
57755 /* Register variable[10]: Result */
57756 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
57757 variable[9] = variable[10];
57758 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
57759 /* Register variable[10]: Result */
57760 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57761 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
57762 return_label1300: while(false);
57763 tracehead = trace.prev;
57764 return;
57765 }
57766 void parser___ReduceAction634___init(val_t self, int* init_table) {
57767 struct trace_t trace = {NULL, NULL, 22097, LOCATE_parser___ReduceAction634___init};
57768 val_t variable[2];
57769 struct WBT_ **closurevariable = NULL;
57770 trace.prev = tracehead; tracehead = &trace;
57771 trace.file = LOCATE_parser;
57772 /* Register variable[0]: Local variable */
57773 variable[0] = self;
57774 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction634].i]) return;
57775 /* Register variable[1]: Method return value and escape marker */
57776 return_label1301: while(false);
57777 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction634].i] = 1;
57778 tracehead = trace.prev;
57779 return;
57780 }
57781 void parser___ReduceAction635___action(val_t self, val_t param0) {
57782 struct trace_t trace = {NULL, NULL, 22101, LOCATE_parser___ReduceAction635___action};
57783 val_t variable[13];
57784 struct WBT_ **closurevariable = NULL;
57785 trace.prev = tracehead; tracehead = &trace;
57786 trace.file = LOCATE_parser;
57787 /* Register variable[0]: Local variable */
57788 variable[0] = self;
57789 /* Register variable[1]: Local variable */
57790 variable[1] = param0;
57791 /* Register variable[2]: Method return value and escape marker */
57792 /* Register variable[3]: Local variable */
57793 variable[3] = NIT_NULL /*null*/;
57794 /* Register variable[4]: Local variable */
57795 /* Register variable[5]: Result */
57796 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57797 variable[4] = variable[5];
57798 /* Register variable[5]: Local variable */
57799 /* Register variable[6]: Result */
57800 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57801 variable[5] = variable[6];
57802 /* Register variable[6]: Local variable */
57803 /* Register variable[7]: Result */
57804 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57805 variable[6] = variable[7];
57806 /* Register variable[7]: Local variable */
57807 /* Register variable[8]: Result */
57808 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57809 variable[7] = variable[8];
57810 /* Register variable[8]: Local variable */
57811 variable[8] = variable[6] /*nodearraylist1*/;
57812 /* Register variable[9]: Result */
57813 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
57814 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 22109); nit_exit(1);}
57815 /* Register variable[9]: Local variable */
57816 variable[9] = variable[5] /*nodearraylist2*/;
57817 /* Register variable[10]: Result */
57818 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
57819 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 22111); nit_exit(1);}
57820 /* Register variable[10]: Local variable */
57821 variable[10] = variable[4] /*nodearraylist3*/;
57822 /* Register variable[11]: Result */
57823 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57824 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction635___action, LOCATE_parser, 22113); nit_exit(1);}
57825 /* Register variable[11]: Result */
57826 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::==*/)))))));
57827 if (UNTAG_Bool(variable[11])) { /*if*/
57828 /* Register variable[11]: Result */
57829 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57830 if (UNTAG_Bool(variable[11])) { /*if*/
57831 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
57832 } else { /*if*/
57833 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
57834 }
57835 }
57836 /* Register variable[11]: Local variable */
57837 /* Register variable[12]: Result */
57838 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
57839 variable[11] = variable[12];
57840 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
57841 /* Register variable[12]: Result */
57842 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57843 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
57844 return_label1302: while(false);
57845 tracehead = trace.prev;
57846 return;
57847 }
57848 void parser___ReduceAction635___init(val_t self, int* init_table) {
57849 struct trace_t trace = {NULL, NULL, 22129, LOCATE_parser___ReduceAction635___init};
57850 val_t variable[2];
57851 struct WBT_ **closurevariable = NULL;
57852 trace.prev = tracehead; tracehead = &trace;
57853 trace.file = LOCATE_parser;
57854 /* Register variable[0]: Local variable */
57855 variable[0] = self;
57856 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction635].i]) return;
57857 /* Register variable[1]: Method return value and escape marker */
57858 return_label1303: while(false);
57859 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction635].i] = 1;
57860 tracehead = trace.prev;
57861 return;
57862 }
57863 void parser___ReduceAction636___action(val_t self, val_t param0) {
57864 struct trace_t trace = {NULL, NULL, 22133, LOCATE_parser___ReduceAction636___action};
57865 val_t variable[15];
57866 struct WBT_ **closurevariable = NULL;
57867 trace.prev = tracehead; tracehead = &trace;
57868 trace.file = LOCATE_parser;
57869 /* Register variable[0]: Local variable */
57870 variable[0] = self;
57871 /* Register variable[1]: Local variable */
57872 variable[1] = param0;
57873 /* Register variable[2]: Method return value and escape marker */
57874 /* Register variable[3]: Local variable */
57875 variable[3] = NIT_NULL /*null*/;
57876 /* Register variable[4]: Local variable */
57877 /* Register variable[5]: Result */
57878 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57879 variable[4] = variable[5];
57880 /* Register variable[5]: Local variable */
57881 /* Register variable[6]: Result */
57882 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57883 variable[5] = variable[6];
57884 /* Register variable[6]: Local variable */
57885 /* Register variable[7]: Result */
57886 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57887 variable[6] = variable[7];
57888 /* Register variable[7]: Local variable */
57889 /* Register variable[8]: Result */
57890 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57891 variable[7] = variable[8];
57892 /* Register variable[8]: Local variable */
57893 /* Register variable[9]: Result */
57894 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57895 variable[8] = variable[9];
57896 /* Register variable[9]: Local variable */
57897 /* Register variable[10]: Result */
57898 variable[10] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57899 variable[9] = variable[10];
57900 /* Register variable[10]: Local variable */
57901 variable[10] = variable[8] /*nodearraylist1*/;
57902 /* Register variable[11]: Result */
57903 variable[11] = TAG_Bool(( variable[10] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[10] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
57904 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction636___action, LOCATE_parser, 22143); nit_exit(1);}
57905 /* Register variable[11]: Local variable */
57906 variable[11] = variable[5] /*nodearraylist4*/;
57907 /* Register variable[12]: Result */
57908 variable[12] = TAG_Bool(( variable[11] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[11] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
57909 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction636___action, LOCATE_parser, 22145); nit_exit(1);}
57910 /* Register variable[12]: Local variable */
57911 variable[12] = variable[4] /*nodearraylist5*/;
57912 /* Register variable[13]: Result */
57913 variable[13] = TAG_Bool(( variable[12] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57914 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction636___action, LOCATE_parser, 22147); nit_exit(1);}
57915 /* Register variable[13]: Result */
57916 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::==*/)))))));
57917 if (UNTAG_Bool(variable[13])) { /*if*/
57918 /* Register variable[13]: Result */
57919 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[9] /*listnode5*/)( variable[9] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57920 if (UNTAG_Bool(variable[13])) { /*if*/
57921 variable[9] = variable[12] /*listnode4*/ /*listnode5=*/;
57922 } else { /*if*/
57923 CALL_abstract_collection___IndexedCollection___append( variable[9] /*listnode5*/)( variable[9] /*listnode5*/, variable[12] /*listnode4*/) /*IndexedCollection::append*/;
57924 }
57925 }
57926 /* Register variable[13]: Local variable */
57927 /* Register variable[14]: Result */
57928 variable[14] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[10] /*pexprnode2*/, variable[11] /*tkwinitnode3*/, variable[9] /*listnode5*/) /*new AInitExpr*/;
57929 variable[13] = variable[14];
57930 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
57931 /* Register variable[14]: Result */
57932 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
57933 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
57934 return_label1304: while(false);
57935 tracehead = trace.prev;
57936 return;
57937 }
57938 void parser___ReduceAction636___init(val_t self, int* init_table) {
57939 struct trace_t trace = {NULL, NULL, 22163, LOCATE_parser___ReduceAction636___init};
57940 val_t variable[2];
57941 struct WBT_ **closurevariable = NULL;
57942 trace.prev = tracehead; tracehead = &trace;
57943 trace.file = LOCATE_parser;
57944 /* Register variable[0]: Local variable */
57945 variable[0] = self;
57946 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction636].i]) return;
57947 /* Register variable[1]: Method return value and escape marker */
57948 return_label1305: while(false);
57949 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction636].i] = 1;
57950 tracehead = trace.prev;
57951 return;
57952 }
57953 void parser___ReduceAction637___action(val_t self, val_t param0) {
57954 struct trace_t trace = {NULL, NULL, 22167, LOCATE_parser___ReduceAction637___action};
57955 val_t variable[12];
57956 struct WBT_ **closurevariable = NULL;
57957 trace.prev = tracehead; tracehead = &trace;
57958 trace.file = LOCATE_parser;
57959 /* Register variable[0]: Local variable */
57960 variable[0] = self;
57961 /* Register variable[1]: Local variable */
57962 variable[1] = param0;
57963 /* Register variable[2]: Method return value and escape marker */
57964 /* Register variable[3]: Local variable */
57965 variable[3] = NIT_NULL /*null*/;
57966 /* Register variable[4]: Local variable */
57967 /* Register variable[5]: Result */
57968 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57969 variable[4] = variable[5];
57970 /* Register variable[5]: Local variable */
57971 /* Register variable[6]: Result */
57972 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
57973 variable[5] = variable[6];
57974 /* Register variable[6]: Local variable */
57975 /* Register variable[7]: Result */
57976 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
57977 variable[6] = variable[7];
57978 /* Register variable[7]: Local variable */
57979 /* Register variable[8]: Result */
57980 variable[8] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
57981 variable[7] = variable[8];
57982 /* Register variable[8]: Local variable */
57983 variable[8] = variable[5] /*nodearraylist1*/;
57984 /* Register variable[9]: Result */
57985 variable[9] = TAG_Bool(( variable[8] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
57986 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 22176); nit_exit(1);}
57987 /* Register variable[9]: Local variable */
57988 variable[9] = variable[4] /*nodearraylist2*/;
57989 /* Register variable[10]: Result */
57990 variable[10] = TAG_Bool(( variable[9] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
57991 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction637___action, LOCATE_parser, 22178); nit_exit(1);}
57992 /* Register variable[10]: Result */
57993 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::==*/)))))));
57994 if (UNTAG_Bool(variable[10])) { /*if*/
57995 /* Register variable[10]: Result */
57996 variable[10] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
57997 if (UNTAG_Bool(variable[10])) { /*if*/
57998 variable[6] = variable[9] /*listnode4*/ /*listnode5=*/;
57999 } else { /*if*/
58000 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[9] /*listnode4*/) /*IndexedCollection::append*/;
58001 }
58002 }
58003 /* Register variable[10]: Local variable */
58004 /* Register variable[11]: Result */
58005 variable[11] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[7] /*pexprnode2*/, variable[8] /*tkwinitnode3*/, variable[6] /*listnode5*/) /*new AInitExpr*/;
58006 variable[10] = variable[11];
58007 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
58008 /* Register variable[11]: Result */
58009 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58010 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
58011 return_label1306: while(false);
58012 tracehead = trace.prev;
58013 return;
58014 }
58015 void parser___ReduceAction637___init(val_t self, int* init_table) {
58016 struct trace_t trace = {NULL, NULL, 22194, LOCATE_parser___ReduceAction637___init};
58017 val_t variable[2];
58018 struct WBT_ **closurevariable = NULL;
58019 trace.prev = tracehead; tracehead = &trace;
58020 trace.file = LOCATE_parser;
58021 /* Register variable[0]: Local variable */
58022 variable[0] = self;
58023 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction637].i]) return;
58024 /* Register variable[1]: Method return value and escape marker */
58025 return_label1307: while(false);
58026 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction637].i] = 1;
58027 tracehead = trace.prev;
58028 return;
58029 }
58030 void parser___ReduceAction638___action(val_t self, val_t param0) {
58031 struct trace_t trace = {NULL, NULL, 22198, LOCATE_parser___ReduceAction638___action};
58032 val_t variable[18];
58033 struct WBT_ **closurevariable = NULL;
58034 trace.prev = tracehead; tracehead = &trace;
58035 trace.file = LOCATE_parser;
58036 /* Register variable[0]: Local variable */
58037 variable[0] = self;
58038 /* Register variable[1]: Local variable */
58039 variable[1] = param0;
58040 /* Register variable[2]: Method return value and escape marker */
58041 /* Register variable[3]: Local variable */
58042 variable[3] = NIT_NULL /*null*/;
58043 /* Register variable[4]: Local variable */
58044 /* Register variable[5]: Result */
58045 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58046 variable[4] = variable[5];
58047 /* Register variable[5]: Local variable */
58048 /* Register variable[6]: Result */
58049 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58050 variable[5] = variable[6];
58051 /* Register variable[6]: Local variable */
58052 /* Register variable[7]: Result */
58053 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58054 variable[6] = variable[7];
58055 /* Register variable[7]: Local variable */
58056 /* Register variable[8]: Result */
58057 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58058 variable[7] = variable[8];
58059 /* Register variable[8]: Local variable */
58060 /* Register variable[9]: Result */
58061 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58062 variable[8] = variable[9];
58063 /* Register variable[9]: Local variable */
58064 /* Register variable[10]: Result */
58065 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58066 variable[9] = variable[10];
58067 /* Register variable[10]: Local variable */
58068 /* Register variable[11]: Result */
58069 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58070 variable[10] = variable[11];
58071 /* Register variable[11]: Local variable */
58072 /* Register variable[12]: Result */
58073 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
58074 variable[11] = variable[12];
58075 /* Register variable[12]: Local variable */
58076 variable[12] = variable[10] /*nodearraylist1*/;
58077 /* Register variable[13]: Result */
58078 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
58079 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 22210); nit_exit(1);}
58080 /* Register variable[13]: Local variable */
58081 variable[13] = variable[8] /*nodearraylist3*/;
58082 /* Register variable[14]: Result */
58083 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
58084 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 22212); nit_exit(1);}
58085 /* Register variable[14]: Local variable */
58086 variable[14] = variable[5] /*nodearraylist6*/;
58087 /* Register variable[15]: Result */
58088 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
58089 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 22214); nit_exit(1);}
58090 /* Register variable[15]: Local variable */
58091 variable[15] = variable[4] /*nodearraylist7*/;
58092 /* Register variable[16]: Result */
58093 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58094 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction638___action, LOCATE_parser, 22216); nit_exit(1);}
58095 /* Register variable[16]: Result */
58096 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::==*/)))))));
58097 if (UNTAG_Bool(variable[16])) { /*if*/
58098 /* Register variable[16]: Result */
58099 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
58100 if (UNTAG_Bool(variable[16])) { /*if*/
58101 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
58102 } else { /*if*/
58103 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
58104 }
58105 }
58106 /* Register variable[16]: Local variable */
58107 /* Register variable[17]: Result */
58108 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/) /*new ANewExpr*/;
58109 variable[16] = variable[17];
58110 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
58111 /* Register variable[17]: Result */
58112 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58113 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
58114 return_label1308: while(false);
58115 tracehead = trace.prev;
58116 return;
58117 }
58118 void parser___ReduceAction638___init(val_t self, int* init_table) {
58119 struct trace_t trace = {NULL, NULL, 22233, LOCATE_parser___ReduceAction638___init};
58120 val_t variable[2];
58121 struct WBT_ **closurevariable = NULL;
58122 trace.prev = tracehead; tracehead = &trace;
58123 trace.file = LOCATE_parser;
58124 /* Register variable[0]: Local variable */
58125 variable[0] = self;
58126 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction638].i]) return;
58127 /* Register variable[1]: Method return value and escape marker */
58128 return_label1309: while(false);
58129 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction638].i] = 1;
58130 tracehead = trace.prev;
58131 return;
58132 }
58133 void parser___ReduceAction639___action(val_t self, val_t param0) {
58134 struct trace_t trace = {NULL, NULL, 22237, LOCATE_parser___ReduceAction639___action};
58135 val_t variable[8];
58136 struct WBT_ **closurevariable = NULL;
58137 trace.prev = tracehead; tracehead = &trace;
58138 trace.file = LOCATE_parser;
58139 /* Register variable[0]: Local variable */
58140 variable[0] = self;
58141 /* Register variable[1]: Local variable */
58142 variable[1] = param0;
58143 /* Register variable[2]: Method return value and escape marker */
58144 /* Register variable[3]: Local variable */
58145 variable[3] = NIT_NULL /*null*/;
58146 /* Register variable[4]: Local variable */
58147 /* Register variable[5]: Result */
58148 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58149 variable[4] = variable[5];
58150 /* Register variable[5]: Local variable */
58151 variable[5] = variable[4] /*nodearraylist1*/;
58152 /* Register variable[6]: Result */
58153 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
58154 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction639___action, LOCATE_parser, 22242); nit_exit(1);}
58155 /* Register variable[6]: Local variable */
58156 /* Register variable[7]: Result */
58157 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/) /*new ASelfExpr*/;
58158 variable[6] = variable[7];
58159 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58160 /* Register variable[7]: Result */
58161 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58162 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58163 return_label1310: while(false);
58164 tracehead = trace.prev;
58165 return;
58166 }
58167 void parser___ReduceAction639___init(val_t self, int* init_table) {
58168 struct trace_t trace = {NULL, NULL, 22249, LOCATE_parser___ReduceAction639___init};
58169 val_t variable[2];
58170 struct WBT_ **closurevariable = NULL;
58171 trace.prev = tracehead; tracehead = &trace;
58172 trace.file = LOCATE_parser;
58173 /* Register variable[0]: Local variable */
58174 variable[0] = self;
58175 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction639].i]) return;
58176 /* Register variable[1]: Method return value and escape marker */
58177 return_label1311: while(false);
58178 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction639].i] = 1;
58179 tracehead = trace.prev;
58180 return;
58181 }
58182 void parser___ReduceAction640___action(val_t self, val_t param0) {
58183 struct trace_t trace = {NULL, NULL, 22253, LOCATE_parser___ReduceAction640___action};
58184 val_t variable[8];
58185 struct WBT_ **closurevariable = NULL;
58186 trace.prev = tracehead; tracehead = &trace;
58187 trace.file = LOCATE_parser;
58188 /* Register variable[0]: Local variable */
58189 variable[0] = self;
58190 /* Register variable[1]: Local variable */
58191 variable[1] = param0;
58192 /* Register variable[2]: Method return value and escape marker */
58193 /* Register variable[3]: Local variable */
58194 variable[3] = NIT_NULL /*null*/;
58195 /* Register variable[4]: Local variable */
58196 /* Register variable[5]: Result */
58197 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58198 variable[4] = variable[5];
58199 /* Register variable[5]: Local variable */
58200 variable[5] = variable[4] /*nodearraylist1*/;
58201 /* Register variable[6]: Result */
58202 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
58203 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction640___action, LOCATE_parser, 22258); nit_exit(1);}
58204 /* Register variable[6]: Local variable */
58205 /* Register variable[7]: Result */
58206 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/) /*new ATrueExpr*/;
58207 variable[6] = variable[7];
58208 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58209 /* Register variable[7]: Result */
58210 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58211 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58212 return_label1312: while(false);
58213 tracehead = trace.prev;
58214 return;
58215 }
58216 void parser___ReduceAction640___init(val_t self, int* init_table) {
58217 struct trace_t trace = {NULL, NULL, 22265, LOCATE_parser___ReduceAction640___init};
58218 val_t variable[2];
58219 struct WBT_ **closurevariable = NULL;
58220 trace.prev = tracehead; tracehead = &trace;
58221 trace.file = LOCATE_parser;
58222 /* Register variable[0]: Local variable */
58223 variable[0] = self;
58224 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction640].i]) return;
58225 /* Register variable[1]: Method return value and escape marker */
58226 return_label1313: while(false);
58227 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction640].i] = 1;
58228 tracehead = trace.prev;
58229 return;
58230 }
58231 void parser___ReduceAction641___action(val_t self, val_t param0) {
58232 struct trace_t trace = {NULL, NULL, 22269, LOCATE_parser___ReduceAction641___action};
58233 val_t variable[8];
58234 struct WBT_ **closurevariable = NULL;
58235 trace.prev = tracehead; tracehead = &trace;
58236 trace.file = LOCATE_parser;
58237 /* Register variable[0]: Local variable */
58238 variable[0] = self;
58239 /* Register variable[1]: Local variable */
58240 variable[1] = param0;
58241 /* Register variable[2]: Method return value and escape marker */
58242 /* Register variable[3]: Local variable */
58243 variable[3] = NIT_NULL /*null*/;
58244 /* Register variable[4]: Local variable */
58245 /* Register variable[5]: Result */
58246 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58247 variable[4] = variable[5];
58248 /* Register variable[5]: Local variable */
58249 variable[5] = variable[4] /*nodearraylist1*/;
58250 /* Register variable[6]: Result */
58251 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
58252 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction641___action, LOCATE_parser, 22274); nit_exit(1);}
58253 /* Register variable[6]: Local variable */
58254 /* Register variable[7]: Result */
58255 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/) /*new AFalseExpr*/;
58256 variable[6] = variable[7];
58257 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58258 /* Register variable[7]: Result */
58259 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58260 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58261 return_label1314: while(false);
58262 tracehead = trace.prev;
58263 return;
58264 }
58265 void parser___ReduceAction641___init(val_t self, int* init_table) {
58266 struct trace_t trace = {NULL, NULL, 22281, LOCATE_parser___ReduceAction641___init};
58267 val_t variable[2];
58268 struct WBT_ **closurevariable = NULL;
58269 trace.prev = tracehead; tracehead = &trace;
58270 trace.file = LOCATE_parser;
58271 /* Register variable[0]: Local variable */
58272 variable[0] = self;
58273 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction641].i]) return;
58274 /* Register variable[1]: Method return value and escape marker */
58275 return_label1315: while(false);
58276 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction641].i] = 1;
58277 tracehead = trace.prev;
58278 return;
58279 }
58280 void parser___ReduceAction642___action(val_t self, val_t param0) {
58281 struct trace_t trace = {NULL, NULL, 22285, LOCATE_parser___ReduceAction642___action};
58282 val_t variable[8];
58283 struct WBT_ **closurevariable = NULL;
58284 trace.prev = tracehead; tracehead = &trace;
58285 trace.file = LOCATE_parser;
58286 /* Register variable[0]: Local variable */
58287 variable[0] = self;
58288 /* Register variable[1]: Local variable */
58289 variable[1] = param0;
58290 /* Register variable[2]: Method return value and escape marker */
58291 /* Register variable[3]: Local variable */
58292 variable[3] = NIT_NULL /*null*/;
58293 /* Register variable[4]: Local variable */
58294 /* Register variable[5]: Result */
58295 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58296 variable[4] = variable[5];
58297 /* Register variable[5]: Local variable */
58298 variable[5] = variable[4] /*nodearraylist1*/;
58299 /* Register variable[6]: Result */
58300 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
58301 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction642___action, LOCATE_parser, 22290); nit_exit(1);}
58302 /* Register variable[6]: Local variable */
58303 /* Register variable[7]: Result */
58304 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/) /*new ANullExpr*/;
58305 variable[6] = variable[7];
58306 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58307 /* Register variable[7]: Result */
58308 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58309 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58310 return_label1316: while(false);
58311 tracehead = trace.prev;
58312 return;
58313 }
58314 void parser___ReduceAction642___init(val_t self, int* init_table) {
58315 struct trace_t trace = {NULL, NULL, 22297, LOCATE_parser___ReduceAction642___init};
58316 val_t variable[2];
58317 struct WBT_ **closurevariable = NULL;
58318 trace.prev = tracehead; tracehead = &trace;
58319 trace.file = LOCATE_parser;
58320 /* Register variable[0]: Local variable */
58321 variable[0] = self;
58322 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction642].i]) return;
58323 /* Register variable[1]: Method return value and escape marker */
58324 return_label1317: while(false);
58325 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction642].i] = 1;
58326 tracehead = trace.prev;
58327 return;
58328 }
58329 void parser___ReduceAction643___action(val_t self, val_t param0) {
58330 struct trace_t trace = {NULL, NULL, 22301, LOCATE_parser___ReduceAction643___action};
58331 val_t variable[8];
58332 struct WBT_ **closurevariable = NULL;
58333 trace.prev = tracehead; tracehead = &trace;
58334 trace.file = LOCATE_parser;
58335 /* Register variable[0]: Local variable */
58336 variable[0] = self;
58337 /* Register variable[1]: Local variable */
58338 variable[1] = param0;
58339 /* Register variable[2]: Method return value and escape marker */
58340 /* Register variable[3]: Local variable */
58341 variable[3] = NIT_NULL /*null*/;
58342 /* Register variable[4]: Local variable */
58343 /* Register variable[5]: Result */
58344 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58345 variable[4] = variable[5];
58346 /* Register variable[5]: Local variable */
58347 variable[5] = variable[4] /*nodearraylist1*/;
58348 /* Register variable[6]: Result */
58349 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
58350 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction643___action, LOCATE_parser, 22306); nit_exit(1);}
58351 /* Register variable[6]: Local variable */
58352 /* Register variable[7]: Result */
58353 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/) /*new AIntExpr*/;
58354 variable[6] = variable[7];
58355 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58356 /* Register variable[7]: Result */
58357 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58358 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58359 return_label1318: while(false);
58360 tracehead = trace.prev;
58361 return;
58362 }
58363 void parser___ReduceAction643___init(val_t self, int* init_table) {
58364 struct trace_t trace = {NULL, NULL, 22313, LOCATE_parser___ReduceAction643___init};
58365 val_t variable[2];
58366 struct WBT_ **closurevariable = NULL;
58367 trace.prev = tracehead; tracehead = &trace;
58368 trace.file = LOCATE_parser;
58369 /* Register variable[0]: Local variable */
58370 variable[0] = self;
58371 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction643].i]) return;
58372 /* Register variable[1]: Method return value and escape marker */
58373 return_label1319: while(false);
58374 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction643].i] = 1;
58375 tracehead = trace.prev;
58376 return;
58377 }
58378 void parser___ReduceAction644___action(val_t self, val_t param0) {
58379 struct trace_t trace = {NULL, NULL, 22317, LOCATE_parser___ReduceAction644___action};
58380 val_t variable[8];
58381 struct WBT_ **closurevariable = NULL;
58382 trace.prev = tracehead; tracehead = &trace;
58383 trace.file = LOCATE_parser;
58384 /* Register variable[0]: Local variable */
58385 variable[0] = self;
58386 /* Register variable[1]: Local variable */
58387 variable[1] = param0;
58388 /* Register variable[2]: Method return value and escape marker */
58389 /* Register variable[3]: Local variable */
58390 variable[3] = NIT_NULL /*null*/;
58391 /* Register variable[4]: Local variable */
58392 /* Register variable[5]: Result */
58393 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58394 variable[4] = variable[5];
58395 /* Register variable[5]: Local variable */
58396 variable[5] = variable[4] /*nodearraylist1*/;
58397 /* Register variable[6]: Result */
58398 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
58399 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction644___action, LOCATE_parser, 22322); nit_exit(1);}
58400 /* Register variable[6]: Local variable */
58401 /* Register variable[7]: Result */
58402 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/) /*new AFloatExpr*/;
58403 variable[6] = variable[7];
58404 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58405 /* Register variable[7]: Result */
58406 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58407 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58408 return_label1320: while(false);
58409 tracehead = trace.prev;
58410 return;
58411 }
58412 void parser___ReduceAction644___init(val_t self, int* init_table) {
58413 struct trace_t trace = {NULL, NULL, 22329, LOCATE_parser___ReduceAction644___init};
58414 val_t variable[2];
58415 struct WBT_ **closurevariable = NULL;
58416 trace.prev = tracehead; tracehead = &trace;
58417 trace.file = LOCATE_parser;
58418 /* Register variable[0]: Local variable */
58419 variable[0] = self;
58420 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction644].i]) return;
58421 /* Register variable[1]: Method return value and escape marker */
58422 return_label1321: while(false);
58423 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction644].i] = 1;
58424 tracehead = trace.prev;
58425 return;
58426 }
58427 void parser___ReduceAction645___action(val_t self, val_t param0) {
58428 struct trace_t trace = {NULL, NULL, 22333, LOCATE_parser___ReduceAction645___action};
58429 val_t variable[8];
58430 struct WBT_ **closurevariable = NULL;
58431 trace.prev = tracehead; tracehead = &trace;
58432 trace.file = LOCATE_parser;
58433 /* Register variable[0]: Local variable */
58434 variable[0] = self;
58435 /* Register variable[1]: Local variable */
58436 variable[1] = param0;
58437 /* Register variable[2]: Method return value and escape marker */
58438 /* Register variable[3]: Local variable */
58439 variable[3] = NIT_NULL /*null*/;
58440 /* Register variable[4]: Local variable */
58441 /* Register variable[5]: Result */
58442 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58443 variable[4] = variable[5];
58444 /* Register variable[5]: Local variable */
58445 variable[5] = variable[4] /*nodearraylist1*/;
58446 /* Register variable[6]: Result */
58447 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
58448 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction645___action, LOCATE_parser, 22338); nit_exit(1);}
58449 /* Register variable[6]: Local variable */
58450 /* Register variable[7]: Result */
58451 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/) /*new ACharExpr*/;
58452 variable[6] = variable[7];
58453 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58454 /* Register variable[7]: Result */
58455 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58456 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58457 return_label1322: while(false);
58458 tracehead = trace.prev;
58459 return;
58460 }
58461 void parser___ReduceAction645___init(val_t self, int* init_table) {
58462 struct trace_t trace = {NULL, NULL, 22345, LOCATE_parser___ReduceAction645___init};
58463 val_t variable[2];
58464 struct WBT_ **closurevariable = NULL;
58465 trace.prev = tracehead; tracehead = &trace;
58466 trace.file = LOCATE_parser;
58467 /* Register variable[0]: Local variable */
58468 variable[0] = self;
58469 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction645].i]) return;
58470 /* Register variable[1]: Method return value and escape marker */
58471 return_label1323: while(false);
58472 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction645].i] = 1;
58473 tracehead = trace.prev;
58474 return;
58475 }
58476 void parser___ReduceAction646___action(val_t self, val_t param0) {
58477 struct trace_t trace = {NULL, NULL, 22349, LOCATE_parser___ReduceAction646___action};
58478 val_t variable[8];
58479 struct WBT_ **closurevariable = NULL;
58480 trace.prev = tracehead; tracehead = &trace;
58481 trace.file = LOCATE_parser;
58482 /* Register variable[0]: Local variable */
58483 variable[0] = self;
58484 /* Register variable[1]: Local variable */
58485 variable[1] = param0;
58486 /* Register variable[2]: Method return value and escape marker */
58487 /* Register variable[3]: Local variable */
58488 variable[3] = NIT_NULL /*null*/;
58489 /* Register variable[4]: Local variable */
58490 /* Register variable[5]: Result */
58491 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58492 variable[4] = variable[5];
58493 /* Register variable[5]: Local variable */
58494 variable[5] = variable[4] /*nodearraylist1*/;
58495 /* Register variable[6]: Result */
58496 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
58497 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction646___action, LOCATE_parser, 22354); nit_exit(1);}
58498 /* Register variable[6]: Local variable */
58499 /* Register variable[7]: Result */
58500 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/) /*new AStringExpr*/;
58501 variable[6] = variable[7];
58502 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
58503 /* Register variable[7]: Result */
58504 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58505 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
58506 return_label1324: while(false);
58507 tracehead = trace.prev;
58508 return;
58509 }
58510 void parser___ReduceAction646___init(val_t self, int* init_table) {
58511 struct trace_t trace = {NULL, NULL, 22361, LOCATE_parser___ReduceAction646___init};
58512 val_t variable[2];
58513 struct WBT_ **closurevariable = NULL;
58514 trace.prev = tracehead; tracehead = &trace;
58515 trace.file = LOCATE_parser;
58516 /* Register variable[0]: Local variable */
58517 variable[0] = self;
58518 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction646].i]) return;
58519 /* Register variable[1]: Method return value and escape marker */
58520 return_label1325: while(false);
58521 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction646].i] = 1;
58522 tracehead = trace.prev;
58523 return;
58524 }
58525 void parser___ReduceAction647___action(val_t self, val_t param0) {
58526 struct trace_t trace = {NULL, NULL, 22365, LOCATE_parser___ReduceAction647___action};
58527 val_t variable[7];
58528 struct WBT_ **closurevariable = NULL;
58529 trace.prev = tracehead; tracehead = &trace;
58530 trace.file = LOCATE_parser;
58531 /* Register variable[0]: Local variable */
58532 variable[0] = self;
58533 /* Register variable[1]: Local variable */
58534 variable[1] = param0;
58535 /* Register variable[2]: Method return value and escape marker */
58536 /* Register variable[3]: Local variable */
58537 variable[3] = NIT_NULL /*null*/;
58538 /* Register variable[4]: Local variable */
58539 /* Register variable[5]: Result */
58540 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58541 variable[4] = variable[5];
58542 /* Register variable[5]: Local variable */
58543 variable[5] = variable[4] /*nodearraylist1*/;
58544 /* Register variable[6]: Result */
58545 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
58546 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction647___action, LOCATE_parser, 22370); nit_exit(1);}
58547 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
58548 /* Register variable[6]: Result */
58549 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58550 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
58551 return_label1326: while(false);
58552 tracehead = trace.prev;
58553 return;
58554 }
58555 void parser___ReduceAction647___init(val_t self, int* init_table) {
58556 struct trace_t trace = {NULL, NULL, 22374, LOCATE_parser___ReduceAction647___init};
58557 val_t variable[2];
58558 struct WBT_ **closurevariable = NULL;
58559 trace.prev = tracehead; tracehead = &trace;
58560 trace.file = LOCATE_parser;
58561 /* Register variable[0]: Local variable */
58562 variable[0] = self;
58563 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction647].i]) return;
58564 /* Register variable[1]: Method return value and escape marker */
58565 return_label1327: while(false);
58566 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction647].i] = 1;
58567 tracehead = trace.prev;
58568 return;
58569 }
58570 void parser___ReduceAction648___action(val_t self, val_t param0) {
58571 struct trace_t trace = {NULL, NULL, 22378, LOCATE_parser___ReduceAction648___action};
58572 val_t variable[19];
58573 struct WBT_ **closurevariable = NULL;
58574 trace.prev = tracehead; tracehead = &trace;
58575 trace.file = LOCATE_parser;
58576 /* Register variable[0]: Local variable */
58577 variable[0] = self;
58578 /* Register variable[1]: Local variable */
58579 variable[1] = param0;
58580 /* Register variable[2]: Method return value and escape marker */
58581 /* Register variable[3]: Local variable */
58582 variable[3] = NIT_NULL /*null*/;
58583 /* Register variable[4]: Local variable */
58584 /* Register variable[5]: Result */
58585 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58586 variable[4] = variable[5];
58587 /* Register variable[5]: Local variable */
58588 /* Register variable[6]: Result */
58589 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58590 variable[5] = variable[6];
58591 /* Register variable[6]: Local variable */
58592 /* Register variable[7]: Result */
58593 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58594 variable[6] = variable[7];
58595 /* Register variable[7]: Local variable */
58596 /* Register variable[8]: Result */
58597 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58598 variable[7] = variable[8];
58599 /* Register variable[8]: Local variable */
58600 /* Register variable[9]: Result */
58601 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58602 variable[8] = variable[9];
58603 /* Register variable[9]: Local variable */
58604 /* Register variable[10]: Result */
58605 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58606 variable[9] = variable[10];
58607 /* Register variable[10]: Local variable */
58608 /* Register variable[11]: Result */
58609 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58610 variable[10] = variable[11];
58611 /* Register variable[11]: Local variable */
58612 /* Register variable[12]: Result */
58613 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58614 variable[11] = variable[12];
58615 /* Register variable[12]: Local variable */
58616 /* Register variable[13]: Result */
58617 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58618 variable[12] = variable[13];
58619 /* Register variable[13]: Local variable */
58620 /* Register variable[14]: Result */
58621 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58622 variable[13] = variable[14];
58623 /* Register variable[14]: Local variable */
58624 variable[14] = variable[13] /*nodearraylist1*/;
58625 /* Register variable[15]: Result */
58626 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
58627 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 22392); nit_exit(1);}
58628 /* Register variable[15]: Local variable */
58629 variable[15] = variable[10] /*nodearraylist4*/;
58630 /* Register variable[16]: Result */
58631 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
58632 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 22394); nit_exit(1);}
58633 /* Register variable[16]: Local variable */
58634 variable[16] = variable[6] /*nodearraylist8*/;
58635 /* Register variable[17]: Result */
58636 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
58637 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction648___action, LOCATE_parser, 22396); nit_exit(1);}
58638 /* Register variable[17]: Local variable */
58639 /* Register variable[18]: Result */
58640 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/) /*new AAsCastExpr*/;
58641 variable[17] = variable[18];
58642 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
58643 /* Register variable[18]: Result */
58644 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58645 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
58646 return_label1328: while(false);
58647 tracehead = trace.prev;
58648 return;
58649 }
58650 void parser___ReduceAction648___init(val_t self, int* init_table) {
58651 struct trace_t trace = {NULL, NULL, 22405, LOCATE_parser___ReduceAction648___init};
58652 val_t variable[2];
58653 struct WBT_ **closurevariable = NULL;
58654 trace.prev = tracehead; tracehead = &trace;
58655 trace.file = LOCATE_parser;
58656 /* Register variable[0]: Local variable */
58657 variable[0] = self;
58658 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction648].i]) return;
58659 /* Register variable[1]: Method return value and escape marker */
58660 return_label1329: while(false);
58661 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction648].i] = 1;
58662 tracehead = trace.prev;
58663 return;
58664 }
58665 void parser___ReduceAction649___action(val_t self, val_t param0) {
58666 struct trace_t trace = {NULL, NULL, 22409, LOCATE_parser___ReduceAction649___action};
58667 val_t variable[22];
58668 struct WBT_ **closurevariable = NULL;
58669 trace.prev = tracehead; tracehead = &trace;
58670 trace.file = LOCATE_parser;
58671 /* Register variable[0]: Local variable */
58672 variable[0] = self;
58673 /* Register variable[1]: Local variable */
58674 variable[1] = param0;
58675 /* Register variable[2]: Method return value and escape marker */
58676 /* Register variable[3]: Local variable */
58677 variable[3] = NIT_NULL /*null*/;
58678 /* Register variable[4]: Local variable */
58679 /* Register variable[5]: Result */
58680 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58681 variable[4] = variable[5];
58682 /* Register variable[5]: Local variable */
58683 /* Register variable[6]: Result */
58684 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58685 variable[5] = variable[6];
58686 /* Register variable[6]: Local variable */
58687 /* Register variable[7]: Result */
58688 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58689 variable[6] = variable[7];
58690 /* Register variable[7]: Local variable */
58691 /* Register variable[8]: Result */
58692 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58693 variable[7] = variable[8];
58694 /* Register variable[8]: Local variable */
58695 /* Register variable[9]: Result */
58696 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58697 variable[8] = variable[9];
58698 /* Register variable[9]: Local variable */
58699 /* Register variable[10]: Result */
58700 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58701 variable[9] = variable[10];
58702 /* Register variable[10]: Local variable */
58703 /* Register variable[11]: Result */
58704 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58705 variable[10] = variable[11];
58706 /* Register variable[11]: Local variable */
58707 /* Register variable[12]: Result */
58708 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58709 variable[11] = variable[12];
58710 /* Register variable[12]: Local variable */
58711 /* Register variable[13]: Result */
58712 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58713 variable[12] = variable[13];
58714 /* Register variable[13]: Local variable */
58715 /* Register variable[14]: Result */
58716 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58717 variable[13] = variable[14];
58718 /* Register variable[14]: Local variable */
58719 /* Register variable[15]: Result */
58720 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58721 variable[14] = variable[15];
58722 /* Register variable[15]: Local variable */
58723 /* Register variable[16]: Result */
58724 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58725 variable[15] = variable[16];
58726 /* Register variable[16]: Local variable */
58727 variable[16] = variable[15] /*nodearraylist1*/;
58728 /* Register variable[17]: Result */
58729 variable[17] = TAG_Bool(( variable[16] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
58730 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 22425); nit_exit(1);}
58731 /* Register variable[17]: Local variable */
58732 variable[17] = variable[12] /*nodearraylist4*/;
58733 /* Register variable[18]: Result */
58734 variable[18] = TAG_Bool(( variable[17] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
58735 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 22427); nit_exit(1);}
58736 /* Register variable[18]: Local variable */
58737 variable[18] = variable[8] /*nodearraylist8*/;
58738 /* Register variable[19]: Result */
58739 variable[19] = TAG_Bool(( variable[18] /*tkwnotnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwnotnode4*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
58740 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 22429); nit_exit(1);}
58741 /* Register variable[19]: Local variable */
58742 variable[19] = variable[6] /*nodearraylist10*/;
58743 /* Register variable[20]: Result */
58744 variable[20] = TAG_Bool(( variable[19] /*tkwnullnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwnullnode5*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
58745 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction649___action, LOCATE_parser, 22431); nit_exit(1);}
58746 /* Register variable[20]: Local variable */
58747 /* Register variable[21]: Result */
58748 variable[21] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr( variable[16] /*pexprnode2*/, variable[17] /*tkwasnode3*/, variable[18] /*tkwnotnode4*/, variable[19] /*tkwnullnode5*/) /*new AAsNotnullExpr*/;
58749 variable[20] = variable[21];
58750 variable[3] = variable[20] /*pexprnode1*/ /*node_list=*/;
58751 /* Register variable[21]: Result */
58752 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(105)) /*Parser::go_to*/;
58753 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
58754 return_label1330: while(false);
58755 tracehead = trace.prev;
58756 return;
58757 }
58758 void parser___ReduceAction649___init(val_t self, int* init_table) {
58759 struct trace_t trace = {NULL, NULL, 22441, LOCATE_parser___ReduceAction649___init};
58760 val_t variable[2];
58761 struct WBT_ **closurevariable = NULL;
58762 trace.prev = tracehead; tracehead = &trace;
58763 trace.file = LOCATE_parser;
58764 /* Register variable[0]: Local variable */
58765 variable[0] = self;
58766 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction649].i]) return;
58767 /* Register variable[1]: Method return value and escape marker */
58768 return_label1331: while(false);
58769 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction649].i] = 1;
58770 tracehead = trace.prev;
58771 return;
58772 }
58773 void parser___ReduceAction650___action(val_t self, val_t param0) {
58774 struct trace_t trace = {NULL, NULL, 22445, LOCATE_parser___ReduceAction650___action};
58775 val_t variable[7];
58776 struct WBT_ **closurevariable = NULL;
58777 trace.prev = tracehead; tracehead = &trace;
58778 trace.file = LOCATE_parser;
58779 /* Register variable[0]: Local variable */
58780 variable[0] = self;
58781 /* Register variable[1]: Local variable */
58782 variable[1] = param0;
58783 /* Register variable[2]: Method return value and escape marker */
58784 /* Register variable[3]: Local variable */
58785 variable[3] = NIT_NULL /*null*/;
58786 /* Register variable[4]: Local variable */
58787 /* Register variable[5]: Result */
58788 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58789 variable[4] = variable[5];
58790 /* Register variable[5]: Local variable */
58791 variable[5] = variable[4] /*nodearraylist1*/;
58792 /* Register variable[6]: Result */
58793 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
58794 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction650___action, LOCATE_parser, 22450); nit_exit(1);}
58795 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
58796 /* Register variable[6]: Result */
58797 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
58798 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
58799 return_label1332: while(false);
58800 tracehead = trace.prev;
58801 return;
58802 }
58803 void parser___ReduceAction650___init(val_t self, int* init_table) {
58804 struct trace_t trace = {NULL, NULL, 22454, LOCATE_parser___ReduceAction650___init};
58805 val_t variable[2];
58806 struct WBT_ **closurevariable = NULL;
58807 trace.prev = tracehead; tracehead = &trace;
58808 trace.file = LOCATE_parser;
58809 /* Register variable[0]: Local variable */
58810 variable[0] = self;
58811 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction650].i]) return;
58812 /* Register variable[1]: Method return value and escape marker */
58813 return_label1333: while(false);
58814 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction650].i] = 1;
58815 tracehead = trace.prev;
58816 return;
58817 }
58818 void parser___ReduceAction651___action(val_t self, val_t param0) {
58819 struct trace_t trace = {NULL, NULL, 22458, LOCATE_parser___ReduceAction651___action};
58820 val_t variable[18];
58821 struct WBT_ **closurevariable = NULL;
58822 trace.prev = tracehead; tracehead = &trace;
58823 trace.file = LOCATE_parser;
58824 /* Register variable[0]: Local variable */
58825 variable[0] = self;
58826 /* Register variable[1]: Local variable */
58827 variable[1] = param0;
58828 /* Register variable[2]: Method return value and escape marker */
58829 /* Register variable[3]: Local variable */
58830 variable[3] = NIT_NULL /*null*/;
58831 /* Register variable[4]: Local variable */
58832 /* Register variable[5]: Result */
58833 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58834 variable[4] = variable[5];
58835 /* Register variable[5]: Local variable */
58836 /* Register variable[6]: Result */
58837 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58838 variable[5] = variable[6];
58839 /* Register variable[6]: Local variable */
58840 /* Register variable[7]: Result */
58841 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58842 variable[6] = variable[7];
58843 /* Register variable[7]: Local variable */
58844 /* Register variable[8]: Result */
58845 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58846 variable[7] = variable[8];
58847 /* Register variable[8]: Local variable */
58848 /* Register variable[9]: Result */
58849 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58850 variable[8] = variable[9];
58851 /* Register variable[9]: Local variable */
58852 /* Register variable[10]: Result */
58853 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58854 variable[9] = variable[10];
58855 /* Register variable[10]: Local variable */
58856 /* Register variable[11]: Result */
58857 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
58858 variable[10] = variable[11];
58859 /* Register variable[11]: Local variable */
58860 /* Register variable[12]: Result */
58861 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
58862 variable[11] = variable[12];
58863 /* Register variable[12]: Local variable */
58864 variable[12] = variable[9] /*nodearraylist1*/;
58865 /* Register variable[13]: Result */
58866 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
58867 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 22470); nit_exit(1);}
58868 /* Register variable[13]: Local variable */
58869 variable[13] = variable[6] /*nodearraylist4*/;
58870 /* Register variable[14]: Result */
58871 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
58872 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 22472); nit_exit(1);}
58873 /* Register variable[14]: Local variable */
58874 variable[14] = variable[5] /*nodearraylist5*/;
58875 /* Register variable[15]: Result */
58876 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58877 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 22474); nit_exit(1);}
58878 /* Register variable[15]: Result */
58879 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::==*/)))))));
58880 if (UNTAG_Bool(variable[15])) { /*if*/
58881 /* Register variable[15]: Result */
58882 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
58883 if (UNTAG_Bool(variable[15])) { /*if*/
58884 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
58885 } else { /*if*/
58886 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
58887 }
58888 }
58889 /* Register variable[15]: Local variable */
58890 variable[15] = variable[4] /*nodearraylist6*/;
58891 /* Register variable[16]: Result */
58892 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58893 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction651___action, LOCATE_parser, 22483); nit_exit(1);}
58894 /* Register variable[16]: Result */
58895 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::==*/)))))));
58896 if (UNTAG_Bool(variable[16])) { /*if*/
58897 /* Register variable[16]: Result */
58898 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
58899 if (UNTAG_Bool(variable[16])) { /*if*/
58900 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
58901 } else { /*if*/
58902 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
58903 }
58904 }
58905 /* Register variable[16]: Local variable */
58906 /* Register variable[17]: Result */
58907 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
58908 variable[16] = variable[17];
58909 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
58910 /* Register variable[17]: Result */
58911 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
58912 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
58913 return_label1334: while(false);
58914 tracehead = trace.prev;
58915 return;
58916 }
58917 void parser___ReduceAction651___init(val_t self, int* init_table) {
58918 struct trace_t trace = {NULL, NULL, 22500, LOCATE_parser___ReduceAction651___init};
58919 val_t variable[2];
58920 struct WBT_ **closurevariable = NULL;
58921 trace.prev = tracehead; tracehead = &trace;
58922 trace.file = LOCATE_parser;
58923 /* Register variable[0]: Local variable */
58924 variable[0] = self;
58925 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction651].i]) return;
58926 /* Register variable[1]: Method return value and escape marker */
58927 return_label1335: while(false);
58928 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction651].i] = 1;
58929 tracehead = trace.prev;
58930 return;
58931 }
58932 void parser___ReduceAction652___action(val_t self, val_t param0) {
58933 struct trace_t trace = {NULL, NULL, 22504, LOCATE_parser___ReduceAction652___action};
58934 val_t variable[15];
58935 struct WBT_ **closurevariable = NULL;
58936 trace.prev = tracehead; tracehead = &trace;
58937 trace.file = LOCATE_parser;
58938 /* Register variable[0]: Local variable */
58939 variable[0] = self;
58940 /* Register variable[1]: Local variable */
58941 variable[1] = param0;
58942 /* Register variable[2]: Method return value and escape marker */
58943 /* Register variable[3]: Local variable */
58944 variable[3] = NIT_NULL /*null*/;
58945 /* Register variable[4]: Local variable */
58946 /* Register variable[5]: Result */
58947 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58948 variable[4] = variable[5];
58949 /* Register variable[5]: Local variable */
58950 /* Register variable[6]: Result */
58951 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58952 variable[5] = variable[6];
58953 /* Register variable[6]: Local variable */
58954 /* Register variable[7]: Result */
58955 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
58956 variable[6] = variable[7];
58957 /* Register variable[7]: Local variable */
58958 /* Register variable[8]: Result */
58959 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
58960 variable[7] = variable[8];
58961 /* Register variable[8]: Local variable */
58962 /* Register variable[9]: Result */
58963 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
58964 variable[8] = variable[9];
58965 /* Register variable[9]: Local variable */
58966 /* Register variable[10]: Result */
58967 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
58968 variable[9] = variable[10];
58969 /* Register variable[10]: Local variable */
58970 variable[10] = variable[6] /*nodearraylist1*/;
58971 /* Register variable[11]: Result */
58972 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
58973 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 22515); nit_exit(1);}
58974 /* Register variable[11]: Local variable */
58975 variable[11] = variable[5] /*nodearraylist2*/;
58976 /* Register variable[12]: Result */
58977 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58978 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 22517); nit_exit(1);}
58979 /* Register variable[12]: Result */
58980 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::==*/)))))));
58981 if (UNTAG_Bool(variable[12])) { /*if*/
58982 /* Register variable[12]: Result */
58983 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
58984 if (UNTAG_Bool(variable[12])) { /*if*/
58985 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
58986 } else { /*if*/
58987 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
58988 }
58989 }
58990 /* Register variable[12]: Local variable */
58991 variable[12] = variable[4] /*nodearraylist3*/;
58992 /* Register variable[13]: Result */
58993 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
58994 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction652___action, LOCATE_parser, 22526); nit_exit(1);}
58995 /* Register variable[13]: Result */
58996 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::==*/)))))));
58997 if (UNTAG_Bool(variable[13])) { /*if*/
58998 /* Register variable[13]: Result */
58999 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
59000 if (UNTAG_Bool(variable[13])) { /*if*/
59001 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
59002 } else { /*if*/
59003 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
59004 }
59005 }
59006 /* Register variable[13]: Local variable */
59007 /* Register variable[14]: Result */
59008 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
59009 variable[13] = variable[14];
59010 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
59011 /* Register variable[14]: Result */
59012 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(106)) /*Parser::go_to*/;
59013 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
59014 return_label1336: while(false);
59015 tracehead = trace.prev;
59016 return;
59017 }
59018 void parser___ReduceAction652___init(val_t self, int* init_table) {
59019 struct trace_t trace = {NULL, NULL, 22543, LOCATE_parser___ReduceAction652___init};
59020 val_t variable[2];
59021 struct WBT_ **closurevariable = NULL;
59022 trace.prev = tracehead; tracehead = &trace;
59023 trace.file = LOCATE_parser;
59024 /* Register variable[0]: Local variable */
59025 variable[0] = self;
59026 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction652].i]) return;
59027 /* Register variable[1]: Method return value and escape marker */
59028 return_label1337: while(false);
59029 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction652].i] = 1;
59030 tracehead = trace.prev;
59031 return;
59032 }
59033 void parser___ReduceAction653___action(val_t self, val_t param0) {
59034 struct trace_t trace = {NULL, NULL, 22547, LOCATE_parser___ReduceAction653___action};
59035 val_t variable[7];
59036 struct WBT_ **closurevariable = NULL;
59037 trace.prev = tracehead; tracehead = &trace;
59038 trace.file = LOCATE_parser;
59039 /* Register variable[0]: Local variable */
59040 variable[0] = self;
59041 /* Register variable[1]: Local variable */
59042 variable[1] = param0;
59043 /* Register variable[2]: Method return value and escape marker */
59044 /* Register variable[3]: Local variable */
59045 variable[3] = NIT_NULL /*null*/;
59046 /* Register variable[4]: Local variable */
59047 /* Register variable[5]: Result */
59048 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59049 variable[4] = variable[5];
59050 /* Register variable[5]: Local variable */
59051 variable[5] = variable[4] /*nodearraylist1*/;
59052 /* Register variable[6]: Result */
59053 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59054 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction653___action, LOCATE_parser, 22552); nit_exit(1);}
59055 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
59056 /* Register variable[6]: Result */
59057 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
59058 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
59059 return_label1338: while(false);
59060 tracehead = trace.prev;
59061 return;
59062 }
59063 void parser___ReduceAction653___init(val_t self, int* init_table) {
59064 struct trace_t trace = {NULL, NULL, 22556, LOCATE_parser___ReduceAction653___init};
59065 val_t variable[2];
59066 struct WBT_ **closurevariable = NULL;
59067 trace.prev = tracehead; tracehead = &trace;
59068 trace.file = LOCATE_parser;
59069 /* Register variable[0]: Local variable */
59070 variable[0] = self;
59071 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction653].i]) return;
59072 /* Register variable[1]: Method return value and escape marker */
59073 return_label1339: while(false);
59074 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction653].i] = 1;
59075 tracehead = trace.prev;
59076 return;
59077 }
59078 void parser___ReduceAction654___action(val_t self, val_t param0) {
59079 struct trace_t trace = {NULL, NULL, 22560, LOCATE_parser___ReduceAction654___action};
59080 val_t variable[23];
59081 struct WBT_ **closurevariable = NULL;
59082 trace.prev = tracehead; tracehead = &trace;
59083 trace.file = LOCATE_parser;
59084 /* Register variable[0]: Local variable */
59085 variable[0] = self;
59086 /* Register variable[1]: Local variable */
59087 variable[1] = param0;
59088 /* Register variable[2]: Method return value and escape marker */
59089 /* Register variable[3]: Local variable */
59090 variable[3] = NIT_NULL /*null*/;
59091 /* Register variable[4]: Local variable */
59092 /* Register variable[5]: Result */
59093 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59094 variable[4] = variable[5];
59095 /* Register variable[5]: Local variable */
59096 /* Register variable[6]: Result */
59097 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59098 variable[5] = variable[6];
59099 /* Register variable[6]: Local variable */
59100 /* Register variable[7]: Result */
59101 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59102 variable[6] = variable[7];
59103 /* Register variable[7]: Local variable */
59104 /* Register variable[8]: Result */
59105 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59106 variable[7] = variable[8];
59107 /* Register variable[8]: Local variable */
59108 /* Register variable[9]: Result */
59109 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59110 variable[8] = variable[9];
59111 /* Register variable[9]: Local variable */
59112 /* Register variable[10]: Result */
59113 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59114 variable[9] = variable[10];
59115 /* Register variable[10]: Local variable */
59116 /* Register variable[11]: Result */
59117 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59118 variable[10] = variable[11];
59119 /* Register variable[11]: Local variable */
59120 /* Register variable[12]: Result */
59121 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59122 variable[11] = variable[12];
59123 /* Register variable[12]: Local variable */
59124 /* Register variable[13]: Result */
59125 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59126 variable[12] = variable[13];
59127 /* Register variable[13]: Local variable */
59128 /* Register variable[14]: Result */
59129 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59130 variable[13] = variable[14];
59131 /* Register variable[14]: Local variable */
59132 /* Register variable[15]: Result */
59133 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59134 variable[14] = variable[15];
59135 /* Register variable[15]: Local variable */
59136 variable[15] = variable[14] /*nodearraylist1*/;
59137 /* Register variable[16]: Result */
59138 variable[16] = TAG_Bool(( variable[15] /*tkwifnode2*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwifnode2*/, COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
59139 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22575); nit_exit(1);}
59140 /* Register variable[16]: Local variable */
59141 variable[16] = variable[12] /*nodearraylist3*/;
59142 /* Register variable[17]: Result */
59143 variable[17] = TAG_Bool(( variable[16] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59144 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22577); nit_exit(1);}
59145 /* Register variable[17]: Local variable */
59146 variable[17] = variable[10] /*nodearraylist5*/;
59147 /* Register variable[18]: Result */
59148 variable[18] = TAG_Bool(( variable[17] /*tkwthennode4*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwthennode4*/, COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
59149 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22579); nit_exit(1);}
59150 /* Register variable[18]: Local variable */
59151 variable[18] = variable[8] /*nodearraylist7*/;
59152 /* Register variable[19]: Result */
59153 variable[19] = TAG_Bool(( variable[18] /*pexprnode5*/==NIT_NULL) || VAL_ISA( variable[18] /*pexprnode5*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59154 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22581); nit_exit(1);}
59155 /* Register variable[19]: Local variable */
59156 variable[19] = variable[6] /*nodearraylist9*/;
59157 /* Register variable[20]: Result */
59158 variable[20] = TAG_Bool(( variable[19] /*tkwelsenode6*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwelsenode6*/, COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
59159 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22583); nit_exit(1);}
59160 /* Register variable[20]: Local variable */
59161 variable[20] = variable[4] /*nodearraylist11*/;
59162 /* Register variable[21]: Result */
59163 variable[21] = TAG_Bool(( variable[20] /*pexprnode7*/==NIT_NULL) || VAL_ISA( variable[20] /*pexprnode7*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59164 if (!UNTAG_Bool(variable[21])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction654___action, LOCATE_parser, 22585); nit_exit(1);}
59165 /* Register variable[21]: Local variable */
59166 /* Register variable[22]: Result */
59167 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*/;
59168 variable[21] = variable[22];
59169 variable[3] = variable[21] /*pexprnode1*/ /*node_list=*/;
59170 /* Register variable[22]: Result */
59171 variable[22] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(107)) /*Parser::go_to*/;
59172 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[22], variable[3] /*node_list*/) /*Parser::push*/;
59173 return_label1340: while(false);
59174 tracehead = trace.prev;
59175 return;
59176 }
59177 void parser___ReduceAction654___init(val_t self, int* init_table) {
59178 struct trace_t trace = {NULL, NULL, 22597, LOCATE_parser___ReduceAction654___init};
59179 val_t variable[2];
59180 struct WBT_ **closurevariable = NULL;
59181 trace.prev = tracehead; tracehead = &trace;
59182 trace.file = LOCATE_parser;
59183 /* Register variable[0]: Local variable */
59184 variable[0] = self;
59185 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction654].i]) return;
59186 /* Register variable[1]: Method return value and escape marker */
59187 return_label1341: while(false);
59188 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction654].i] = 1;
59189 tracehead = trace.prev;
59190 return;
59191 }
59192 void parser___ReduceAction655___action(val_t self, val_t param0) {
59193 struct trace_t trace = {NULL, NULL, 22601, LOCATE_parser___ReduceAction655___action};
59194 val_t variable[7];
59195 struct WBT_ **closurevariable = NULL;
59196 trace.prev = tracehead; tracehead = &trace;
59197 trace.file = LOCATE_parser;
59198 /* Register variable[0]: Local variable */
59199 variable[0] = self;
59200 /* Register variable[1]: Local variable */
59201 variable[1] = param0;
59202 /* Register variable[2]: Method return value and escape marker */
59203 /* Register variable[3]: Local variable */
59204 variable[3] = NIT_NULL /*null*/;
59205 /* Register variable[4]: Local variable */
59206 /* Register variable[5]: Result */
59207 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59208 variable[4] = variable[5];
59209 /* Register variable[5]: Local variable */
59210 variable[5] = variable[4] /*nodearraylist1*/;
59211 /* Register variable[6]: Result */
59212 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59213 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction655___action, LOCATE_parser, 22606); nit_exit(1);}
59214 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
59215 /* Register variable[6]: Result */
59216 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
59217 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
59218 return_label1342: while(false);
59219 tracehead = trace.prev;
59220 return;
59221 }
59222 void parser___ReduceAction655___init(val_t self, int* init_table) {
59223 struct trace_t trace = {NULL, NULL, 22610, LOCATE_parser___ReduceAction655___init};
59224 val_t variable[2];
59225 struct WBT_ **closurevariable = NULL;
59226 trace.prev = tracehead; tracehead = &trace;
59227 trace.file = LOCATE_parser;
59228 /* Register variable[0]: Local variable */
59229 variable[0] = self;
59230 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction655].i]) return;
59231 /* Register variable[1]: Method return value and escape marker */
59232 return_label1343: while(false);
59233 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction655].i] = 1;
59234 tracehead = trace.prev;
59235 return;
59236 }
59237 void parser___ReduceAction656___action(val_t self, val_t param0) {
59238 struct trace_t trace = {NULL, NULL, 22614, LOCATE_parser___ReduceAction656___action};
59239 val_t variable[12];
59240 struct WBT_ **closurevariable = NULL;
59241 trace.prev = tracehead; tracehead = &trace;
59242 trace.file = LOCATE_parser;
59243 /* Register variable[0]: Local variable */
59244 variable[0] = self;
59245 /* Register variable[1]: Local variable */
59246 variable[1] = param0;
59247 /* Register variable[2]: Method return value and escape marker */
59248 /* Register variable[3]: Local variable */
59249 variable[3] = NIT_NULL /*null*/;
59250 /* Register variable[4]: Local variable */
59251 /* Register variable[5]: Result */
59252 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59253 variable[4] = variable[5];
59254 /* Register variable[5]: Local variable */
59255 /* Register variable[6]: Result */
59256 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59257 variable[5] = variable[6];
59258 /* Register variable[6]: Local variable */
59259 /* Register variable[7]: Result */
59260 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59261 variable[6] = variable[7];
59262 /* Register variable[7]: Local variable */
59263 /* Register variable[8]: Result */
59264 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59265 variable[7] = variable[8];
59266 /* Register variable[8]: Local variable */
59267 variable[8] = variable[7] /*nodearraylist1*/;
59268 /* Register variable[9]: Result */
59269 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59270 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction656___action, LOCATE_parser, 22622); nit_exit(1);}
59271 /* Register variable[9]: Local variable */
59272 variable[9] = variable[4] /*nodearraylist4*/;
59273 /* Register variable[10]: Result */
59274 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59275 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction656___action, LOCATE_parser, 22624); nit_exit(1);}
59276 /* Register variable[10]: Local variable */
59277 /* Register variable[11]: Result */
59278 variable[11] = NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AOrExpr*/;
59279 variable[10] = variable[11];
59280 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59281 /* Register variable[11]: Result */
59282 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
59283 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59284 return_label1344: while(false);
59285 tracehead = trace.prev;
59286 return;
59287 }
59288 void parser___ReduceAction656___init(val_t self, int* init_table) {
59289 struct trace_t trace = {NULL, NULL, 22632, LOCATE_parser___ReduceAction656___init};
59290 val_t variable[2];
59291 struct WBT_ **closurevariable = NULL;
59292 trace.prev = tracehead; tracehead = &trace;
59293 trace.file = LOCATE_parser;
59294 /* Register variable[0]: Local variable */
59295 variable[0] = self;
59296 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction656].i]) return;
59297 /* Register variable[1]: Method return value and escape marker */
59298 return_label1345: while(false);
59299 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction656].i] = 1;
59300 tracehead = trace.prev;
59301 return;
59302 }
59303 void parser___ReduceAction657___action(val_t self, val_t param0) {
59304 struct trace_t trace = {NULL, NULL, 22636, LOCATE_parser___ReduceAction657___action};
59305 val_t variable[12];
59306 struct WBT_ **closurevariable = NULL;
59307 trace.prev = tracehead; tracehead = &trace;
59308 trace.file = LOCATE_parser;
59309 /* Register variable[0]: Local variable */
59310 variable[0] = self;
59311 /* Register variable[1]: Local variable */
59312 variable[1] = param0;
59313 /* Register variable[2]: Method return value and escape marker */
59314 /* Register variable[3]: Local variable */
59315 variable[3] = NIT_NULL /*null*/;
59316 /* Register variable[4]: Local variable */
59317 /* Register variable[5]: Result */
59318 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59319 variable[4] = variable[5];
59320 /* Register variable[5]: Local variable */
59321 /* Register variable[6]: Result */
59322 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59323 variable[5] = variable[6];
59324 /* Register variable[6]: Local variable */
59325 /* Register variable[7]: Result */
59326 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59327 variable[6] = variable[7];
59328 /* Register variable[7]: Local variable */
59329 /* Register variable[8]: Result */
59330 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59331 variable[7] = variable[8];
59332 /* Register variable[8]: Local variable */
59333 variable[8] = variable[7] /*nodearraylist1*/;
59334 /* Register variable[9]: Result */
59335 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59336 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 22644); nit_exit(1);}
59337 /* Register variable[9]: Local variable */
59338 variable[9] = variable[4] /*nodearraylist4*/;
59339 /* Register variable[10]: Result */
59340 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59341 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction657___action, LOCATE_parser, 22646); nit_exit(1);}
59342 /* Register variable[10]: Local variable */
59343 /* Register variable[11]: Result */
59344 variable[11] = NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AAndExpr*/;
59345 variable[10] = variable[11];
59346 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59347 /* Register variable[11]: Result */
59348 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(108)) /*Parser::go_to*/;
59349 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59350 return_label1346: while(false);
59351 tracehead = trace.prev;
59352 return;
59353 }
59354 void parser___ReduceAction657___init(val_t self, int* init_table) {
59355 struct trace_t trace = {NULL, NULL, 22654, LOCATE_parser___ReduceAction657___init};
59356 val_t variable[2];
59357 struct WBT_ **closurevariable = NULL;
59358 trace.prev = tracehead; tracehead = &trace;
59359 trace.file = LOCATE_parser;
59360 /* Register variable[0]: Local variable */
59361 variable[0] = self;
59362 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction657].i]) return;
59363 /* Register variable[1]: Method return value and escape marker */
59364 return_label1347: while(false);
59365 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction657].i] = 1;
59366 tracehead = trace.prev;
59367 return;
59368 }
59369 void parser___ReduceAction658___action(val_t self, val_t param0) {
59370 struct trace_t trace = {NULL, NULL, 22658, LOCATE_parser___ReduceAction658___action};
59371 val_t variable[7];
59372 struct WBT_ **closurevariable = NULL;
59373 trace.prev = tracehead; tracehead = &trace;
59374 trace.file = LOCATE_parser;
59375 /* Register variable[0]: Local variable */
59376 variable[0] = self;
59377 /* Register variable[1]: Local variable */
59378 variable[1] = param0;
59379 /* Register variable[2]: Method return value and escape marker */
59380 /* Register variable[3]: Local variable */
59381 variable[3] = NIT_NULL /*null*/;
59382 /* Register variable[4]: Local variable */
59383 /* Register variable[5]: Result */
59384 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59385 variable[4] = variable[5];
59386 /* Register variable[5]: Local variable */
59387 variable[5] = variable[4] /*nodearraylist1*/;
59388 /* Register variable[6]: Result */
59389 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59390 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction658___action, LOCATE_parser, 22663); nit_exit(1);}
59391 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
59392 /* Register variable[6]: Result */
59393 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
59394 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
59395 return_label1348: while(false);
59396 tracehead = trace.prev;
59397 return;
59398 }
59399 void parser___ReduceAction658___init(val_t self, int* init_table) {
59400 struct trace_t trace = {NULL, NULL, 22667, LOCATE_parser___ReduceAction658___init};
59401 val_t variable[2];
59402 struct WBT_ **closurevariable = NULL;
59403 trace.prev = tracehead; tracehead = &trace;
59404 trace.file = LOCATE_parser;
59405 /* Register variable[0]: Local variable */
59406 variable[0] = self;
59407 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction658].i]) return;
59408 /* Register variable[1]: Method return value and escape marker */
59409 return_label1349: while(false);
59410 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction658].i] = 1;
59411 tracehead = trace.prev;
59412 return;
59413 }
59414 void parser___ReduceAction659___action(val_t self, val_t param0) {
59415 struct trace_t trace = {NULL, NULL, 22671, LOCATE_parser___ReduceAction659___action};
59416 val_t variable[11];
59417 struct WBT_ **closurevariable = NULL;
59418 trace.prev = tracehead; tracehead = &trace;
59419 trace.file = LOCATE_parser;
59420 /* Register variable[0]: Local variable */
59421 variable[0] = self;
59422 /* Register variable[1]: Local variable */
59423 variable[1] = param0;
59424 /* Register variable[2]: Method return value and escape marker */
59425 /* Register variable[3]: Local variable */
59426 variable[3] = NIT_NULL /*null*/;
59427 /* Register variable[4]: Local variable */
59428 /* Register variable[5]: Result */
59429 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59430 variable[4] = variable[5];
59431 /* Register variable[5]: Local variable */
59432 /* Register variable[6]: Result */
59433 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59434 variable[5] = variable[6];
59435 /* Register variable[6]: Local variable */
59436 /* Register variable[7]: Result */
59437 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59438 variable[6] = variable[7];
59439 /* Register variable[7]: Local variable */
59440 variable[7] = variable[6] /*nodearraylist1*/;
59441 /* Register variable[8]: Result */
59442 variable[8] = TAG_Bool(( variable[7] /*tkwnotnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwnotnode2*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
59443 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction659___action, LOCATE_parser, 22678); nit_exit(1);}
59444 /* Register variable[8]: Local variable */
59445 variable[8] = variable[4] /*nodearraylist3*/;
59446 /* Register variable[9]: Result */
59447 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59448 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction659___action, LOCATE_parser, 22680); nit_exit(1);}
59449 /* Register variable[9]: Local variable */
59450 /* Register variable[10]: Result */
59451 variable[10] = NEW_ANotExpr_parser_prod___ANotExpr___init_anotexpr( variable[7] /*tkwnotnode2*/, variable[8] /*pexprnode3*/) /*new ANotExpr*/;
59452 variable[9] = variable[10];
59453 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
59454 /* Register variable[10]: Result */
59455 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(109)) /*Parser::go_to*/;
59456 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
59457 return_label1350: while(false);
59458 tracehead = trace.prev;
59459 return;
59460 }
59461 void parser___ReduceAction659___init(val_t self, int* init_table) {
59462 struct trace_t trace = {NULL, NULL, 22688, LOCATE_parser___ReduceAction659___init};
59463 val_t variable[2];
59464 struct WBT_ **closurevariable = NULL;
59465 trace.prev = tracehead; tracehead = &trace;
59466 trace.file = LOCATE_parser;
59467 /* Register variable[0]: Local variable */
59468 variable[0] = self;
59469 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction659].i]) return;
59470 /* Register variable[1]: Method return value and escape marker */
59471 return_label1351: while(false);
59472 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction659].i] = 1;
59473 tracehead = trace.prev;
59474 return;
59475 }
59476 void parser___ReduceAction660___action(val_t self, val_t param0) {
59477 struct trace_t trace = {NULL, NULL, 22692, LOCATE_parser___ReduceAction660___action};
59478 val_t variable[7];
59479 struct WBT_ **closurevariable = NULL;
59480 trace.prev = tracehead; tracehead = &trace;
59481 trace.file = LOCATE_parser;
59482 /* Register variable[0]: Local variable */
59483 variable[0] = self;
59484 /* Register variable[1]: Local variable */
59485 variable[1] = param0;
59486 /* Register variable[2]: Method return value and escape marker */
59487 /* Register variable[3]: Local variable */
59488 variable[3] = NIT_NULL /*null*/;
59489 /* Register variable[4]: Local variable */
59490 /* Register variable[5]: Result */
59491 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59492 variable[4] = variable[5];
59493 /* Register variable[5]: Local variable */
59494 variable[5] = variable[4] /*nodearraylist1*/;
59495 /* Register variable[6]: Result */
59496 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59497 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction660___action, LOCATE_parser, 22697); nit_exit(1);}
59498 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
59499 /* Register variable[6]: Result */
59500 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59501 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
59502 return_label1352: while(false);
59503 tracehead = trace.prev;
59504 return;
59505 }
59506 void parser___ReduceAction660___init(val_t self, int* init_table) {
59507 struct trace_t trace = {NULL, NULL, 22701, LOCATE_parser___ReduceAction660___init};
59508 val_t variable[2];
59509 struct WBT_ **closurevariable = NULL;
59510 trace.prev = tracehead; tracehead = &trace;
59511 trace.file = LOCATE_parser;
59512 /* Register variable[0]: Local variable */
59513 variable[0] = self;
59514 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction660].i]) return;
59515 /* Register variable[1]: Method return value and escape marker */
59516 return_label1353: while(false);
59517 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction660].i] = 1;
59518 tracehead = trace.prev;
59519 return;
59520 }
59521 void parser___ReduceAction661___action(val_t self, val_t param0) {
59522 struct trace_t trace = {NULL, NULL, 22705, LOCATE_parser___ReduceAction661___action};
59523 val_t variable[12];
59524 struct WBT_ **closurevariable = NULL;
59525 trace.prev = tracehead; tracehead = &trace;
59526 trace.file = LOCATE_parser;
59527 /* Register variable[0]: Local variable */
59528 variable[0] = self;
59529 /* Register variable[1]: Local variable */
59530 variable[1] = param0;
59531 /* Register variable[2]: Method return value and escape marker */
59532 /* Register variable[3]: Local variable */
59533 variable[3] = NIT_NULL /*null*/;
59534 /* Register variable[4]: Local variable */
59535 /* Register variable[5]: Result */
59536 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59537 variable[4] = variable[5];
59538 /* Register variable[5]: Local variable */
59539 /* Register variable[6]: Result */
59540 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59541 variable[5] = variable[6];
59542 /* Register variable[6]: Local variable */
59543 /* Register variable[7]: Result */
59544 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59545 variable[6] = variable[7];
59546 /* Register variable[7]: Local variable */
59547 /* Register variable[8]: Result */
59548 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59549 variable[7] = variable[8];
59550 /* Register variable[8]: Local variable */
59551 variable[8] = variable[7] /*nodearraylist1*/;
59552 /* Register variable[9]: Result */
59553 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59554 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 22713); nit_exit(1);}
59555 /* Register variable[9]: Local variable */
59556 variable[9] = variable[4] /*nodearraylist4*/;
59557 /* Register variable[10]: Result */
59558 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59559 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction661___action, LOCATE_parser, 22715); nit_exit(1);}
59560 /* Register variable[10]: Local variable */
59561 /* Register variable[11]: Result */
59562 variable[11] = NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEqExpr*/;
59563 variable[10] = variable[11];
59564 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59565 /* Register variable[11]: Result */
59566 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59567 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59568 return_label1354: while(false);
59569 tracehead = trace.prev;
59570 return;
59571 }
59572 void parser___ReduceAction661___init(val_t self, int* init_table) {
59573 struct trace_t trace = {NULL, NULL, 22723, LOCATE_parser___ReduceAction661___init};
59574 val_t variable[2];
59575 struct WBT_ **closurevariable = NULL;
59576 trace.prev = tracehead; tracehead = &trace;
59577 trace.file = LOCATE_parser;
59578 /* Register variable[0]: Local variable */
59579 variable[0] = self;
59580 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction661].i]) return;
59581 /* Register variable[1]: Method return value and escape marker */
59582 return_label1355: while(false);
59583 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction661].i] = 1;
59584 tracehead = trace.prev;
59585 return;
59586 }
59587 void parser___ReduceAction662___action(val_t self, val_t param0) {
59588 struct trace_t trace = {NULL, NULL, 22727, LOCATE_parser___ReduceAction662___action};
59589 val_t variable[12];
59590 struct WBT_ **closurevariable = NULL;
59591 trace.prev = tracehead; tracehead = &trace;
59592 trace.file = LOCATE_parser;
59593 /* Register variable[0]: Local variable */
59594 variable[0] = self;
59595 /* Register variable[1]: Local variable */
59596 variable[1] = param0;
59597 /* Register variable[2]: Method return value and escape marker */
59598 /* Register variable[3]: Local variable */
59599 variable[3] = NIT_NULL /*null*/;
59600 /* Register variable[4]: Local variable */
59601 /* Register variable[5]: Result */
59602 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59603 variable[4] = variable[5];
59604 /* Register variable[5]: Local variable */
59605 /* Register variable[6]: Result */
59606 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59607 variable[5] = variable[6];
59608 /* Register variable[6]: Local variable */
59609 /* Register variable[7]: Result */
59610 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59611 variable[6] = variable[7];
59612 /* Register variable[7]: Local variable */
59613 /* Register variable[8]: Result */
59614 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59615 variable[7] = variable[8];
59616 /* Register variable[8]: Local variable */
59617 variable[8] = variable[7] /*nodearraylist1*/;
59618 /* Register variable[9]: Result */
59619 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59620 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 22735); nit_exit(1);}
59621 /* Register variable[9]: Local variable */
59622 variable[9] = variable[4] /*nodearraylist4*/;
59623 /* Register variable[10]: Result */
59624 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59625 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction662___action, LOCATE_parser, 22737); nit_exit(1);}
59626 /* Register variable[10]: Local variable */
59627 /* Register variable[11]: Result */
59628 variable[11] = NEW_AEeExpr_parser_prod___AEeExpr___init_aeeexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AEeExpr*/;
59629 variable[10] = variable[11];
59630 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59631 /* Register variable[11]: Result */
59632 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59633 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59634 return_label1356: while(false);
59635 tracehead = trace.prev;
59636 return;
59637 }
59638 void parser___ReduceAction662___init(val_t self, int* init_table) {
59639 struct trace_t trace = {NULL, NULL, 22745, LOCATE_parser___ReduceAction662___init};
59640 val_t variable[2];
59641 struct WBT_ **closurevariable = NULL;
59642 trace.prev = tracehead; tracehead = &trace;
59643 trace.file = LOCATE_parser;
59644 /* Register variable[0]: Local variable */
59645 variable[0] = self;
59646 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction662].i]) return;
59647 /* Register variable[1]: Method return value and escape marker */
59648 return_label1357: while(false);
59649 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction662].i] = 1;
59650 tracehead = trace.prev;
59651 return;
59652 }
59653 void parser___ReduceAction663___action(val_t self, val_t param0) {
59654 struct trace_t trace = {NULL, NULL, 22749, LOCATE_parser___ReduceAction663___action};
59655 val_t variable[12];
59656 struct WBT_ **closurevariable = NULL;
59657 trace.prev = tracehead; tracehead = &trace;
59658 trace.file = LOCATE_parser;
59659 /* Register variable[0]: Local variable */
59660 variable[0] = self;
59661 /* Register variable[1]: Local variable */
59662 variable[1] = param0;
59663 /* Register variable[2]: Method return value and escape marker */
59664 /* Register variable[3]: Local variable */
59665 variable[3] = NIT_NULL /*null*/;
59666 /* Register variable[4]: Local variable */
59667 /* Register variable[5]: Result */
59668 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59669 variable[4] = variable[5];
59670 /* Register variable[5]: Local variable */
59671 /* Register variable[6]: Result */
59672 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59673 variable[5] = variable[6];
59674 /* Register variable[6]: Local variable */
59675 /* Register variable[7]: Result */
59676 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59677 variable[6] = variable[7];
59678 /* Register variable[7]: Local variable */
59679 /* Register variable[8]: Result */
59680 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59681 variable[7] = variable[8];
59682 /* Register variable[8]: Local variable */
59683 variable[8] = variable[7] /*nodearraylist1*/;
59684 /* Register variable[9]: Result */
59685 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59686 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction663___action, LOCATE_parser, 22757); nit_exit(1);}
59687 /* Register variable[9]: Local variable */
59688 variable[9] = variable[4] /*nodearraylist4*/;
59689 /* Register variable[10]: Result */
59690 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59691 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction663___action, LOCATE_parser, 22759); nit_exit(1);}
59692 /* Register variable[10]: Local variable */
59693 /* Register variable[11]: Result */
59694 variable[11] = NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ANeExpr*/;
59695 variable[10] = variable[11];
59696 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59697 /* Register variable[11]: Result */
59698 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59699 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59700 return_label1358: while(false);
59701 tracehead = trace.prev;
59702 return;
59703 }
59704 void parser___ReduceAction663___init(val_t self, int* init_table) {
59705 struct trace_t trace = {NULL, NULL, 22767, LOCATE_parser___ReduceAction663___init};
59706 val_t variable[2];
59707 struct WBT_ **closurevariable = NULL;
59708 trace.prev = tracehead; tracehead = &trace;
59709 trace.file = LOCATE_parser;
59710 /* Register variable[0]: Local variable */
59711 variable[0] = self;
59712 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction663].i]) return;
59713 /* Register variable[1]: Method return value and escape marker */
59714 return_label1359: while(false);
59715 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction663].i] = 1;
59716 tracehead = trace.prev;
59717 return;
59718 }
59719 void parser___ReduceAction664___action(val_t self, val_t param0) {
59720 struct trace_t trace = {NULL, NULL, 22771, LOCATE_parser___ReduceAction664___action};
59721 val_t variable[12];
59722 struct WBT_ **closurevariable = NULL;
59723 trace.prev = tracehead; tracehead = &trace;
59724 trace.file = LOCATE_parser;
59725 /* Register variable[0]: Local variable */
59726 variable[0] = self;
59727 /* Register variable[1]: Local variable */
59728 variable[1] = param0;
59729 /* Register variable[2]: Method return value and escape marker */
59730 /* Register variable[3]: Local variable */
59731 variable[3] = NIT_NULL /*null*/;
59732 /* Register variable[4]: Local variable */
59733 /* Register variable[5]: Result */
59734 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59735 variable[4] = variable[5];
59736 /* Register variable[5]: Local variable */
59737 /* Register variable[6]: Result */
59738 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59739 variable[5] = variable[6];
59740 /* Register variable[6]: Local variable */
59741 /* Register variable[7]: Result */
59742 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59743 variable[6] = variable[7];
59744 /* Register variable[7]: Local variable */
59745 /* Register variable[8]: Result */
59746 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59747 variable[7] = variable[8];
59748 /* Register variable[8]: Local variable */
59749 variable[8] = variable[7] /*nodearraylist1*/;
59750 /* Register variable[9]: Result */
59751 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59752 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 22779); nit_exit(1);}
59753 /* Register variable[9]: Local variable */
59754 variable[9] = variable[4] /*nodearraylist4*/;
59755 /* Register variable[10]: Result */
59756 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59757 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction664___action, LOCATE_parser, 22781); nit_exit(1);}
59758 /* Register variable[10]: Local variable */
59759 /* Register variable[11]: Result */
59760 variable[11] = NEW_ALtExpr_parser_prod___ALtExpr___init_altexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALtExpr*/;
59761 variable[10] = variable[11];
59762 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59763 /* Register variable[11]: Result */
59764 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59765 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59766 return_label1360: while(false);
59767 tracehead = trace.prev;
59768 return;
59769 }
59770 void parser___ReduceAction664___init(val_t self, int* init_table) {
59771 struct trace_t trace = {NULL, NULL, 22789, LOCATE_parser___ReduceAction664___init};
59772 val_t variable[2];
59773 struct WBT_ **closurevariable = NULL;
59774 trace.prev = tracehead; tracehead = &trace;
59775 trace.file = LOCATE_parser;
59776 /* Register variable[0]: Local variable */
59777 variable[0] = self;
59778 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction664].i]) return;
59779 /* Register variable[1]: Method return value and escape marker */
59780 return_label1361: while(false);
59781 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction664].i] = 1;
59782 tracehead = trace.prev;
59783 return;
59784 }
59785 void parser___ReduceAction665___action(val_t self, val_t param0) {
59786 struct trace_t trace = {NULL, NULL, 22793, LOCATE_parser___ReduceAction665___action};
59787 val_t variable[12];
59788 struct WBT_ **closurevariable = NULL;
59789 trace.prev = tracehead; tracehead = &trace;
59790 trace.file = LOCATE_parser;
59791 /* Register variable[0]: Local variable */
59792 variable[0] = self;
59793 /* Register variable[1]: Local variable */
59794 variable[1] = param0;
59795 /* Register variable[2]: Method return value and escape marker */
59796 /* Register variable[3]: Local variable */
59797 variable[3] = NIT_NULL /*null*/;
59798 /* Register variable[4]: Local variable */
59799 /* Register variable[5]: Result */
59800 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59801 variable[4] = variable[5];
59802 /* Register variable[5]: Local variable */
59803 /* Register variable[6]: Result */
59804 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59805 variable[5] = variable[6];
59806 /* Register variable[6]: Local variable */
59807 /* Register variable[7]: Result */
59808 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59809 variable[6] = variable[7];
59810 /* Register variable[7]: Local variable */
59811 /* Register variable[8]: Result */
59812 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59813 variable[7] = variable[8];
59814 /* Register variable[8]: Local variable */
59815 variable[8] = variable[7] /*nodearraylist1*/;
59816 /* Register variable[9]: Result */
59817 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59818 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 22801); nit_exit(1);}
59819 /* Register variable[9]: Local variable */
59820 variable[9] = variable[4] /*nodearraylist4*/;
59821 /* Register variable[10]: Result */
59822 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59823 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction665___action, LOCATE_parser, 22803); nit_exit(1);}
59824 /* Register variable[10]: Local variable */
59825 /* Register variable[11]: Result */
59826 variable[11] = NEW_ALeExpr_parser_prod___ALeExpr___init_aleexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ALeExpr*/;
59827 variable[10] = variable[11];
59828 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59829 /* Register variable[11]: Result */
59830 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59831 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59832 return_label1362: while(false);
59833 tracehead = trace.prev;
59834 return;
59835 }
59836 void parser___ReduceAction665___init(val_t self, int* init_table) {
59837 struct trace_t trace = {NULL, NULL, 22811, LOCATE_parser___ReduceAction665___init};
59838 val_t variable[2];
59839 struct WBT_ **closurevariable = NULL;
59840 trace.prev = tracehead; tracehead = &trace;
59841 trace.file = LOCATE_parser;
59842 /* Register variable[0]: Local variable */
59843 variable[0] = self;
59844 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction665].i]) return;
59845 /* Register variable[1]: Method return value and escape marker */
59846 return_label1363: while(false);
59847 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction665].i] = 1;
59848 tracehead = trace.prev;
59849 return;
59850 }
59851 void parser___ReduceAction666___action(val_t self, val_t param0) {
59852 struct trace_t trace = {NULL, NULL, 22815, LOCATE_parser___ReduceAction666___action};
59853 val_t variable[12];
59854 struct WBT_ **closurevariable = NULL;
59855 trace.prev = tracehead; tracehead = &trace;
59856 trace.file = LOCATE_parser;
59857 /* Register variable[0]: Local variable */
59858 variable[0] = self;
59859 /* Register variable[1]: Local variable */
59860 variable[1] = param0;
59861 /* Register variable[2]: Method return value and escape marker */
59862 /* Register variable[3]: Local variable */
59863 variable[3] = NIT_NULL /*null*/;
59864 /* Register variable[4]: Local variable */
59865 /* Register variable[5]: Result */
59866 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59867 variable[4] = variable[5];
59868 /* Register variable[5]: Local variable */
59869 /* Register variable[6]: Result */
59870 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59871 variable[5] = variable[6];
59872 /* Register variable[6]: Local variable */
59873 /* Register variable[7]: Result */
59874 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59875 variable[6] = variable[7];
59876 /* Register variable[7]: Local variable */
59877 /* Register variable[8]: Result */
59878 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59879 variable[7] = variable[8];
59880 /* Register variable[8]: Local variable */
59881 variable[8] = variable[7] /*nodearraylist1*/;
59882 /* Register variable[9]: Result */
59883 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59884 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 22823); nit_exit(1);}
59885 /* Register variable[9]: Local variable */
59886 variable[9] = variable[4] /*nodearraylist4*/;
59887 /* Register variable[10]: Result */
59888 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59889 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction666___action, LOCATE_parser, 22825); nit_exit(1);}
59890 /* Register variable[10]: Local variable */
59891 /* Register variable[11]: Result */
59892 variable[11] = NEW_AGtExpr_parser_prod___AGtExpr___init_agtexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGtExpr*/;
59893 variable[10] = variable[11];
59894 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59895 /* Register variable[11]: Result */
59896 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59897 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59898 return_label1364: while(false);
59899 tracehead = trace.prev;
59900 return;
59901 }
59902 void parser___ReduceAction666___init(val_t self, int* init_table) {
59903 struct trace_t trace = {NULL, NULL, 22833, LOCATE_parser___ReduceAction666___init};
59904 val_t variable[2];
59905 struct WBT_ **closurevariable = NULL;
59906 trace.prev = tracehead; tracehead = &trace;
59907 trace.file = LOCATE_parser;
59908 /* Register variable[0]: Local variable */
59909 variable[0] = self;
59910 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction666].i]) return;
59911 /* Register variable[1]: Method return value and escape marker */
59912 return_label1365: while(false);
59913 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction666].i] = 1;
59914 tracehead = trace.prev;
59915 return;
59916 }
59917 void parser___ReduceAction667___action(val_t self, val_t param0) {
59918 struct trace_t trace = {NULL, NULL, 22837, LOCATE_parser___ReduceAction667___action};
59919 val_t variable[12];
59920 struct WBT_ **closurevariable = NULL;
59921 trace.prev = tracehead; tracehead = &trace;
59922 trace.file = LOCATE_parser;
59923 /* Register variable[0]: Local variable */
59924 variable[0] = self;
59925 /* Register variable[1]: Local variable */
59926 variable[1] = param0;
59927 /* Register variable[2]: Method return value and escape marker */
59928 /* Register variable[3]: Local variable */
59929 variable[3] = NIT_NULL /*null*/;
59930 /* Register variable[4]: Local variable */
59931 /* Register variable[5]: Result */
59932 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59933 variable[4] = variable[5];
59934 /* Register variable[5]: Local variable */
59935 /* Register variable[6]: Result */
59936 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59937 variable[5] = variable[6];
59938 /* Register variable[6]: Local variable */
59939 /* Register variable[7]: Result */
59940 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59941 variable[6] = variable[7];
59942 /* Register variable[7]: Local variable */
59943 /* Register variable[8]: Result */
59944 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59945 variable[7] = variable[8];
59946 /* Register variable[8]: Local variable */
59947 variable[8] = variable[7] /*nodearraylist1*/;
59948 /* Register variable[9]: Result */
59949 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59950 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 22845); nit_exit(1);}
59951 /* Register variable[9]: Local variable */
59952 variable[9] = variable[4] /*nodearraylist4*/;
59953 /* Register variable[10]: Result */
59954 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
59955 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction667___action, LOCATE_parser, 22847); nit_exit(1);}
59956 /* Register variable[10]: Local variable */
59957 /* Register variable[11]: Result */
59958 variable[11] = NEW_AGeExpr_parser_prod___AGeExpr___init_ageexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AGeExpr*/;
59959 variable[10] = variable[11];
59960 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
59961 /* Register variable[11]: Result */
59962 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
59963 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
59964 return_label1366: while(false);
59965 tracehead = trace.prev;
59966 return;
59967 }
59968 void parser___ReduceAction667___init(val_t self, int* init_table) {
59969 struct trace_t trace = {NULL, NULL, 22855, LOCATE_parser___ReduceAction667___init};
59970 val_t variable[2];
59971 struct WBT_ **closurevariable = NULL;
59972 trace.prev = tracehead; tracehead = &trace;
59973 trace.file = LOCATE_parser;
59974 /* Register variable[0]: Local variable */
59975 variable[0] = self;
59976 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction667].i]) return;
59977 /* Register variable[1]: Method return value and escape marker */
59978 return_label1367: while(false);
59979 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction667].i] = 1;
59980 tracehead = trace.prev;
59981 return;
59982 }
59983 void parser___ReduceAction668___action(val_t self, val_t param0) {
59984 struct trace_t trace = {NULL, NULL, 22859, LOCATE_parser___ReduceAction668___action};
59985 val_t variable[12];
59986 struct WBT_ **closurevariable = NULL;
59987 trace.prev = tracehead; tracehead = &trace;
59988 trace.file = LOCATE_parser;
59989 /* Register variable[0]: Local variable */
59990 variable[0] = self;
59991 /* Register variable[1]: Local variable */
59992 variable[1] = param0;
59993 /* Register variable[2]: Method return value and escape marker */
59994 /* Register variable[3]: Local variable */
59995 variable[3] = NIT_NULL /*null*/;
59996 /* Register variable[4]: Local variable */
59997 /* Register variable[5]: Result */
59998 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
59999 variable[4] = variable[5];
60000 /* Register variable[5]: Local variable */
60001 /* Register variable[6]: Result */
60002 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60003 variable[5] = variable[6];
60004 /* Register variable[6]: Local variable */
60005 /* Register variable[7]: Result */
60006 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60007 variable[6] = variable[7];
60008 /* Register variable[7]: Local variable */
60009 /* Register variable[8]: Result */
60010 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60011 variable[7] = variable[8];
60012 /* Register variable[8]: Local variable */
60013 variable[8] = variable[7] /*nodearraylist1*/;
60014 /* Register variable[9]: Result */
60015 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60016 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction668___action, LOCATE_parser, 22867); nit_exit(1);}
60017 /* Register variable[9]: Local variable */
60018 variable[9] = variable[4] /*nodearraylist4*/;
60019 /* Register variable[10]: Result */
60020 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60021 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction668___action, LOCATE_parser, 22869); nit_exit(1);}
60022 /* Register variable[10]: Local variable */
60023 /* Register variable[11]: Result */
60024 variable[11] = NEW_AStarshipExpr_parser_prod___AStarshipExpr___init_astarshipexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarshipExpr*/;
60025 variable[10] = variable[11];
60026 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60027 /* Register variable[11]: Result */
60028 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
60029 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60030 return_label1368: while(false);
60031 tracehead = trace.prev;
60032 return;
60033 }
60034 void parser___ReduceAction668___init(val_t self, int* init_table) {
60035 struct trace_t trace = {NULL, NULL, 22877, LOCATE_parser___ReduceAction668___init};
60036 val_t variable[2];
60037 struct WBT_ **closurevariable = NULL;
60038 trace.prev = tracehead; tracehead = &trace;
60039 trace.file = LOCATE_parser;
60040 /* Register variable[0]: Local variable */
60041 variable[0] = self;
60042 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction668].i]) return;
60043 /* Register variable[1]: Method return value and escape marker */
60044 return_label1369: while(false);
60045 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction668].i] = 1;
60046 tracehead = trace.prev;
60047 return;
60048 }
60049 void parser___ReduceAction669___action(val_t self, val_t param0) {
60050 struct trace_t trace = {NULL, NULL, 22881, LOCATE_parser___ReduceAction669___action};
60051 val_t variable[12];
60052 struct WBT_ **closurevariable = NULL;
60053 trace.prev = tracehead; tracehead = &trace;
60054 trace.file = LOCATE_parser;
60055 /* Register variable[0]: Local variable */
60056 variable[0] = self;
60057 /* Register variable[1]: Local variable */
60058 variable[1] = param0;
60059 /* Register variable[2]: Method return value and escape marker */
60060 /* Register variable[3]: Local variable */
60061 variable[3] = NIT_NULL /*null*/;
60062 /* Register variable[4]: Local variable */
60063 /* Register variable[5]: Result */
60064 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60065 variable[4] = variable[5];
60066 /* Register variable[5]: Local variable */
60067 /* Register variable[6]: Result */
60068 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60069 variable[5] = variable[6];
60070 /* Register variable[6]: Local variable */
60071 /* Register variable[7]: Result */
60072 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60073 variable[6] = variable[7];
60074 /* Register variable[7]: Local variable */
60075 /* Register variable[8]: Result */
60076 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60077 variable[7] = variable[8];
60078 /* Register variable[8]: Local variable */
60079 variable[8] = variable[7] /*nodearraylist1*/;
60080 /* Register variable[9]: Result */
60081 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60082 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 22889); nit_exit(1);}
60083 /* Register variable[9]: Local variable */
60084 variable[9] = variable[4] /*nodearraylist4*/;
60085 /* Register variable[10]: Result */
60086 variable[10] = TAG_Bool(( variable[9] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[9] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
60087 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction669___action, LOCATE_parser, 22891); nit_exit(1);}
60088 /* Register variable[10]: Local variable */
60089 /* Register variable[11]: Result */
60090 variable[11] = NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr( variable[8] /*pexprnode2*/, variable[9] /*ptypenode3*/) /*new AIsaExpr*/;
60091 variable[10] = variable[11];
60092 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60093 /* Register variable[11]: Result */
60094 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(110)) /*Parser::go_to*/;
60095 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60096 return_label1370: while(false);
60097 tracehead = trace.prev;
60098 return;
60099 }
60100 void parser___ReduceAction669___init(val_t self, int* init_table) {
60101 struct trace_t trace = {NULL, NULL, 22899, LOCATE_parser___ReduceAction669___init};
60102 val_t variable[2];
60103 struct WBT_ **closurevariable = NULL;
60104 trace.prev = tracehead; tracehead = &trace;
60105 trace.file = LOCATE_parser;
60106 /* Register variable[0]: Local variable */
60107 variable[0] = self;
60108 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction669].i]) return;
60109 /* Register variable[1]: Method return value and escape marker */
60110 return_label1371: while(false);
60111 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction669].i] = 1;
60112 tracehead = trace.prev;
60113 return;
60114 }
60115 void parser___ReduceAction670___action(val_t self, val_t param0) {
60116 struct trace_t trace = {NULL, NULL, 22903, LOCATE_parser___ReduceAction670___action};
60117 val_t variable[7];
60118 struct WBT_ **closurevariable = NULL;
60119 trace.prev = tracehead; tracehead = &trace;
60120 trace.file = LOCATE_parser;
60121 /* Register variable[0]: Local variable */
60122 variable[0] = self;
60123 /* Register variable[1]: Local variable */
60124 variable[1] = param0;
60125 /* Register variable[2]: Method return value and escape marker */
60126 /* Register variable[3]: Local variable */
60127 variable[3] = NIT_NULL /*null*/;
60128 /* Register variable[4]: Local variable */
60129 /* Register variable[5]: Result */
60130 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60131 variable[4] = variable[5];
60132 /* Register variable[5]: Local variable */
60133 variable[5] = variable[4] /*nodearraylist1*/;
60134 /* Register variable[6]: Result */
60135 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60136 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction670___action, LOCATE_parser, 22908); nit_exit(1);}
60137 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
60138 /* Register variable[6]: Result */
60139 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
60140 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
60141 return_label1372: while(false);
60142 tracehead = trace.prev;
60143 return;
60144 }
60145 void parser___ReduceAction670___init(val_t self, int* init_table) {
60146 struct trace_t trace = {NULL, NULL, 22912, LOCATE_parser___ReduceAction670___init};
60147 val_t variable[2];
60148 struct WBT_ **closurevariable = NULL;
60149 trace.prev = tracehead; tracehead = &trace;
60150 trace.file = LOCATE_parser;
60151 /* Register variable[0]: Local variable */
60152 variable[0] = self;
60153 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction670].i]) return;
60154 /* Register variable[1]: Method return value and escape marker */
60155 return_label1373: while(false);
60156 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction670].i] = 1;
60157 tracehead = trace.prev;
60158 return;
60159 }
60160 void parser___ReduceAction671___action(val_t self, val_t param0) {
60161 struct trace_t trace = {NULL, NULL, 22916, LOCATE_parser___ReduceAction671___action};
60162 val_t variable[12];
60163 struct WBT_ **closurevariable = NULL;
60164 trace.prev = tracehead; tracehead = &trace;
60165 trace.file = LOCATE_parser;
60166 /* Register variable[0]: Local variable */
60167 variable[0] = self;
60168 /* Register variable[1]: Local variable */
60169 variable[1] = param0;
60170 /* Register variable[2]: Method return value and escape marker */
60171 /* Register variable[3]: Local variable */
60172 variable[3] = NIT_NULL /*null*/;
60173 /* Register variable[4]: Local variable */
60174 /* Register variable[5]: Result */
60175 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60176 variable[4] = variable[5];
60177 /* Register variable[5]: Local variable */
60178 /* Register variable[6]: Result */
60179 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60180 variable[5] = variable[6];
60181 /* Register variable[6]: Local variable */
60182 /* Register variable[7]: Result */
60183 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60184 variable[6] = variable[7];
60185 /* Register variable[7]: Local variable */
60186 /* Register variable[8]: Result */
60187 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60188 variable[7] = variable[8];
60189 /* Register variable[8]: Local variable */
60190 variable[8] = variable[7] /*nodearraylist1*/;
60191 /* Register variable[9]: Result */
60192 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60193 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 22924); nit_exit(1);}
60194 /* Register variable[9]: Local variable */
60195 variable[9] = variable[4] /*nodearraylist4*/;
60196 /* Register variable[10]: Result */
60197 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60198 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction671___action, LOCATE_parser, 22926); nit_exit(1);}
60199 /* Register variable[10]: Local variable */
60200 /* Register variable[11]: Result */
60201 variable[11] = NEW_APlusExpr_parser_prod___APlusExpr___init_aplusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APlusExpr*/;
60202 variable[10] = variable[11];
60203 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60204 /* Register variable[11]: Result */
60205 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
60206 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60207 return_label1374: while(false);
60208 tracehead = trace.prev;
60209 return;
60210 }
60211 void parser___ReduceAction671___init(val_t self, int* init_table) {
60212 struct trace_t trace = {NULL, NULL, 22934, LOCATE_parser___ReduceAction671___init};
60213 val_t variable[2];
60214 struct WBT_ **closurevariable = NULL;
60215 trace.prev = tracehead; tracehead = &trace;
60216 trace.file = LOCATE_parser;
60217 /* Register variable[0]: Local variable */
60218 variable[0] = self;
60219 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction671].i]) return;
60220 /* Register variable[1]: Method return value and escape marker */
60221 return_label1375: while(false);
60222 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction671].i] = 1;
60223 tracehead = trace.prev;
60224 return;
60225 }
60226 void parser___ReduceAction672___action(val_t self, val_t param0) {
60227 struct trace_t trace = {NULL, NULL, 22938, LOCATE_parser___ReduceAction672___action};
60228 val_t variable[12];
60229 struct WBT_ **closurevariable = NULL;
60230 trace.prev = tracehead; tracehead = &trace;
60231 trace.file = LOCATE_parser;
60232 /* Register variable[0]: Local variable */
60233 variable[0] = self;
60234 /* Register variable[1]: Local variable */
60235 variable[1] = param0;
60236 /* Register variable[2]: Method return value and escape marker */
60237 /* Register variable[3]: Local variable */
60238 variable[3] = NIT_NULL /*null*/;
60239 /* Register variable[4]: Local variable */
60240 /* Register variable[5]: Result */
60241 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60242 variable[4] = variable[5];
60243 /* Register variable[5]: Local variable */
60244 /* Register variable[6]: Result */
60245 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60246 variable[5] = variable[6];
60247 /* Register variable[6]: Local variable */
60248 /* Register variable[7]: Result */
60249 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60250 variable[6] = variable[7];
60251 /* Register variable[7]: Local variable */
60252 /* Register variable[8]: Result */
60253 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60254 variable[7] = variable[8];
60255 /* Register variable[8]: Local variable */
60256 variable[8] = variable[7] /*nodearraylist1*/;
60257 /* Register variable[9]: Result */
60258 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60259 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction672___action, LOCATE_parser, 22946); nit_exit(1);}
60260 /* Register variable[9]: Local variable */
60261 variable[9] = variable[4] /*nodearraylist4*/;
60262 /* Register variable[10]: Result */
60263 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60264 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction672___action, LOCATE_parser, 22948); nit_exit(1);}
60265 /* Register variable[10]: Local variable */
60266 /* Register variable[11]: Result */
60267 variable[11] = NEW_AMinusExpr_parser_prod___AMinusExpr___init_aminusexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AMinusExpr*/;
60268 variable[10] = variable[11];
60269 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60270 /* Register variable[11]: Result */
60271 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(111)) /*Parser::go_to*/;
60272 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60273 return_label1376: while(false);
60274 tracehead = trace.prev;
60275 return;
60276 }
60277 void parser___ReduceAction672___init(val_t self, int* init_table) {
60278 struct trace_t trace = {NULL, NULL, 22956, LOCATE_parser___ReduceAction672___init};
60279 val_t variable[2];
60280 struct WBT_ **closurevariable = NULL;
60281 trace.prev = tracehead; tracehead = &trace;
60282 trace.file = LOCATE_parser;
60283 /* Register variable[0]: Local variable */
60284 variable[0] = self;
60285 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction672].i]) return;
60286 /* Register variable[1]: Method return value and escape marker */
60287 return_label1377: while(false);
60288 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction672].i] = 1;
60289 tracehead = trace.prev;
60290 return;
60291 }
60292 void parser___ReduceAction673___action(val_t self, val_t param0) {
60293 struct trace_t trace = {NULL, NULL, 22960, LOCATE_parser___ReduceAction673___action};
60294 val_t variable[7];
60295 struct WBT_ **closurevariable = NULL;
60296 trace.prev = tracehead; tracehead = &trace;
60297 trace.file = LOCATE_parser;
60298 /* Register variable[0]: Local variable */
60299 variable[0] = self;
60300 /* Register variable[1]: Local variable */
60301 variable[1] = param0;
60302 /* Register variable[2]: Method return value and escape marker */
60303 /* Register variable[3]: Local variable */
60304 variable[3] = NIT_NULL /*null*/;
60305 /* Register variable[4]: Local variable */
60306 /* Register variable[5]: Result */
60307 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60308 variable[4] = variable[5];
60309 /* Register variable[5]: Local variable */
60310 variable[5] = variable[4] /*nodearraylist1*/;
60311 /* Register variable[6]: Result */
60312 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60313 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction673___action, LOCATE_parser, 22965); nit_exit(1);}
60314 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
60315 /* Register variable[6]: Result */
60316 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
60317 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
60318 return_label1378: while(false);
60319 tracehead = trace.prev;
60320 return;
60321 }
60322 void parser___ReduceAction673___init(val_t self, int* init_table) {
60323 struct trace_t trace = {NULL, NULL, 22969, LOCATE_parser___ReduceAction673___init};
60324 val_t variable[2];
60325 struct WBT_ **closurevariable = NULL;
60326 trace.prev = tracehead; tracehead = &trace;
60327 trace.file = LOCATE_parser;
60328 /* Register variable[0]: Local variable */
60329 variable[0] = self;
60330 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction673].i]) return;
60331 /* Register variable[1]: Method return value and escape marker */
60332 return_label1379: while(false);
60333 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction673].i] = 1;
60334 tracehead = trace.prev;
60335 return;
60336 }
60337 void parser___ReduceAction674___action(val_t self, val_t param0) {
60338 struct trace_t trace = {NULL, NULL, 22973, LOCATE_parser___ReduceAction674___action};
60339 val_t variable[12];
60340 struct WBT_ **closurevariable = NULL;
60341 trace.prev = tracehead; tracehead = &trace;
60342 trace.file = LOCATE_parser;
60343 /* Register variable[0]: Local variable */
60344 variable[0] = self;
60345 /* Register variable[1]: Local variable */
60346 variable[1] = param0;
60347 /* Register variable[2]: Method return value and escape marker */
60348 /* Register variable[3]: Local variable */
60349 variable[3] = NIT_NULL /*null*/;
60350 /* Register variable[4]: Local variable */
60351 /* Register variable[5]: Result */
60352 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60353 variable[4] = variable[5];
60354 /* Register variable[5]: Local variable */
60355 /* Register variable[6]: Result */
60356 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60357 variable[5] = variable[6];
60358 /* Register variable[6]: Local variable */
60359 /* Register variable[7]: Result */
60360 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60361 variable[6] = variable[7];
60362 /* Register variable[7]: Local variable */
60363 /* Register variable[8]: Result */
60364 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60365 variable[7] = variable[8];
60366 /* Register variable[8]: Local variable */
60367 variable[8] = variable[7] /*nodearraylist1*/;
60368 /* Register variable[9]: Result */
60369 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60370 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 22981); nit_exit(1);}
60371 /* Register variable[9]: Local variable */
60372 variable[9] = variable[4] /*nodearraylist4*/;
60373 /* Register variable[10]: Result */
60374 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60375 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction674___action, LOCATE_parser, 22983); nit_exit(1);}
60376 /* Register variable[10]: Local variable */
60377 /* Register variable[11]: Result */
60378 variable[11] = NEW_AStarExpr_parser_prod___AStarExpr___init_astarexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new AStarExpr*/;
60379 variable[10] = variable[11];
60380 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60381 /* Register variable[11]: Result */
60382 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
60383 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60384 return_label1380: while(false);
60385 tracehead = trace.prev;
60386 return;
60387 }
60388 void parser___ReduceAction674___init(val_t self, int* init_table) {
60389 struct trace_t trace = {NULL, NULL, 22991, LOCATE_parser___ReduceAction674___init};
60390 val_t variable[2];
60391 struct WBT_ **closurevariable = NULL;
60392 trace.prev = tracehead; tracehead = &trace;
60393 trace.file = LOCATE_parser;
60394 /* Register variable[0]: Local variable */
60395 variable[0] = self;
60396 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction674].i]) return;
60397 /* Register variable[1]: Method return value and escape marker */
60398 return_label1381: while(false);
60399 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction674].i] = 1;
60400 tracehead = trace.prev;
60401 return;
60402 }
60403 void parser___ReduceAction675___action(val_t self, val_t param0) {
60404 struct trace_t trace = {NULL, NULL, 22995, LOCATE_parser___ReduceAction675___action};
60405 val_t variable[12];
60406 struct WBT_ **closurevariable = NULL;
60407 trace.prev = tracehead; tracehead = &trace;
60408 trace.file = LOCATE_parser;
60409 /* Register variable[0]: Local variable */
60410 variable[0] = self;
60411 /* Register variable[1]: Local variable */
60412 variable[1] = param0;
60413 /* Register variable[2]: Method return value and escape marker */
60414 /* Register variable[3]: Local variable */
60415 variable[3] = NIT_NULL /*null*/;
60416 /* Register variable[4]: Local variable */
60417 /* Register variable[5]: Result */
60418 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60419 variable[4] = variable[5];
60420 /* Register variable[5]: Local variable */
60421 /* Register variable[6]: Result */
60422 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60423 variable[5] = variable[6];
60424 /* Register variable[6]: Local variable */
60425 /* Register variable[7]: Result */
60426 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60427 variable[6] = variable[7];
60428 /* Register variable[7]: Local variable */
60429 /* Register variable[8]: Result */
60430 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60431 variable[7] = variable[8];
60432 /* Register variable[8]: Local variable */
60433 variable[8] = variable[7] /*nodearraylist1*/;
60434 /* Register variable[9]: Result */
60435 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60436 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction675___action, LOCATE_parser, 23003); nit_exit(1);}
60437 /* Register variable[9]: Local variable */
60438 variable[9] = variable[4] /*nodearraylist4*/;
60439 /* Register variable[10]: Result */
60440 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60441 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction675___action, LOCATE_parser, 23005); nit_exit(1);}
60442 /* Register variable[10]: Local variable */
60443 /* Register variable[11]: Result */
60444 variable[11] = NEW_ASlashExpr_parser_prod___ASlashExpr___init_aslashexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new ASlashExpr*/;
60445 variable[10] = variable[11];
60446 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60447 /* Register variable[11]: Result */
60448 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
60449 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60450 return_label1382: while(false);
60451 tracehead = trace.prev;
60452 return;
60453 }
60454 void parser___ReduceAction675___init(val_t self, int* init_table) {
60455 struct trace_t trace = {NULL, NULL, 23013, LOCATE_parser___ReduceAction675___init};
60456 val_t variable[2];
60457 struct WBT_ **closurevariable = NULL;
60458 trace.prev = tracehead; tracehead = &trace;
60459 trace.file = LOCATE_parser;
60460 /* Register variable[0]: Local variable */
60461 variable[0] = self;
60462 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction675].i]) return;
60463 /* Register variable[1]: Method return value and escape marker */
60464 return_label1383: while(false);
60465 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction675].i] = 1;
60466 tracehead = trace.prev;
60467 return;
60468 }
60469 void parser___ReduceAction676___action(val_t self, val_t param0) {
60470 struct trace_t trace = {NULL, NULL, 23017, LOCATE_parser___ReduceAction676___action};
60471 val_t variable[12];
60472 struct WBT_ **closurevariable = NULL;
60473 trace.prev = tracehead; tracehead = &trace;
60474 trace.file = LOCATE_parser;
60475 /* Register variable[0]: Local variable */
60476 variable[0] = self;
60477 /* Register variable[1]: Local variable */
60478 variable[1] = param0;
60479 /* Register variable[2]: Method return value and escape marker */
60480 /* Register variable[3]: Local variable */
60481 variable[3] = NIT_NULL /*null*/;
60482 /* Register variable[4]: Local variable */
60483 /* Register variable[5]: Result */
60484 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60485 variable[4] = variable[5];
60486 /* Register variable[5]: Local variable */
60487 /* Register variable[6]: Result */
60488 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60489 variable[5] = variable[6];
60490 /* Register variable[6]: Local variable */
60491 /* Register variable[7]: Result */
60492 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60493 variable[6] = variable[7];
60494 /* Register variable[7]: Local variable */
60495 /* Register variable[8]: Result */
60496 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60497 variable[7] = variable[8];
60498 /* Register variable[8]: Local variable */
60499 variable[8] = variable[7] /*nodearraylist1*/;
60500 /* Register variable[9]: Result */
60501 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60502 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction676___action, LOCATE_parser, 23025); nit_exit(1);}
60503 /* Register variable[9]: Local variable */
60504 variable[9] = variable[4] /*nodearraylist4*/;
60505 /* Register variable[10]: Result */
60506 variable[10] = TAG_Bool(( variable[9] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60507 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction676___action, LOCATE_parser, 23027); nit_exit(1);}
60508 /* Register variable[10]: Local variable */
60509 /* Register variable[11]: Result */
60510 variable[11] = NEW_APercentExpr_parser_prod___APercentExpr___init_apercentexpr( variable[8] /*pexprnode2*/, variable[9] /*pexprnode3*/) /*new APercentExpr*/;
60511 variable[10] = variable[11];
60512 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60513 /* Register variable[11]: Result */
60514 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(112)) /*Parser::go_to*/;
60515 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60516 return_label1384: while(false);
60517 tracehead = trace.prev;
60518 return;
60519 }
60520 void parser___ReduceAction676___init(val_t self, int* init_table) {
60521 struct trace_t trace = {NULL, NULL, 23035, LOCATE_parser___ReduceAction676___init};
60522 val_t variable[2];
60523 struct WBT_ **closurevariable = NULL;
60524 trace.prev = tracehead; tracehead = &trace;
60525 trace.file = LOCATE_parser;
60526 /* Register variable[0]: Local variable */
60527 variable[0] = self;
60528 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction676].i]) return;
60529 /* Register variable[1]: Method return value and escape marker */
60530 return_label1385: while(false);
60531 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction676].i] = 1;
60532 tracehead = trace.prev;
60533 return;
60534 }
60535 void parser___ReduceAction677___action(val_t self, val_t param0) {
60536 struct trace_t trace = {NULL, NULL, 23039, LOCATE_parser___ReduceAction677___action};
60537 val_t variable[7];
60538 struct WBT_ **closurevariable = NULL;
60539 trace.prev = tracehead; tracehead = &trace;
60540 trace.file = LOCATE_parser;
60541 /* Register variable[0]: Local variable */
60542 variable[0] = self;
60543 /* Register variable[1]: Local variable */
60544 variable[1] = param0;
60545 /* Register variable[2]: Method return value and escape marker */
60546 /* Register variable[3]: Local variable */
60547 variable[3] = NIT_NULL /*null*/;
60548 /* Register variable[4]: Local variable */
60549 /* Register variable[5]: Result */
60550 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60551 variable[4] = variable[5];
60552 /* Register variable[5]: Local variable */
60553 variable[5] = variable[4] /*nodearraylist1*/;
60554 /* Register variable[6]: Result */
60555 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60556 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction677___action, LOCATE_parser, 23044); nit_exit(1);}
60557 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
60558 /* Register variable[6]: Result */
60559 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
60560 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
60561 return_label1386: while(false);
60562 tracehead = trace.prev;
60563 return;
60564 }
60565 void parser___ReduceAction677___init(val_t self, int* init_table) {
60566 struct trace_t trace = {NULL, NULL, 23048, LOCATE_parser___ReduceAction677___init};
60567 val_t variable[2];
60568 struct WBT_ **closurevariable = NULL;
60569 trace.prev = tracehead; tracehead = &trace;
60570 trace.file = LOCATE_parser;
60571 /* Register variable[0]: Local variable */
60572 variable[0] = self;
60573 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction677].i]) return;
60574 /* Register variable[1]: Method return value and escape marker */
60575 return_label1387: while(false);
60576 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction677].i] = 1;
60577 tracehead = trace.prev;
60578 return;
60579 }
60580 void parser___ReduceAction678___action(val_t self, val_t param0) {
60581 struct trace_t trace = {NULL, NULL, 23052, LOCATE_parser___ReduceAction678___action};
60582 val_t variable[11];
60583 struct WBT_ **closurevariable = NULL;
60584 trace.prev = tracehead; tracehead = &trace;
60585 trace.file = LOCATE_parser;
60586 /* Register variable[0]: Local variable */
60587 variable[0] = self;
60588 /* Register variable[1]: Local variable */
60589 variable[1] = param0;
60590 /* Register variable[2]: Method return value and escape marker */
60591 /* Register variable[3]: Local variable */
60592 variable[3] = NIT_NULL /*null*/;
60593 /* Register variable[4]: Local variable */
60594 /* Register variable[5]: Result */
60595 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60596 variable[4] = variable[5];
60597 /* Register variable[5]: Local variable */
60598 /* Register variable[6]: Result */
60599 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60600 variable[5] = variable[6];
60601 /* Register variable[6]: Local variable */
60602 /* Register variable[7]: Result */
60603 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60604 variable[6] = variable[7];
60605 /* Register variable[7]: Local variable */
60606 variable[7] = variable[6] /*nodearraylist1*/;
60607 /* Register variable[8]: Result */
60608 variable[8] = TAG_Bool(( variable[7] /*tminusnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tminusnode2*/, COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
60609 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction678___action, LOCATE_parser, 23059); nit_exit(1);}
60610 /* Register variable[8]: Local variable */
60611 variable[8] = variable[4] /*nodearraylist3*/;
60612 /* Register variable[9]: Result */
60613 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60614 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction678___action, LOCATE_parser, 23061); nit_exit(1);}
60615 /* Register variable[9]: Local variable */
60616 /* Register variable[10]: Result */
60617 variable[10] = NEW_AUminusExpr_parser_prod___AUminusExpr___init_auminusexpr( variable[7] /*tminusnode2*/, variable[8] /*pexprnode3*/) /*new AUminusExpr*/;
60618 variable[9] = variable[10];
60619 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
60620 /* Register variable[10]: Result */
60621 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
60622 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
60623 return_label1388: while(false);
60624 tracehead = trace.prev;
60625 return;
60626 }
60627 void parser___ReduceAction678___init(val_t self, int* init_table) {
60628 struct trace_t trace = {NULL, NULL, 23069, LOCATE_parser___ReduceAction678___init};
60629 val_t variable[2];
60630 struct WBT_ **closurevariable = NULL;
60631 trace.prev = tracehead; tracehead = &trace;
60632 trace.file = LOCATE_parser;
60633 /* Register variable[0]: Local variable */
60634 variable[0] = self;
60635 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction678].i]) return;
60636 /* Register variable[1]: Method return value and escape marker */
60637 return_label1389: while(false);
60638 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction678].i] = 1;
60639 tracehead = trace.prev;
60640 return;
60641 }
60642 void parser___ReduceAction679___action(val_t self, val_t param0) {
60643 struct trace_t trace = {NULL, NULL, 23073, LOCATE_parser___ReduceAction679___action};
60644 val_t variable[11];
60645 struct WBT_ **closurevariable = NULL;
60646 trace.prev = tracehead; tracehead = &trace;
60647 trace.file = LOCATE_parser;
60648 /* Register variable[0]: Local variable */
60649 variable[0] = self;
60650 /* Register variable[1]: Local variable */
60651 variable[1] = param0;
60652 /* Register variable[2]: Method return value and escape marker */
60653 /* Register variable[3]: Local variable */
60654 variable[3] = NIT_NULL /*null*/;
60655 /* Register variable[4]: Local variable */
60656 /* Register variable[5]: Result */
60657 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60658 variable[4] = variable[5];
60659 /* Register variable[5]: Local variable */
60660 /* Register variable[6]: Result */
60661 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60662 variable[5] = variable[6];
60663 /* Register variable[6]: Local variable */
60664 /* Register variable[7]: Result */
60665 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60666 variable[6] = variable[7];
60667 /* Register variable[7]: Local variable */
60668 variable[7] = variable[6] /*nodearraylist1*/;
60669 /* Register variable[8]: Result */
60670 variable[8] = TAG_Bool(( variable[7] /*tkwoncenode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwoncenode2*/, COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
60671 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 23080); nit_exit(1);}
60672 /* Register variable[8]: Local variable */
60673 variable[8] = variable[4] /*nodearraylist3*/;
60674 /* Register variable[9]: Result */
60675 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60676 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction679___action, LOCATE_parser, 23082); nit_exit(1);}
60677 /* Register variable[9]: Local variable */
60678 /* Register variable[10]: Result */
60679 variable[10] = NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr( variable[7] /*tkwoncenode2*/, variable[8] /*pexprnode3*/) /*new AOnceExpr*/;
60680 variable[9] = variable[10];
60681 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
60682 /* Register variable[10]: Result */
60683 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(113)) /*Parser::go_to*/;
60684 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
60685 return_label1390: while(false);
60686 tracehead = trace.prev;
60687 return;
60688 }
60689 void parser___ReduceAction679___init(val_t self, int* init_table) {
60690 struct trace_t trace = {NULL, NULL, 23090, LOCATE_parser___ReduceAction679___init};
60691 val_t variable[2];
60692 struct WBT_ **closurevariable = NULL;
60693 trace.prev = tracehead; tracehead = &trace;
60694 trace.file = LOCATE_parser;
60695 /* Register variable[0]: Local variable */
60696 variable[0] = self;
60697 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction679].i]) return;
60698 /* Register variable[1]: Method return value and escape marker */
60699 return_label1391: while(false);
60700 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction679].i] = 1;
60701 tracehead = trace.prev;
60702 return;
60703 }
60704 void parser___ReduceAction680___action(val_t self, val_t param0) {
60705 struct trace_t trace = {NULL, NULL, 23094, LOCATE_parser___ReduceAction680___action};
60706 val_t variable[7];
60707 struct WBT_ **closurevariable = NULL;
60708 trace.prev = tracehead; tracehead = &trace;
60709 trace.file = LOCATE_parser;
60710 /* Register variable[0]: Local variable */
60711 variable[0] = self;
60712 /* Register variable[1]: Local variable */
60713 variable[1] = param0;
60714 /* Register variable[2]: Method return value and escape marker */
60715 /* Register variable[3]: Local variable */
60716 variable[3] = NIT_NULL /*null*/;
60717 /* Register variable[4]: Local variable */
60718 /* Register variable[5]: Result */
60719 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60720 variable[4] = variable[5];
60721 /* Register variable[5]: Local variable */
60722 variable[5] = variable[4] /*nodearraylist1*/;
60723 /* Register variable[6]: Result */
60724 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60725 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction680___action, LOCATE_parser, 23099); nit_exit(1);}
60726 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
60727 /* Register variable[6]: Result */
60728 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
60729 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
60730 return_label1392: while(false);
60731 tracehead = trace.prev;
60732 return;
60733 }
60734 void parser___ReduceAction680___init(val_t self, int* init_table) {
60735 struct trace_t trace = {NULL, NULL, 23103, LOCATE_parser___ReduceAction680___init};
60736 val_t variable[2];
60737 struct WBT_ **closurevariable = NULL;
60738 trace.prev = tracehead; tracehead = &trace;
60739 trace.file = LOCATE_parser;
60740 /* Register variable[0]: Local variable */
60741 variable[0] = self;
60742 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction680].i]) return;
60743 /* Register variable[1]: Method return value and escape marker */
60744 return_label1393: while(false);
60745 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction680].i] = 1;
60746 tracehead = trace.prev;
60747 return;
60748 }
60749 void parser___ReduceAction681___action(val_t self, val_t param0) {
60750 struct trace_t trace = {NULL, NULL, 23107, LOCATE_parser___ReduceAction681___action};
60751 val_t variable[14];
60752 struct WBT_ **closurevariable = NULL;
60753 trace.prev = tracehead; tracehead = &trace;
60754 trace.file = LOCATE_parser;
60755 /* Register variable[0]: Local variable */
60756 variable[0] = self;
60757 /* Register variable[1]: Local variable */
60758 variable[1] = param0;
60759 /* Register variable[2]: Method return value and escape marker */
60760 /* Register variable[3]: Local variable */
60761 variable[3] = NIT_NULL /*null*/;
60762 /* Register variable[4]: Local variable */
60763 /* Register variable[5]: Result */
60764 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60765 variable[4] = variable[5];
60766 /* Register variable[5]: Local variable */
60767 /* Register variable[6]: Result */
60768 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60769 variable[5] = variable[6];
60770 /* Register variable[6]: Local variable */
60771 /* Register variable[7]: Result */
60772 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60773 variable[6] = variable[7];
60774 /* Register variable[7]: Local variable */
60775 /* Register variable[8]: Result */
60776 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60777 variable[7] = variable[8];
60778 /* Register variable[8]: Local variable */
60779 /* Register variable[9]: Result */
60780 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
60781 variable[8] = variable[9];
60782 /* Register variable[9]: Local variable */
60783 variable[9] = variable[7] /*nodearraylist1*/;
60784 /* Register variable[10]: Result */
60785 variable[10] = TAG_Bool(( variable[9] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
60786 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 23116); nit_exit(1);}
60787 /* Register variable[10]: Local variable */
60788 variable[10] = variable[5] /*nodearraylist3*/;
60789 /* Register variable[11]: Result */
60790 variable[11] = TAG_Bool(( variable[10] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[10] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
60791 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 23118); nit_exit(1);}
60792 /* Register variable[11]: Local variable */
60793 variable[11] = variable[4] /*nodearraylist4*/;
60794 /* Register variable[12]: Result */
60795 variable[12] = TAG_Bool(( variable[11] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
60796 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction681___action, LOCATE_parser, 23120); nit_exit(1);}
60797 /* Register variable[12]: Result */
60798 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::==*/)))))));
60799 if (UNTAG_Bool(variable[12])) { /*if*/
60800 /* Register variable[12]: Result */
60801 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode6*/)( variable[8] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
60802 if (UNTAG_Bool(variable[12])) { /*if*/
60803 variable[8] = variable[11] /*listnode5*/ /*listnode6=*/;
60804 } else { /*if*/
60805 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode6*/)( variable[8] /*listnode6*/, variable[11] /*listnode5*/) /*IndexedCollection::append*/;
60806 }
60807 }
60808 /* Register variable[12]: Local variable */
60809 /* Register variable[13]: Result */
60810 variable[13] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[9] /*tkwnewnode2*/, variable[10] /*ptypenode3*/, NIT_NULL /*null*/, variable[8] /*listnode6*/) /*new ANewExpr*/;
60811 variable[12] = variable[13];
60812 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
60813 /* Register variable[13]: Result */
60814 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
60815 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
60816 return_label1394: while(false);
60817 tracehead = trace.prev;
60818 return;
60819 }
60820 void parser___ReduceAction681___init(val_t self, int* init_table) {
60821 struct trace_t trace = {NULL, NULL, 23137, LOCATE_parser___ReduceAction681___init};
60822 val_t variable[2];
60823 struct WBT_ **closurevariable = NULL;
60824 trace.prev = tracehead; tracehead = &trace;
60825 trace.file = LOCATE_parser;
60826 /* Register variable[0]: Local variable */
60827 variable[0] = self;
60828 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction681].i]) return;
60829 /* Register variable[1]: Method return value and escape marker */
60830 return_label1395: while(false);
60831 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction681].i] = 1;
60832 tracehead = trace.prev;
60833 return;
60834 }
60835 void parser___ReduceAction682___action(val_t self, val_t param0) {
60836 struct trace_t trace = {NULL, NULL, 23141, LOCATE_parser___ReduceAction682___action};
60837 val_t variable[12];
60838 struct WBT_ **closurevariable = NULL;
60839 trace.prev = tracehead; tracehead = &trace;
60840 trace.file = LOCATE_parser;
60841 /* Register variable[0]: Local variable */
60842 variable[0] = self;
60843 /* Register variable[1]: Local variable */
60844 variable[1] = param0;
60845 /* Register variable[2]: Method return value and escape marker */
60846 /* Register variable[3]: Local variable */
60847 variable[3] = NIT_NULL /*null*/;
60848 /* Register variable[4]: Local variable */
60849 /* Register variable[5]: Result */
60850 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60851 variable[4] = variable[5];
60852 /* Register variable[5]: Local variable */
60853 /* Register variable[6]: Result */
60854 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60855 variable[5] = variable[6];
60856 /* Register variable[6]: Local variable */
60857 /* Register variable[7]: Result */
60858 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60859 variable[6] = variable[7];
60860 /* Register variable[7]: Local variable */
60861 variable[7] = variable[6] /*nodearraylist1*/;
60862 /* Register variable[8]: Result */
60863 variable[8] = TAG_Bool(( variable[7] /*tkwissetnode2*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwissetnode2*/, COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
60864 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction682___action, LOCATE_parser, 23148); nit_exit(1);}
60865 /* Register variable[8]: Local variable */
60866 variable[8] = variable[5] /*nodearraylist2*/;
60867 /* Register variable[9]: Result */
60868 variable[9] = TAG_Bool(( variable[8] /*pexprnode3*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode3*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60869 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction682___action, LOCATE_parser, 23150); nit_exit(1);}
60870 /* Register variable[9]: Local variable */
60871 variable[9] = variable[4] /*nodearraylist3*/;
60872 /* Register variable[10]: Result */
60873 variable[10] = TAG_Bool(( variable[9] /*tattridnode4*/==NIT_NULL) || VAL_ISA( variable[9] /*tattridnode4*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
60874 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction682___action, LOCATE_parser, 23152); nit_exit(1);}
60875 /* Register variable[10]: Local variable */
60876 /* Register variable[11]: Result */
60877 variable[11] = NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr( variable[7] /*tkwissetnode2*/, variable[8] /*pexprnode3*/, variable[9] /*tattridnode4*/) /*new AIssetAttrExpr*/;
60878 variable[10] = variable[11];
60879 variable[3] = variable[10] /*pexprnode1*/ /*node_list=*/;
60880 /* Register variable[11]: Result */
60881 variable[11] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(114)) /*Parser::go_to*/;
60882 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[11], variable[3] /*node_list*/) /*Parser::push*/;
60883 return_label1396: while(false);
60884 tracehead = trace.prev;
60885 return;
60886 }
60887 void parser___ReduceAction682___init(val_t self, int* init_table) {
60888 struct trace_t trace = {NULL, NULL, 23161, LOCATE_parser___ReduceAction682___init};
60889 val_t variable[2];
60890 struct WBT_ **closurevariable = NULL;
60891 trace.prev = tracehead; tracehead = &trace;
60892 trace.file = LOCATE_parser;
60893 /* Register variable[0]: Local variable */
60894 variable[0] = self;
60895 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction682].i]) return;
60896 /* Register variable[1]: Method return value and escape marker */
60897 return_label1397: while(false);
60898 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction682].i] = 1;
60899 tracehead = trace.prev;
60900 return;
60901 }
60902 void parser___ReduceAction683___action(val_t self, val_t param0) {
60903 struct trace_t trace = {NULL, NULL, 23165, LOCATE_parser___ReduceAction683___action};
60904 val_t variable[10];
60905 struct WBT_ **closurevariable = NULL;
60906 trace.prev = tracehead; tracehead = &trace;
60907 trace.file = LOCATE_parser;
60908 /* Register variable[0]: Local variable */
60909 variable[0] = self;
60910 /* Register variable[1]: Local variable */
60911 variable[1] = param0;
60912 /* Register variable[2]: Method return value and escape marker */
60913 /* Register variable[3]: Local variable */
60914 variable[3] = NIT_NULL /*null*/;
60915 /* Register variable[4]: Local variable */
60916 /* Register variable[5]: Result */
60917 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60918 variable[4] = variable[5];
60919 /* Register variable[5]: Local variable */
60920 /* Register variable[6]: Result */
60921 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60922 variable[5] = variable[6];
60923 /* Register variable[6]: Local variable */
60924 variable[6] = variable[5] /*nodearraylist1*/;
60925 /* Register variable[7]: Result */
60926 variable[7] = TAG_Bool(( variable[6] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60927 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 23171); nit_exit(1);}
60928 /* Register variable[7]: Local variable */
60929 variable[7] = variable[4] /*nodearraylist2*/;
60930 /* Register variable[8]: Result */
60931 variable[8] = TAG_Bool(( variable[7] /*tattridnode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tattridnode3*/, COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
60932 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction683___action, LOCATE_parser, 23173); nit_exit(1);}
60933 /* Register variable[8]: Local variable */
60934 /* Register variable[9]: Result */
60935 variable[9] = NEW_AAttrExpr_parser_prod___AAttrExpr___init_aattrexpr( variable[6] /*pexprnode2*/, variable[7] /*tattridnode3*/) /*new AAttrExpr*/;
60936 variable[8] = variable[9];
60937 variable[3] = variable[8] /*pexprnode1*/ /*node_list=*/;
60938 /* Register variable[9]: Result */
60939 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
60940 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
60941 return_label1398: while(false);
60942 tracehead = trace.prev;
60943 return;
60944 }
60945 void parser___ReduceAction683___init(val_t self, int* init_table) {
60946 struct trace_t trace = {NULL, NULL, 23181, LOCATE_parser___ReduceAction683___init};
60947 val_t variable[2];
60948 struct WBT_ **closurevariable = NULL;
60949 trace.prev = tracehead; tracehead = &trace;
60950 trace.file = LOCATE_parser;
60951 /* Register variable[0]: Local variable */
60952 variable[0] = self;
60953 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction683].i]) return;
60954 /* Register variable[1]: Method return value and escape marker */
60955 return_label1399: while(false);
60956 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction683].i] = 1;
60957 tracehead = trace.prev;
60958 return;
60959 }
60960 void parser___ReduceAction684___action(val_t self, val_t param0) {
60961 struct trace_t trace = {NULL, NULL, 23185, LOCATE_parser___ReduceAction684___action};
60962 val_t variable[14];
60963 struct WBT_ **closurevariable = NULL;
60964 trace.prev = tracehead; tracehead = &trace;
60965 trace.file = LOCATE_parser;
60966 /* Register variable[0]: Local variable */
60967 variable[0] = self;
60968 /* Register variable[1]: Local variable */
60969 variable[1] = param0;
60970 /* Register variable[2]: Method return value and escape marker */
60971 /* Register variable[3]: Local variable */
60972 variable[3] = NIT_NULL /*null*/;
60973 /* Register variable[4]: Local variable */
60974 /* Register variable[5]: Result */
60975 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60976 variable[4] = variable[5];
60977 /* Register variable[5]: Local variable */
60978 /* Register variable[6]: Result */
60979 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60980 variable[5] = variable[6];
60981 /* Register variable[6]: Local variable */
60982 /* Register variable[7]: Result */
60983 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
60984 variable[6] = variable[7];
60985 /* Register variable[7]: Local variable */
60986 /* Register variable[8]: Result */
60987 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
60988 variable[7] = variable[8];
60989 /* Register variable[8]: Local variable */
60990 /* Register variable[9]: Result */
60991 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
60992 variable[8] = variable[9];
60993 /* Register variable[9]: Local variable */
60994 variable[9] = variable[6] /*nodearraylist1*/;
60995 /* Register variable[10]: Result */
60996 variable[10] = TAG_Bool(( variable[9] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[9] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
60997 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 23194); nit_exit(1);}
60998 /* Register variable[10]: Local variable */
60999 variable[10] = variable[5] /*nodearraylist2*/;
61000 /* Register variable[11]: Result */
61001 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
61002 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 23196); nit_exit(1);}
61003 /* Register variable[11]: Local variable */
61004 variable[11] = variable[4] /*nodearraylist3*/;
61005 /* Register variable[12]: Result */
61006 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61007 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction684___action, LOCATE_parser, 23198); nit_exit(1);}
61008 /* Register variable[12]: Result */
61009 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::==*/)))))));
61010 if (UNTAG_Bool(variable[12])) { /*if*/
61011 /* Register variable[12]: Result */
61012 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
61013 if (UNTAG_Bool(variable[12])) { /*if*/
61014 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
61015 } else { /*if*/
61016 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
61017 }
61018 }
61019 /* Register variable[12]: Local variable */
61020 /* Register variable[13]: Result */
61021 variable[13] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode6*/) /*new ACallExpr*/;
61022 variable[12] = variable[13];
61023 variable[3] = variable[12] /*pexprnode1*/ /*node_list=*/;
61024 /* Register variable[13]: Result */
61025 variable[13] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61026 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[13], variable[3] /*node_list*/) /*Parser::push*/;
61027 return_label1400: while(false);
61028 tracehead = trace.prev;
61029 return;
61030 }
61031 void parser___ReduceAction684___init(val_t self, int* init_table) {
61032 struct trace_t trace = {NULL, NULL, 23215, LOCATE_parser___ReduceAction684___init};
61033 val_t variable[2];
61034 struct WBT_ **closurevariable = NULL;
61035 trace.prev = tracehead; tracehead = &trace;
61036 trace.file = LOCATE_parser;
61037 /* Register variable[0]: Local variable */
61038 variable[0] = self;
61039 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction684].i]) return;
61040 /* Register variable[1]: Method return value and escape marker */
61041 return_label1401: while(false);
61042 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction684].i] = 1;
61043 tracehead = trace.prev;
61044 return;
61045 }
61046 void parser___ReduceAction685___action(val_t self, val_t param0) {
61047 struct trace_t trace = {NULL, NULL, 23219, LOCATE_parser___ReduceAction685___action};
61048 val_t variable[11];
61049 struct WBT_ **closurevariable = NULL;
61050 trace.prev = tracehead; tracehead = &trace;
61051 trace.file = LOCATE_parser;
61052 /* Register variable[0]: Local variable */
61053 variable[0] = self;
61054 /* Register variable[1]: Local variable */
61055 variable[1] = param0;
61056 /* Register variable[2]: Method return value and escape marker */
61057 /* Register variable[3]: Local variable */
61058 variable[3] = NIT_NULL /*null*/;
61059 /* Register variable[4]: Local variable */
61060 /* Register variable[5]: Result */
61061 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61062 variable[4] = variable[5];
61063 /* Register variable[5]: Local variable */
61064 /* Register variable[6]: Result */
61065 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61066 variable[5] = variable[6];
61067 /* Register variable[6]: Local variable */
61068 /* Register variable[7]: Result */
61069 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
61070 variable[6] = variable[7];
61071 /* Register variable[7]: Local variable */
61072 variable[7] = variable[5] /*nodearraylist1*/;
61073 /* Register variable[8]: Result */
61074 variable[8] = TAG_Bool(( variable[7] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[7] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
61075 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction685___action, LOCATE_parser, 23226); nit_exit(1);}
61076 /* Register variable[8]: Local variable */
61077 variable[8] = variable[4] /*nodearraylist2*/;
61078 /* Register variable[9]: Result */
61079 variable[9] = TAG_Bool(( variable[8] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61080 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction685___action, LOCATE_parser, 23228); nit_exit(1);}
61081 /* Register variable[9]: Result */
61082 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::==*/)))))));
61083 if (UNTAG_Bool(variable[9])) { /*if*/
61084 /* Register variable[9]: Result */
61085 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode5*/)( variable[6] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
61086 if (UNTAG_Bool(variable[9])) { /*if*/
61087 variable[6] = variable[8] /*listnode4*/ /*listnode5=*/;
61088 } else { /*if*/
61089 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode5*/)( variable[6] /*listnode5*/, variable[8] /*listnode4*/) /*IndexedCollection::append*/;
61090 }
61091 }
61092 /* Register variable[9]: Local variable */
61093 /* Register variable[10]: Result */
61094 variable[10] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( NIT_NULL /*null*/, variable[7] /*tkwsupernode3*/, variable[6] /*listnode5*/) /*new ASuperExpr*/;
61095 variable[9] = variable[10];
61096 variable[3] = variable[9] /*pexprnode1*/ /*node_list=*/;
61097 /* Register variable[10]: Result */
61098 variable[10] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61099 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[10], variable[3] /*node_list*/) /*Parser::push*/;
61100 return_label1402: while(false);
61101 tracehead = trace.prev;
61102 return;
61103 }
61104 void parser___ReduceAction685___init(val_t self, int* init_table) {
61105 struct trace_t trace = {NULL, NULL, 23244, LOCATE_parser___ReduceAction685___init};
61106 val_t variable[2];
61107 struct WBT_ **closurevariable = NULL;
61108 trace.prev = tracehead; tracehead = &trace;
61109 trace.file = LOCATE_parser;
61110 /* Register variable[0]: Local variable */
61111 variable[0] = self;
61112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction685].i]) return;
61113 /* Register variable[1]: Method return value and escape marker */
61114 return_label1403: while(false);
61115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction685].i] = 1;
61116 tracehead = trace.prev;
61117 return;
61118 }
61119 void parser___ReduceAction686___action(val_t self, val_t param0) {
61120 struct trace_t trace = {NULL, NULL, 23248, LOCATE_parser___ReduceAction686___action};
61121 val_t variable[13];
61122 struct WBT_ **closurevariable = NULL;
61123 trace.prev = tracehead; tracehead = &trace;
61124 trace.file = LOCATE_parser;
61125 /* Register variable[0]: Local variable */
61126 variable[0] = self;
61127 /* Register variable[1]: Local variable */
61128 variable[1] = param0;
61129 /* Register variable[2]: Method return value and escape marker */
61130 /* Register variable[3]: Local variable */
61131 variable[3] = NIT_NULL /*null*/;
61132 /* Register variable[4]: Local variable */
61133 /* Register variable[5]: Result */
61134 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61135 variable[4] = variable[5];
61136 /* Register variable[5]: Local variable */
61137 /* Register variable[6]: Result */
61138 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61139 variable[5] = variable[6];
61140 /* Register variable[6]: Local variable */
61141 /* Register variable[7]: Result */
61142 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61143 variable[6] = variable[7];
61144 /* Register variable[7]: Local variable */
61145 /* Register variable[8]: Result */
61146 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
61147 variable[7] = variable[8];
61148 /* Register variable[8]: Local variable */
61149 variable[8] = variable[6] /*nodearraylist1*/;
61150 /* Register variable[9]: Result */
61151 variable[9] = TAG_Bool(( variable[8] /*pqualifiednode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pqualifiednode2*/, COLOR_PQualified, ID_PQualified)) /*cast PQualified*/;
61152 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction686___action, LOCATE_parser, 23256); nit_exit(1);}
61153 /* Register variable[9]: Local variable */
61154 variable[9] = variable[5] /*nodearraylist2*/;
61155 /* Register variable[10]: Result */
61156 variable[10] = TAG_Bool(( variable[9] /*tkwsupernode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwsupernode3*/, COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
61157 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction686___action, LOCATE_parser, 23258); nit_exit(1);}
61158 /* Register variable[10]: Local variable */
61159 variable[10] = variable[4] /*nodearraylist3*/;
61160 /* Register variable[11]: Result */
61161 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61162 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction686___action, LOCATE_parser, 23260); nit_exit(1);}
61163 /* Register variable[11]: Result */
61164 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::==*/)))))));
61165 if (UNTAG_Bool(variable[11])) { /*if*/
61166 /* Register variable[11]: Result */
61167 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
61168 if (UNTAG_Bool(variable[11])) { /*if*/
61169 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
61170 } else { /*if*/
61171 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
61172 }
61173 }
61174 /* Register variable[11]: Local variable */
61175 /* Register variable[12]: Result */
61176 variable[12] = NEW_ASuperExpr_parser_prod___ASuperExpr___init_asuperexpr( variable[8] /*pqualifiednode2*/, variable[9] /*tkwsupernode3*/, variable[7] /*listnode5*/) /*new ASuperExpr*/;
61177 variable[11] = variable[12];
61178 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
61179 /* Register variable[12]: Result */
61180 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61181 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
61182 return_label1404: while(false);
61183 tracehead = trace.prev;
61184 return;
61185 }
61186 void parser___ReduceAction686___init(val_t self, int* init_table) {
61187 struct trace_t trace = {NULL, NULL, 23276, LOCATE_parser___ReduceAction686___init};
61188 val_t variable[2];
61189 struct WBT_ **closurevariable = NULL;
61190 trace.prev = tracehead; tracehead = &trace;
61191 trace.file = LOCATE_parser;
61192 /* Register variable[0]: Local variable */
61193 variable[0] = self;
61194 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction686].i]) return;
61195 /* Register variable[1]: Method return value and escape marker */
61196 return_label1405: while(false);
61197 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction686].i] = 1;
61198 tracehead = trace.prev;
61199 return;
61200 }
61201 void parser___ReduceAction687___action(val_t self, val_t param0) {
61202 struct trace_t trace = {NULL, NULL, 23280, LOCATE_parser___ReduceAction687___action};
61203 val_t variable[13];
61204 struct WBT_ **closurevariable = NULL;
61205 trace.prev = tracehead; tracehead = &trace;
61206 trace.file = LOCATE_parser;
61207 /* Register variable[0]: Local variable */
61208 variable[0] = self;
61209 /* Register variable[1]: Local variable */
61210 variable[1] = param0;
61211 /* Register variable[2]: Method return value and escape marker */
61212 /* Register variable[3]: Local variable */
61213 variable[3] = NIT_NULL /*null*/;
61214 /* Register variable[4]: Local variable */
61215 /* Register variable[5]: Result */
61216 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61217 variable[4] = variable[5];
61218 /* Register variable[5]: Local variable */
61219 /* Register variable[6]: Result */
61220 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61221 variable[5] = variable[6];
61222 /* Register variable[6]: Local variable */
61223 /* Register variable[7]: Result */
61224 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61225 variable[6] = variable[7];
61226 /* Register variable[7]: Local variable */
61227 /* Register variable[8]: Result */
61228 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
61229 variable[7] = variable[8];
61230 /* Register variable[8]: Local variable */
61231 variable[8] = variable[6] /*nodearraylist1*/;
61232 /* Register variable[9]: Result */
61233 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
61234 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction687___action, LOCATE_parser, 23288); nit_exit(1);}
61235 /* Register variable[9]: Local variable */
61236 variable[9] = variable[5] /*nodearraylist2*/;
61237 /* Register variable[10]: Result */
61238 variable[10] = TAG_Bool(( variable[9] /*tkwinitnode3*/==NIT_NULL) || VAL_ISA( variable[9] /*tkwinitnode3*/, COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
61239 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction687___action, LOCATE_parser, 23290); nit_exit(1);}
61240 /* Register variable[10]: Local variable */
61241 variable[10] = variable[4] /*nodearraylist3*/;
61242 /* Register variable[11]: Result */
61243 variable[11] = TAG_Bool(( variable[10] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[10] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61244 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction687___action, LOCATE_parser, 23292); nit_exit(1);}
61245 /* Register variable[11]: Result */
61246 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::==*/)))))));
61247 if (UNTAG_Bool(variable[11])) { /*if*/
61248 /* Register variable[11]: Result */
61249 variable[11] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
61250 if (UNTAG_Bool(variable[11])) { /*if*/
61251 variable[7] = variable[10] /*listnode4*/ /*listnode5=*/;
61252 } else { /*if*/
61253 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[10] /*listnode4*/) /*IndexedCollection::append*/;
61254 }
61255 }
61256 /* Register variable[11]: Local variable */
61257 /* Register variable[12]: Result */
61258 variable[12] = NEW_AInitExpr_parser_prod___AInitExpr___init_ainitexpr( variable[8] /*pexprnode2*/, variable[9] /*tkwinitnode3*/, variable[7] /*listnode5*/) /*new AInitExpr*/;
61259 variable[11] = variable[12];
61260 variable[3] = variable[11] /*pexprnode1*/ /*node_list=*/;
61261 /* Register variable[12]: Result */
61262 variable[12] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61263 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[12], variable[3] /*node_list*/) /*Parser::push*/;
61264 return_label1406: while(false);
61265 tracehead = trace.prev;
61266 return;
61267 }
61268 void parser___ReduceAction687___init(val_t self, int* init_table) {
61269 struct trace_t trace = {NULL, NULL, 23308, LOCATE_parser___ReduceAction687___init};
61270 val_t variable[2];
61271 struct WBT_ **closurevariable = NULL;
61272 trace.prev = tracehead; tracehead = &trace;
61273 trace.file = LOCATE_parser;
61274 /* Register variable[0]: Local variable */
61275 variable[0] = self;
61276 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction687].i]) return;
61277 /* Register variable[1]: Method return value and escape marker */
61278 return_label1407: while(false);
61279 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction687].i] = 1;
61280 tracehead = trace.prev;
61281 return;
61282 }
61283 void parser___ReduceAction688___action(val_t self, val_t param0) {
61284 struct trace_t trace = {NULL, NULL, 23312, LOCATE_parser___ReduceAction688___action};
61285 val_t variable[18];
61286 struct WBT_ **closurevariable = NULL;
61287 trace.prev = tracehead; tracehead = &trace;
61288 trace.file = LOCATE_parser;
61289 /* Register variable[0]: Local variable */
61290 variable[0] = self;
61291 /* Register variable[1]: Local variable */
61292 variable[1] = param0;
61293 /* Register variable[2]: Method return value and escape marker */
61294 /* Register variable[3]: Local variable */
61295 variable[3] = NIT_NULL /*null*/;
61296 /* Register variable[4]: Local variable */
61297 /* Register variable[5]: Result */
61298 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61299 variable[4] = variable[5];
61300 /* Register variable[5]: Local variable */
61301 /* Register variable[6]: Result */
61302 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61303 variable[5] = variable[6];
61304 /* Register variable[6]: Local variable */
61305 /* Register variable[7]: Result */
61306 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61307 variable[6] = variable[7];
61308 /* Register variable[7]: Local variable */
61309 /* Register variable[8]: Result */
61310 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61311 variable[7] = variable[8];
61312 /* Register variable[8]: Local variable */
61313 /* Register variable[9]: Result */
61314 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61315 variable[8] = variable[9];
61316 /* Register variable[9]: Local variable */
61317 /* Register variable[10]: Result */
61318 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61319 variable[9] = variable[10];
61320 /* Register variable[10]: Local variable */
61321 /* Register variable[11]: Result */
61322 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61323 variable[10] = variable[11];
61324 /* Register variable[11]: Local variable */
61325 /* Register variable[12]: Result */
61326 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
61327 variable[11] = variable[12];
61328 /* Register variable[12]: Local variable */
61329 variable[12] = variable[10] /*nodearraylist1*/;
61330 /* Register variable[13]: Result */
61331 variable[13] = TAG_Bool(( variable[12] /*tkwnewnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*tkwnewnode2*/, COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
61332 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 23324); nit_exit(1);}
61333 /* Register variable[13]: Local variable */
61334 variable[13] = variable[8] /*nodearraylist3*/;
61335 /* Register variable[14]: Result */
61336 variable[14] = TAG_Bool(( variable[13] /*ptypenode3*/==NIT_NULL) || VAL_ISA( variable[13] /*ptypenode3*/, COLOR_PType, ID_PType)) /*cast PType*/;
61337 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 23326); nit_exit(1);}
61338 /* Register variable[14]: Local variable */
61339 variable[14] = variable[5] /*nodearraylist6*/;
61340 /* Register variable[15]: Result */
61341 variable[15] = TAG_Bool(( variable[14] /*tidnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*tidnode4*/, COLOR_TId, ID_TId)) /*cast TId*/;
61342 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 23328); nit_exit(1);}
61343 /* Register variable[15]: Local variable */
61344 variable[15] = variable[4] /*nodearraylist7*/;
61345 /* Register variable[16]: Result */
61346 variable[16] = TAG_Bool(( variable[15] /*listnode5*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode5*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
61347 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction688___action, LOCATE_parser, 23330); nit_exit(1);}
61348 /* Register variable[16]: Result */
61349 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::==*/)))))));
61350 if (UNTAG_Bool(variable[16])) { /*if*/
61351 /* Register variable[16]: Result */
61352 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode6*/)( variable[11] /*listnode6*/) /*AbstractArrayRead::is_empty*/;
61353 if (UNTAG_Bool(variable[16])) { /*if*/
61354 variable[11] = variable[15] /*listnode5*/ /*listnode6=*/;
61355 } else { /*if*/
61356 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode6*/)( variable[11] /*listnode6*/, variable[15] /*listnode5*/) /*IndexedCollection::append*/;
61357 }
61358 }
61359 /* Register variable[16]: Local variable */
61360 /* Register variable[17]: Result */
61361 variable[17] = NEW_ANewExpr_parser_prod___ANewExpr___init_anewexpr( variable[12] /*tkwnewnode2*/, variable[13] /*ptypenode3*/, variable[14] /*tidnode4*/, variable[11] /*listnode6*/) /*new ANewExpr*/;
61362 variable[16] = variable[17];
61363 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
61364 /* Register variable[17]: Result */
61365 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61366 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
61367 return_label1408: while(false);
61368 tracehead = trace.prev;
61369 return;
61370 }
61371 void parser___ReduceAction688___init(val_t self, int* init_table) {
61372 struct trace_t trace = {NULL, NULL, 23347, LOCATE_parser___ReduceAction688___init};
61373 val_t variable[2];
61374 struct WBT_ **closurevariable = NULL;
61375 trace.prev = tracehead; tracehead = &trace;
61376 trace.file = LOCATE_parser;
61377 /* Register variable[0]: Local variable */
61378 variable[0] = self;
61379 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction688].i]) return;
61380 /* Register variable[1]: Method return value and escape marker */
61381 return_label1409: while(false);
61382 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction688].i] = 1;
61383 tracehead = trace.prev;
61384 return;
61385 }
61386 void parser___ReduceAction689___action(val_t self, val_t param0) {
61387 struct trace_t trace = {NULL, NULL, 23351, LOCATE_parser___ReduceAction689___action};
61388 val_t variable[8];
61389 struct WBT_ **closurevariable = NULL;
61390 trace.prev = tracehead; tracehead = &trace;
61391 trace.file = LOCATE_parser;
61392 /* Register variable[0]: Local variable */
61393 variable[0] = self;
61394 /* Register variable[1]: Local variable */
61395 variable[1] = param0;
61396 /* Register variable[2]: Method return value and escape marker */
61397 /* Register variable[3]: Local variable */
61398 variable[3] = NIT_NULL /*null*/;
61399 /* Register variable[4]: Local variable */
61400 /* Register variable[5]: Result */
61401 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61402 variable[4] = variable[5];
61403 /* Register variable[5]: Local variable */
61404 variable[5] = variable[4] /*nodearraylist1*/;
61405 /* Register variable[6]: Result */
61406 variable[6] = TAG_Bool(( variable[5] /*tkwselfnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwselfnode2*/, COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
61407 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction689___action, LOCATE_parser, 23356); nit_exit(1);}
61408 /* Register variable[6]: Local variable */
61409 /* Register variable[7]: Result */
61410 variable[7] = NEW_ASelfExpr_parser_prod___ASelfExpr___init_aselfexpr( variable[5] /*tkwselfnode2*/) /*new ASelfExpr*/;
61411 variable[6] = variable[7];
61412 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61413 /* Register variable[7]: Result */
61414 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61415 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61416 return_label1410: while(false);
61417 tracehead = trace.prev;
61418 return;
61419 }
61420 void parser___ReduceAction689___init(val_t self, int* init_table) {
61421 struct trace_t trace = {NULL, NULL, 23363, LOCATE_parser___ReduceAction689___init};
61422 val_t variable[2];
61423 struct WBT_ **closurevariable = NULL;
61424 trace.prev = tracehead; tracehead = &trace;
61425 trace.file = LOCATE_parser;
61426 /* Register variable[0]: Local variable */
61427 variable[0] = self;
61428 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction689].i]) return;
61429 /* Register variable[1]: Method return value and escape marker */
61430 return_label1411: while(false);
61431 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction689].i] = 1;
61432 tracehead = trace.prev;
61433 return;
61434 }
61435 void parser___ReduceAction690___action(val_t self, val_t param0) {
61436 struct trace_t trace = {NULL, NULL, 23367, LOCATE_parser___ReduceAction690___action};
61437 val_t variable[8];
61438 struct WBT_ **closurevariable = NULL;
61439 trace.prev = tracehead; tracehead = &trace;
61440 trace.file = LOCATE_parser;
61441 /* Register variable[0]: Local variable */
61442 variable[0] = self;
61443 /* Register variable[1]: Local variable */
61444 variable[1] = param0;
61445 /* Register variable[2]: Method return value and escape marker */
61446 /* Register variable[3]: Local variable */
61447 variable[3] = NIT_NULL /*null*/;
61448 /* Register variable[4]: Local variable */
61449 /* Register variable[5]: Result */
61450 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61451 variable[4] = variable[5];
61452 /* Register variable[5]: Local variable */
61453 variable[5] = variable[4] /*nodearraylist1*/;
61454 /* Register variable[6]: Result */
61455 variable[6] = TAG_Bool(( variable[5] /*tkwtruenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwtruenode2*/, COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
61456 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction690___action, LOCATE_parser, 23372); nit_exit(1);}
61457 /* Register variable[6]: Local variable */
61458 /* Register variable[7]: Result */
61459 variable[7] = NEW_ATrueExpr_parser_prod___ATrueExpr___init_atrueexpr( variable[5] /*tkwtruenode2*/) /*new ATrueExpr*/;
61460 variable[6] = variable[7];
61461 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61462 /* Register variable[7]: Result */
61463 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61464 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61465 return_label1412: while(false);
61466 tracehead = trace.prev;
61467 return;
61468 }
61469 void parser___ReduceAction690___init(val_t self, int* init_table) {
61470 struct trace_t trace = {NULL, NULL, 23379, LOCATE_parser___ReduceAction690___init};
61471 val_t variable[2];
61472 struct WBT_ **closurevariable = NULL;
61473 trace.prev = tracehead; tracehead = &trace;
61474 trace.file = LOCATE_parser;
61475 /* Register variable[0]: Local variable */
61476 variable[0] = self;
61477 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction690].i]) return;
61478 /* Register variable[1]: Method return value and escape marker */
61479 return_label1413: while(false);
61480 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction690].i] = 1;
61481 tracehead = trace.prev;
61482 return;
61483 }
61484 void parser___ReduceAction691___action(val_t self, val_t param0) {
61485 struct trace_t trace = {NULL, NULL, 23383, LOCATE_parser___ReduceAction691___action};
61486 val_t variable[8];
61487 struct WBT_ **closurevariable = NULL;
61488 trace.prev = tracehead; tracehead = &trace;
61489 trace.file = LOCATE_parser;
61490 /* Register variable[0]: Local variable */
61491 variable[0] = self;
61492 /* Register variable[1]: Local variable */
61493 variable[1] = param0;
61494 /* Register variable[2]: Method return value and escape marker */
61495 /* Register variable[3]: Local variable */
61496 variable[3] = NIT_NULL /*null*/;
61497 /* Register variable[4]: Local variable */
61498 /* Register variable[5]: Result */
61499 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61500 variable[4] = variable[5];
61501 /* Register variable[5]: Local variable */
61502 variable[5] = variable[4] /*nodearraylist1*/;
61503 /* Register variable[6]: Result */
61504 variable[6] = TAG_Bool(( variable[5] /*tkwfalsenode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwfalsenode2*/, COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
61505 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction691___action, LOCATE_parser, 23388); nit_exit(1);}
61506 /* Register variable[6]: Local variable */
61507 /* Register variable[7]: Result */
61508 variable[7] = NEW_AFalseExpr_parser_prod___AFalseExpr___init_afalseexpr( variable[5] /*tkwfalsenode2*/) /*new AFalseExpr*/;
61509 variable[6] = variable[7];
61510 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61511 /* Register variable[7]: Result */
61512 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61513 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61514 return_label1414: while(false);
61515 tracehead = trace.prev;
61516 return;
61517 }
61518 void parser___ReduceAction691___init(val_t self, int* init_table) {
61519 struct trace_t trace = {NULL, NULL, 23395, LOCATE_parser___ReduceAction691___init};
61520 val_t variable[2];
61521 struct WBT_ **closurevariable = NULL;
61522 trace.prev = tracehead; tracehead = &trace;
61523 trace.file = LOCATE_parser;
61524 /* Register variable[0]: Local variable */
61525 variable[0] = self;
61526 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction691].i]) return;
61527 /* Register variable[1]: Method return value and escape marker */
61528 return_label1415: while(false);
61529 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction691].i] = 1;
61530 tracehead = trace.prev;
61531 return;
61532 }
61533 void parser___ReduceAction692___action(val_t self, val_t param0) {
61534 struct trace_t trace = {NULL, NULL, 23399, LOCATE_parser___ReduceAction692___action};
61535 val_t variable[8];
61536 struct WBT_ **closurevariable = NULL;
61537 trace.prev = tracehead; tracehead = &trace;
61538 trace.file = LOCATE_parser;
61539 /* Register variable[0]: Local variable */
61540 variable[0] = self;
61541 /* Register variable[1]: Local variable */
61542 variable[1] = param0;
61543 /* Register variable[2]: Method return value and escape marker */
61544 /* Register variable[3]: Local variable */
61545 variable[3] = NIT_NULL /*null*/;
61546 /* Register variable[4]: Local variable */
61547 /* Register variable[5]: Result */
61548 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61549 variable[4] = variable[5];
61550 /* Register variable[5]: Local variable */
61551 variable[5] = variable[4] /*nodearraylist1*/;
61552 /* Register variable[6]: Result */
61553 variable[6] = TAG_Bool(( variable[5] /*tkwnullnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tkwnullnode2*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
61554 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction692___action, LOCATE_parser, 23404); nit_exit(1);}
61555 /* Register variable[6]: Local variable */
61556 /* Register variable[7]: Result */
61557 variable[7] = NEW_ANullExpr_parser_prod___ANullExpr___init_anullexpr( variable[5] /*tkwnullnode2*/) /*new ANullExpr*/;
61558 variable[6] = variable[7];
61559 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61560 /* Register variable[7]: Result */
61561 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61562 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61563 return_label1416: while(false);
61564 tracehead = trace.prev;
61565 return;
61566 }
61567 void parser___ReduceAction692___init(val_t self, int* init_table) {
61568 struct trace_t trace = {NULL, NULL, 23411, LOCATE_parser___ReduceAction692___init};
61569 val_t variable[2];
61570 struct WBT_ **closurevariable = NULL;
61571 trace.prev = tracehead; tracehead = &trace;
61572 trace.file = LOCATE_parser;
61573 /* Register variable[0]: Local variable */
61574 variable[0] = self;
61575 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction692].i]) return;
61576 /* Register variable[1]: Method return value and escape marker */
61577 return_label1417: while(false);
61578 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction692].i] = 1;
61579 tracehead = trace.prev;
61580 return;
61581 }
61582 void parser___ReduceAction693___action(val_t self, val_t param0) {
61583 struct trace_t trace = {NULL, NULL, 23415, LOCATE_parser___ReduceAction693___action};
61584 val_t variable[8];
61585 struct WBT_ **closurevariable = NULL;
61586 trace.prev = tracehead; tracehead = &trace;
61587 trace.file = LOCATE_parser;
61588 /* Register variable[0]: Local variable */
61589 variable[0] = self;
61590 /* Register variable[1]: Local variable */
61591 variable[1] = param0;
61592 /* Register variable[2]: Method return value and escape marker */
61593 /* Register variable[3]: Local variable */
61594 variable[3] = NIT_NULL /*null*/;
61595 /* Register variable[4]: Local variable */
61596 /* Register variable[5]: Result */
61597 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61598 variable[4] = variable[5];
61599 /* Register variable[5]: Local variable */
61600 variable[5] = variable[4] /*nodearraylist1*/;
61601 /* Register variable[6]: Result */
61602 variable[6] = TAG_Bool(( variable[5] /*tnumbernode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tnumbernode2*/, COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
61603 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction693___action, LOCATE_parser, 23420); nit_exit(1);}
61604 /* Register variable[6]: Local variable */
61605 /* Register variable[7]: Result */
61606 variable[7] = NEW_AIntExpr_parser_prod___AIntExpr___init_aintexpr( variable[5] /*tnumbernode2*/) /*new AIntExpr*/;
61607 variable[6] = variable[7];
61608 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61609 /* Register variable[7]: Result */
61610 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61611 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61612 return_label1418: while(false);
61613 tracehead = trace.prev;
61614 return;
61615 }
61616 void parser___ReduceAction693___init(val_t self, int* init_table) {
61617 struct trace_t trace = {NULL, NULL, 23427, LOCATE_parser___ReduceAction693___init};
61618 val_t variable[2];
61619 struct WBT_ **closurevariable = NULL;
61620 trace.prev = tracehead; tracehead = &trace;
61621 trace.file = LOCATE_parser;
61622 /* Register variable[0]: Local variable */
61623 variable[0] = self;
61624 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction693].i]) return;
61625 /* Register variable[1]: Method return value and escape marker */
61626 return_label1419: while(false);
61627 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction693].i] = 1;
61628 tracehead = trace.prev;
61629 return;
61630 }
61631 void parser___ReduceAction694___action(val_t self, val_t param0) {
61632 struct trace_t trace = {NULL, NULL, 23431, LOCATE_parser___ReduceAction694___action};
61633 val_t variable[8];
61634 struct WBT_ **closurevariable = NULL;
61635 trace.prev = tracehead; tracehead = &trace;
61636 trace.file = LOCATE_parser;
61637 /* Register variable[0]: Local variable */
61638 variable[0] = self;
61639 /* Register variable[1]: Local variable */
61640 variable[1] = param0;
61641 /* Register variable[2]: Method return value and escape marker */
61642 /* Register variable[3]: Local variable */
61643 variable[3] = NIT_NULL /*null*/;
61644 /* Register variable[4]: Local variable */
61645 /* Register variable[5]: Result */
61646 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61647 variable[4] = variable[5];
61648 /* Register variable[5]: Local variable */
61649 variable[5] = variable[4] /*nodearraylist1*/;
61650 /* Register variable[6]: Result */
61651 variable[6] = TAG_Bool(( variable[5] /*tfloatnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tfloatnode2*/, COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
61652 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction694___action, LOCATE_parser, 23436); nit_exit(1);}
61653 /* Register variable[6]: Local variable */
61654 /* Register variable[7]: Result */
61655 variable[7] = NEW_AFloatExpr_parser_prod___AFloatExpr___init_afloatexpr( variable[5] /*tfloatnode2*/) /*new AFloatExpr*/;
61656 variable[6] = variable[7];
61657 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61658 /* Register variable[7]: Result */
61659 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61660 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61661 return_label1420: while(false);
61662 tracehead = trace.prev;
61663 return;
61664 }
61665 void parser___ReduceAction694___init(val_t self, int* init_table) {
61666 struct trace_t trace = {NULL, NULL, 23443, LOCATE_parser___ReduceAction694___init};
61667 val_t variable[2];
61668 struct WBT_ **closurevariable = NULL;
61669 trace.prev = tracehead; tracehead = &trace;
61670 trace.file = LOCATE_parser;
61671 /* Register variable[0]: Local variable */
61672 variable[0] = self;
61673 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction694].i]) return;
61674 /* Register variable[1]: Method return value and escape marker */
61675 return_label1421: while(false);
61676 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction694].i] = 1;
61677 tracehead = trace.prev;
61678 return;
61679 }
61680 void parser___ReduceAction695___action(val_t self, val_t param0) {
61681 struct trace_t trace = {NULL, NULL, 23447, LOCATE_parser___ReduceAction695___action};
61682 val_t variable[8];
61683 struct WBT_ **closurevariable = NULL;
61684 trace.prev = tracehead; tracehead = &trace;
61685 trace.file = LOCATE_parser;
61686 /* Register variable[0]: Local variable */
61687 variable[0] = self;
61688 /* Register variable[1]: Local variable */
61689 variable[1] = param0;
61690 /* Register variable[2]: Method return value and escape marker */
61691 /* Register variable[3]: Local variable */
61692 variable[3] = NIT_NULL /*null*/;
61693 /* Register variable[4]: Local variable */
61694 /* Register variable[5]: Result */
61695 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61696 variable[4] = variable[5];
61697 /* Register variable[5]: Local variable */
61698 variable[5] = variable[4] /*nodearraylist1*/;
61699 /* Register variable[6]: Result */
61700 variable[6] = TAG_Bool(( variable[5] /*tcharnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tcharnode2*/, COLOR_TChar, ID_TChar)) /*cast TChar*/;
61701 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction695___action, LOCATE_parser, 23452); nit_exit(1);}
61702 /* Register variable[6]: Local variable */
61703 /* Register variable[7]: Result */
61704 variable[7] = NEW_ACharExpr_parser_prod___ACharExpr___init_acharexpr( variable[5] /*tcharnode2*/) /*new ACharExpr*/;
61705 variable[6] = variable[7];
61706 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61707 /* Register variable[7]: Result */
61708 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61709 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61710 return_label1422: while(false);
61711 tracehead = trace.prev;
61712 return;
61713 }
61714 void parser___ReduceAction695___init(val_t self, int* init_table) {
61715 struct trace_t trace = {NULL, NULL, 23459, LOCATE_parser___ReduceAction695___init};
61716 val_t variable[2];
61717 struct WBT_ **closurevariable = NULL;
61718 trace.prev = tracehead; tracehead = &trace;
61719 trace.file = LOCATE_parser;
61720 /* Register variable[0]: Local variable */
61721 variable[0] = self;
61722 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction695].i]) return;
61723 /* Register variable[1]: Method return value and escape marker */
61724 return_label1423: while(false);
61725 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction695].i] = 1;
61726 tracehead = trace.prev;
61727 return;
61728 }
61729 void parser___ReduceAction696___action(val_t self, val_t param0) {
61730 struct trace_t trace = {NULL, NULL, 23463, LOCATE_parser___ReduceAction696___action};
61731 val_t variable[8];
61732 struct WBT_ **closurevariable = NULL;
61733 trace.prev = tracehead; tracehead = &trace;
61734 trace.file = LOCATE_parser;
61735 /* Register variable[0]: Local variable */
61736 variable[0] = self;
61737 /* Register variable[1]: Local variable */
61738 variable[1] = param0;
61739 /* Register variable[2]: Method return value and escape marker */
61740 /* Register variable[3]: Local variable */
61741 variable[3] = NIT_NULL /*null*/;
61742 /* Register variable[4]: Local variable */
61743 /* Register variable[5]: Result */
61744 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61745 variable[4] = variable[5];
61746 /* Register variable[5]: Local variable */
61747 variable[5] = variable[4] /*nodearraylist1*/;
61748 /* Register variable[6]: Result */
61749 variable[6] = TAG_Bool(( variable[5] /*tstringnode2*/==NIT_NULL) || VAL_ISA( variable[5] /*tstringnode2*/, COLOR_TString, ID_TString)) /*cast TString*/;
61750 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction696___action, LOCATE_parser, 23468); nit_exit(1);}
61751 /* Register variable[6]: Local variable */
61752 /* Register variable[7]: Result */
61753 variable[7] = NEW_AStringExpr_parser_prod___AStringExpr___init_astringexpr( variable[5] /*tstringnode2*/) /*new AStringExpr*/;
61754 variable[6] = variable[7];
61755 variable[3] = variable[6] /*pexprnode1*/ /*node_list=*/;
61756 /* Register variable[7]: Result */
61757 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61758 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
61759 return_label1424: while(false);
61760 tracehead = trace.prev;
61761 return;
61762 }
61763 void parser___ReduceAction696___init(val_t self, int* init_table) {
61764 struct trace_t trace = {NULL, NULL, 23475, LOCATE_parser___ReduceAction696___init};
61765 val_t variable[2];
61766 struct WBT_ **closurevariable = NULL;
61767 trace.prev = tracehead; tracehead = &trace;
61768 trace.file = LOCATE_parser;
61769 /* Register variable[0]: Local variable */
61770 variable[0] = self;
61771 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction696].i]) return;
61772 /* Register variable[1]: Method return value and escape marker */
61773 return_label1425: while(false);
61774 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction696].i] = 1;
61775 tracehead = trace.prev;
61776 return;
61777 }
61778 void parser___ReduceAction697___action(val_t self, val_t param0) {
61779 struct trace_t trace = {NULL, NULL, 23479, LOCATE_parser___ReduceAction697___action};
61780 val_t variable[7];
61781 struct WBT_ **closurevariable = NULL;
61782 trace.prev = tracehead; tracehead = &trace;
61783 trace.file = LOCATE_parser;
61784 /* Register variable[0]: Local variable */
61785 variable[0] = self;
61786 /* Register variable[1]: Local variable */
61787 variable[1] = param0;
61788 /* Register variable[2]: Method return value and escape marker */
61789 /* Register variable[3]: Local variable */
61790 variable[3] = NIT_NULL /*null*/;
61791 /* Register variable[4]: Local variable */
61792 /* Register variable[5]: Result */
61793 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61794 variable[4] = variable[5];
61795 /* Register variable[5]: Local variable */
61796 variable[5] = variable[4] /*nodearraylist1*/;
61797 /* Register variable[6]: Result */
61798 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
61799 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction697___action, LOCATE_parser, 23484); nit_exit(1);}
61800 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
61801 /* Register variable[6]: Result */
61802 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61803 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
61804 return_label1426: while(false);
61805 tracehead = trace.prev;
61806 return;
61807 }
61808 void parser___ReduceAction697___init(val_t self, int* init_table) {
61809 struct trace_t trace = {NULL, NULL, 23488, LOCATE_parser___ReduceAction697___init};
61810 val_t variable[2];
61811 struct WBT_ **closurevariable = NULL;
61812 trace.prev = tracehead; tracehead = &trace;
61813 trace.file = LOCATE_parser;
61814 /* Register variable[0]: Local variable */
61815 variable[0] = self;
61816 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction697].i]) return;
61817 /* Register variable[1]: Method return value and escape marker */
61818 return_label1427: while(false);
61819 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction697].i] = 1;
61820 tracehead = trace.prev;
61821 return;
61822 }
61823 void parser___ReduceAction698___action(val_t self, val_t param0) {
61824 struct trace_t trace = {NULL, NULL, 23492, LOCATE_parser___ReduceAction698___action};
61825 val_t variable[19];
61826 struct WBT_ **closurevariable = NULL;
61827 trace.prev = tracehead; tracehead = &trace;
61828 trace.file = LOCATE_parser;
61829 /* Register variable[0]: Local variable */
61830 variable[0] = self;
61831 /* Register variable[1]: Local variable */
61832 variable[1] = param0;
61833 /* Register variable[2]: Method return value and escape marker */
61834 /* Register variable[3]: Local variable */
61835 variable[3] = NIT_NULL /*null*/;
61836 /* Register variable[4]: Local variable */
61837 /* Register variable[5]: Result */
61838 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61839 variable[4] = variable[5];
61840 /* Register variable[5]: Local variable */
61841 /* Register variable[6]: Result */
61842 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61843 variable[5] = variable[6];
61844 /* Register variable[6]: Local variable */
61845 /* Register variable[7]: Result */
61846 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61847 variable[6] = variable[7];
61848 /* Register variable[7]: Local variable */
61849 /* Register variable[8]: Result */
61850 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61851 variable[7] = variable[8];
61852 /* Register variable[8]: Local variable */
61853 /* Register variable[9]: Result */
61854 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61855 variable[8] = variable[9];
61856 /* Register variable[9]: Local variable */
61857 /* Register variable[10]: Result */
61858 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61859 variable[9] = variable[10];
61860 /* Register variable[10]: Local variable */
61861 /* Register variable[11]: Result */
61862 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61863 variable[10] = variable[11];
61864 /* Register variable[11]: Local variable */
61865 /* Register variable[12]: Result */
61866 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61867 variable[11] = variable[12];
61868 /* Register variable[12]: Local variable */
61869 /* Register variable[13]: Result */
61870 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61871 variable[12] = variable[13];
61872 /* Register variable[13]: Local variable */
61873 /* Register variable[14]: Result */
61874 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61875 variable[13] = variable[14];
61876 /* Register variable[14]: Local variable */
61877 variable[14] = variable[13] /*nodearraylist1*/;
61878 /* Register variable[15]: Result */
61879 variable[15] = TAG_Bool(( variable[14] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[14] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
61880 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction698___action, LOCATE_parser, 23506); nit_exit(1);}
61881 /* Register variable[15]: Local variable */
61882 variable[15] = variable[10] /*nodearraylist4*/;
61883 /* Register variable[16]: Result */
61884 variable[16] = TAG_Bool(( variable[15] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[15] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
61885 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction698___action, LOCATE_parser, 23508); nit_exit(1);}
61886 /* Register variable[16]: Local variable */
61887 variable[16] = variable[6] /*nodearraylist8*/;
61888 /* Register variable[17]: Result */
61889 variable[17] = TAG_Bool(( variable[16] /*ptypenode4*/==NIT_NULL) || VAL_ISA( variable[16] /*ptypenode4*/, COLOR_PType, ID_PType)) /*cast PType*/;
61890 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction698___action, LOCATE_parser, 23510); nit_exit(1);}
61891 /* Register variable[17]: Local variable */
61892 /* Register variable[18]: Result */
61893 variable[18] = NEW_AAsCastExpr_parser_prod___AAsCastExpr___init_aascastexpr( variable[14] /*pexprnode2*/, variable[15] /*tkwasnode3*/, variable[16] /*ptypenode4*/) /*new AAsCastExpr*/;
61894 variable[17] = variable[18];
61895 variable[3] = variable[17] /*pexprnode1*/ /*node_list=*/;
61896 /* Register variable[18]: Result */
61897 variable[18] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
61898 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[18], variable[3] /*node_list*/) /*Parser::push*/;
61899 return_label1428: while(false);
61900 tracehead = trace.prev;
61901 return;
61902 }
61903 void parser___ReduceAction698___init(val_t self, int* init_table) {
61904 struct trace_t trace = {NULL, NULL, 23519, LOCATE_parser___ReduceAction698___init};
61905 val_t variable[2];
61906 struct WBT_ **closurevariable = NULL;
61907 trace.prev = tracehead; tracehead = &trace;
61908 trace.file = LOCATE_parser;
61909 /* Register variable[0]: Local variable */
61910 variable[0] = self;
61911 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction698].i]) return;
61912 /* Register variable[1]: Method return value and escape marker */
61913 return_label1429: while(false);
61914 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction698].i] = 1;
61915 tracehead = trace.prev;
61916 return;
61917 }
61918 void parser___ReduceAction699___action(val_t self, val_t param0) {
61919 struct trace_t trace = {NULL, NULL, 23523, LOCATE_parser___ReduceAction699___action};
61920 val_t variable[22];
61921 struct WBT_ **closurevariable = NULL;
61922 trace.prev = tracehead; tracehead = &trace;
61923 trace.file = LOCATE_parser;
61924 /* Register variable[0]: Local variable */
61925 variable[0] = self;
61926 /* Register variable[1]: Local variable */
61927 variable[1] = param0;
61928 /* Register variable[2]: Method return value and escape marker */
61929 /* Register variable[3]: Local variable */
61930 variable[3] = NIT_NULL /*null*/;
61931 /* Register variable[4]: Local variable */
61932 /* Register variable[5]: Result */
61933 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61934 variable[4] = variable[5];
61935 /* Register variable[5]: Local variable */
61936 /* Register variable[6]: Result */
61937 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61938 variable[5] = variable[6];
61939 /* Register variable[6]: Local variable */
61940 /* Register variable[7]: Result */
61941 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61942 variable[6] = variable[7];
61943 /* Register variable[7]: Local variable */
61944 /* Register variable[8]: Result */
61945 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61946 variable[7] = variable[8];
61947 /* Register variable[8]: Local variable */
61948 /* Register variable[9]: Result */
61949 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61950 variable[8] = variable[9];
61951 /* Register variable[9]: Local variable */
61952 /* Register variable[10]: Result */
61953 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61954 variable[9] = variable[10];
61955 /* Register variable[10]: Local variable */
61956 /* Register variable[11]: Result */
61957 variable[11] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61958 variable[10] = variable[11];
61959 /* Register variable[11]: Local variable */
61960 /* Register variable[12]: Result */
61961 variable[12] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61962 variable[11] = variable[12];
61963 /* Register variable[12]: Local variable */
61964 /* Register variable[13]: Result */
61965 variable[13] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61966 variable[12] = variable[13];
61967 /* Register variable[13]: Local variable */
61968 /* Register variable[14]: Result */
61969 variable[14] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61970 variable[13] = variable[14];
61971 /* Register variable[14]: Local variable */
61972 /* Register variable[15]: Result */
61973 variable[15] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61974 variable[14] = variable[15];
61975 /* Register variable[15]: Local variable */
61976 /* Register variable[16]: Result */
61977 variable[16] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
61978 variable[15] = variable[16];
61979 /* Register variable[16]: Local variable */
61980 variable[16] = variable[15] /*nodearraylist1*/;
61981 /* Register variable[17]: Result */
61982 variable[17] = TAG_Bool(( variable[16] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[16] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
61983 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 23539); nit_exit(1);}
61984 /* Register variable[17]: Local variable */
61985 variable[17] = variable[12] /*nodearraylist4*/;
61986 /* Register variable[18]: Result */
61987 variable[18] = TAG_Bool(( variable[17] /*tkwasnode3*/==NIT_NULL) || VAL_ISA( variable[17] /*tkwasnode3*/, COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
61988 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 23541); nit_exit(1);}
61989 /* Register variable[18]: Local variable */
61990 variable[18] = variable[8] /*nodearraylist8*/;
61991 /* Register variable[19]: Result */
61992 variable[19] = TAG_Bool(( variable[18] /*tkwnotnode4*/==NIT_NULL) || VAL_ISA( variable[18] /*tkwnotnode4*/, COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
61993 if (!UNTAG_Bool(variable[19])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 23543); nit_exit(1);}
61994 /* Register variable[19]: Local variable */
61995 variable[19] = variable[6] /*nodearraylist10*/;
61996 /* Register variable[20]: Result */
61997 variable[20] = TAG_Bool(( variable[19] /*tkwnullnode5*/==NIT_NULL) || VAL_ISA( variable[19] /*tkwnullnode5*/, COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
61998 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction699___action, LOCATE_parser, 23545); nit_exit(1);}
61999 /* Register variable[20]: Local variable */
62000 /* Register variable[21]: Result */
62001 variable[21] = NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr( variable[16] /*pexprnode2*/, variable[17] /*tkwasnode3*/, variable[18] /*tkwnotnode4*/, variable[19] /*tkwnullnode5*/) /*new AAsNotnullExpr*/;
62002 variable[20] = variable[21];
62003 variable[3] = variable[20] /*pexprnode1*/ /*node_list=*/;
62004 /* Register variable[21]: Result */
62005 variable[21] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(115)) /*Parser::go_to*/;
62006 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[21], variable[3] /*node_list*/) /*Parser::push*/;
62007 return_label1430: while(false);
62008 tracehead = trace.prev;
62009 return;
62010 }
62011 void parser___ReduceAction699___init(val_t self, int* init_table) {
62012 struct trace_t trace = {NULL, NULL, 23555, LOCATE_parser___ReduceAction699___init};
62013 val_t variable[2];
62014 struct WBT_ **closurevariable = NULL;
62015 trace.prev = tracehead; tracehead = &trace;
62016 trace.file = LOCATE_parser;
62017 /* Register variable[0]: Local variable */
62018 variable[0] = self;
62019 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction699].i]) return;
62020 /* Register variable[1]: Method return value and escape marker */
62021 return_label1431: while(false);
62022 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction699].i] = 1;
62023 tracehead = trace.prev;
62024 return;
62025 }
62026 void parser___ReduceAction700___action(val_t self, val_t param0) {
62027 struct trace_t trace = {NULL, NULL, 23559, LOCATE_parser___ReduceAction700___action};
62028 val_t variable[9];
62029 struct WBT_ **closurevariable = NULL;
62030 trace.prev = tracehead; tracehead = &trace;
62031 trace.file = LOCATE_parser;
62032 /* Register variable[0]: Local variable */
62033 variable[0] = self;
62034 /* Register variable[1]: Local variable */
62035 variable[1] = param0;
62036 /* Register variable[2]: Method return value and escape marker */
62037 /* Register variable[3]: Local variable */
62038 variable[3] = NIT_NULL /*null*/;
62039 /* Register variable[4]: Local variable */
62040 /* Register variable[5]: Result */
62041 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62042 variable[4] = variable[5];
62043 /* Register variable[5]: Local variable */
62044 /* Register variable[6]: Result */
62045 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62046 variable[5] = variable[6];
62047 /* Register variable[6]: Local variable */
62048 /* Register variable[7]: Result */
62049 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62050 variable[6] = variable[7];
62051 /* Register variable[7]: Local variable */
62052 variable[7] = variable[6] /*nodearraylist1*/;
62053 /* Register variable[8]: Result */
62054 variable[8] = TAG_Bool(( variable[7] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
62055 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction700___action, LOCATE_parser, 23566); nit_exit(1);}
62056 variable[3] = variable[7] /*pexprnode1*/ /*node_list=*/;
62057 /* Register variable[8]: Result */
62058 variable[8] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
62059 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[8], variable[3] /*node_list*/) /*Parser::push*/;
62060 return_label1432: while(false);
62061 tracehead = trace.prev;
62062 return;
62063 }
62064 void parser___ReduceAction700___init(val_t self, int* init_table) {
62065 struct trace_t trace = {NULL, NULL, 23570, LOCATE_parser___ReduceAction700___init};
62066 val_t variable[2];
62067 struct WBT_ **closurevariable = NULL;
62068 trace.prev = tracehead; tracehead = &trace;
62069 trace.file = LOCATE_parser;
62070 /* Register variable[0]: Local variable */
62071 variable[0] = self;
62072 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction700].i]) return;
62073 /* Register variable[1]: Method return value and escape marker */
62074 return_label1433: while(false);
62075 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction700].i] = 1;
62076 tracehead = trace.prev;
62077 return;
62078 }
62079 void parser___ReduceAction701___action(val_t self, val_t param0) {
62080 struct trace_t trace = {NULL, NULL, 23574, LOCATE_parser___ReduceAction701___action};
62081 val_t variable[6];
62082 struct WBT_ **closurevariable = NULL;
62083 trace.prev = tracehead; tracehead = &trace;
62084 trace.file = LOCATE_parser;
62085 /* Register variable[0]: Local variable */
62086 variable[0] = self;
62087 /* Register variable[1]: Local variable */
62088 variable[1] = param0;
62089 /* Register variable[2]: Method return value and escape marker */
62090 /* Register variable[3]: Local variable */
62091 variable[3] = NIT_NULL /*null*/;
62092 /* Register variable[4]: Local variable */
62093 /* Register variable[5]: Result */
62094 variable[5] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
62095 variable[4] = variable[5];
62096 variable[3] = variable[4] /*pexprnode1*/ /*node_list=*/;
62097 /* Register variable[5]: Result */
62098 variable[5] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(116)) /*Parser::go_to*/;
62099 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[5], variable[3] /*node_list*/) /*Parser::push*/;
62100 return_label1434: while(false);
62101 tracehead = trace.prev;
62102 return;
62103 }
62104 void parser___ReduceAction701___init(val_t self, int* init_table) {
62105 struct trace_t trace = {NULL, NULL, 23582, LOCATE_parser___ReduceAction701___init};
62106 val_t variable[2];
62107 struct WBT_ **closurevariable = NULL;
62108 trace.prev = tracehead; tracehead = &trace;
62109 trace.file = LOCATE_parser;
62110 /* Register variable[0]: Local variable */
62111 variable[0] = self;
62112 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction701].i]) return;
62113 /* Register variable[1]: Method return value and escape marker */
62114 return_label1435: while(false);
62115 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction701].i] = 1;
62116 tracehead = trace.prev;
62117 return;
62118 }
62119 void parser___ReduceAction702___action(val_t self, val_t param0) {
62120 struct trace_t trace = {NULL, NULL, 23586, LOCATE_parser___ReduceAction702___action};
62121 val_t variable[7];
62122 struct WBT_ **closurevariable = NULL;
62123 trace.prev = tracehead; tracehead = &trace;
62124 trace.file = LOCATE_parser;
62125 /* Register variable[0]: Local variable */
62126 variable[0] = self;
62127 /* Register variable[1]: Local variable */
62128 variable[1] = param0;
62129 /* Register variable[2]: Method return value and escape marker */
62130 /* Register variable[3]: Local variable */
62131 variable[3] = NIT_NULL /*null*/;
62132 /* Register variable[4]: Local variable */
62133 /* Register variable[5]: Result */
62134 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62135 variable[4] = variable[5];
62136 /* Register variable[5]: Local variable */
62137 variable[5] = variable[4] /*nodearraylist1*/;
62138 /* Register variable[6]: Result */
62139 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
62140 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction702___action, LOCATE_parser, 23591); nit_exit(1);}
62141 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
62142 /* Register variable[6]: Result */
62143 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
62144 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
62145 return_label1436: while(false);
62146 tracehead = trace.prev;
62147 return;
62148 }
62149 void parser___ReduceAction702___init(val_t self, int* init_table) {
62150 struct trace_t trace = {NULL, NULL, 23595, LOCATE_parser___ReduceAction702___init};
62151 val_t variable[2];
62152 struct WBT_ **closurevariable = NULL;
62153 trace.prev = tracehead; tracehead = &trace;
62154 trace.file = LOCATE_parser;
62155 /* Register variable[0]: Local variable */
62156 variable[0] = self;
62157 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction702].i]) return;
62158 /* Register variable[1]: Method return value and escape marker */
62159 return_label1437: while(false);
62160 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction702].i] = 1;
62161 tracehead = trace.prev;
62162 return;
62163 }
62164 void parser___ReduceAction703___action(val_t self, val_t param0) {
62165 struct trace_t trace = {NULL, NULL, 23599, LOCATE_parser___ReduceAction703___action};
62166 val_t variable[18];
62167 struct WBT_ **closurevariable = NULL;
62168 trace.prev = tracehead; tracehead = &trace;
62169 trace.file = LOCATE_parser;
62170 /* Register variable[0]: Local variable */
62171 variable[0] = self;
62172 /* Register variable[1]: Local variable */
62173 variable[1] = param0;
62174 /* Register variable[2]: Method return value and escape marker */
62175 /* Register variable[3]: Local variable */
62176 variable[3] = NIT_NULL /*null*/;
62177 /* Register variable[4]: Local variable */
62178 /* Register variable[5]: Result */
62179 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62180 variable[4] = variable[5];
62181 /* Register variable[5]: Local variable */
62182 /* Register variable[6]: Result */
62183 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62184 variable[5] = variable[6];
62185 /* Register variable[6]: Local variable */
62186 /* Register variable[7]: Result */
62187 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62188 variable[6] = variable[7];
62189 /* Register variable[7]: Local variable */
62190 /* Register variable[8]: Result */
62191 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62192 variable[7] = variable[8];
62193 /* Register variable[8]: Local variable */
62194 /* Register variable[9]: Result */
62195 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62196 variable[8] = variable[9];
62197 /* Register variable[9]: Local variable */
62198 /* Register variable[10]: Result */
62199 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62200 variable[9] = variable[10];
62201 /* Register variable[10]: Local variable */
62202 /* Register variable[11]: Result */
62203 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62204 variable[10] = variable[11];
62205 /* Register variable[11]: Local variable */
62206 /* Register variable[12]: Result */
62207 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62208 variable[11] = variable[12];
62209 /* Register variable[12]: Local variable */
62210 variable[12] = variable[9] /*nodearraylist1*/;
62211 /* Register variable[13]: Result */
62212 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
62213 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 23611); nit_exit(1);}
62214 /* Register variable[13]: Local variable */
62215 variable[13] = variable[6] /*nodearraylist4*/;
62216 /* Register variable[14]: Result */
62217 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
62218 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 23613); nit_exit(1);}
62219 /* Register variable[14]: Local variable */
62220 variable[14] = variable[5] /*nodearraylist5*/;
62221 /* Register variable[15]: Result */
62222 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62223 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 23615); nit_exit(1);}
62224 /* Register variable[15]: Result */
62225 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::==*/)))))));
62226 if (UNTAG_Bool(variable[15])) { /*if*/
62227 /* Register variable[15]: Result */
62228 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
62229 if (UNTAG_Bool(variable[15])) { /*if*/
62230 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
62231 } else { /*if*/
62232 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
62233 }
62234 }
62235 /* Register variable[15]: Local variable */
62236 variable[15] = variable[4] /*nodearraylist6*/;
62237 /* Register variable[16]: Result */
62238 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62239 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction703___action, LOCATE_parser, 23624); nit_exit(1);}
62240 /* Register variable[16]: Result */
62241 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::==*/)))))));
62242 if (UNTAG_Bool(variable[16])) { /*if*/
62243 /* Register variable[16]: Result */
62244 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
62245 if (UNTAG_Bool(variable[16])) { /*if*/
62246 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
62247 } else { /*if*/
62248 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
62249 }
62250 }
62251 /* Register variable[16]: Local variable */
62252 /* Register variable[17]: Result */
62253 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
62254 variable[16] = variable[17];
62255 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
62256 /* Register variable[17]: Result */
62257 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
62258 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
62259 return_label1438: while(false);
62260 tracehead = trace.prev;
62261 return;
62262 }
62263 void parser___ReduceAction703___init(val_t self, int* init_table) {
62264 struct trace_t trace = {NULL, NULL, 23641, LOCATE_parser___ReduceAction703___init};
62265 val_t variable[2];
62266 struct WBT_ **closurevariable = NULL;
62267 trace.prev = tracehead; tracehead = &trace;
62268 trace.file = LOCATE_parser;
62269 /* Register variable[0]: Local variable */
62270 variable[0] = self;
62271 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction703].i]) return;
62272 /* Register variable[1]: Method return value and escape marker */
62273 return_label1439: while(false);
62274 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction703].i] = 1;
62275 tracehead = trace.prev;
62276 return;
62277 }
62278 void parser___ReduceAction704___action(val_t self, val_t param0) {
62279 struct trace_t trace = {NULL, NULL, 23645, LOCATE_parser___ReduceAction704___action};
62280 val_t variable[15];
62281 struct WBT_ **closurevariable = NULL;
62282 trace.prev = tracehead; tracehead = &trace;
62283 trace.file = LOCATE_parser;
62284 /* Register variable[0]: Local variable */
62285 variable[0] = self;
62286 /* Register variable[1]: Local variable */
62287 variable[1] = param0;
62288 /* Register variable[2]: Method return value and escape marker */
62289 /* Register variable[3]: Local variable */
62290 variable[3] = NIT_NULL /*null*/;
62291 /* Register variable[4]: Local variable */
62292 /* Register variable[5]: Result */
62293 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62294 variable[4] = variable[5];
62295 /* Register variable[5]: Local variable */
62296 /* Register variable[6]: Result */
62297 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62298 variable[5] = variable[6];
62299 /* Register variable[6]: Local variable */
62300 /* Register variable[7]: Result */
62301 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62302 variable[6] = variable[7];
62303 /* Register variable[7]: Local variable */
62304 /* Register variable[8]: Result */
62305 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62306 variable[7] = variable[8];
62307 /* Register variable[8]: Local variable */
62308 /* Register variable[9]: Result */
62309 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62310 variable[8] = variable[9];
62311 /* Register variable[9]: Local variable */
62312 /* Register variable[10]: Result */
62313 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
62314 variable[9] = variable[10];
62315 /* Register variable[10]: Local variable */
62316 variable[10] = variable[6] /*nodearraylist1*/;
62317 /* Register variable[11]: Result */
62318 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
62319 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction704___action, LOCATE_parser, 23656); nit_exit(1);}
62320 /* Register variable[11]: Local variable */
62321 variable[11] = variable[5] /*nodearraylist2*/;
62322 /* Register variable[12]: Result */
62323 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62324 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction704___action, LOCATE_parser, 23658); nit_exit(1);}
62325 /* Register variable[12]: Result */
62326 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::==*/)))))));
62327 if (UNTAG_Bool(variable[12])) { /*if*/
62328 /* Register variable[12]: Result */
62329 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
62330 if (UNTAG_Bool(variable[12])) { /*if*/
62331 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
62332 } else { /*if*/
62333 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
62334 }
62335 }
62336 /* Register variable[12]: Local variable */
62337 variable[12] = variable[4] /*nodearraylist3*/;
62338 /* Register variable[13]: Result */
62339 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62340 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction704___action, LOCATE_parser, 23667); nit_exit(1);}
62341 /* Register variable[13]: Result */
62342 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::==*/)))))));
62343 if (UNTAG_Bool(variable[13])) { /*if*/
62344 /* Register variable[13]: Result */
62345 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
62346 if (UNTAG_Bool(variable[13])) { /*if*/
62347 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
62348 } else { /*if*/
62349 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
62350 }
62351 }
62352 /* Register variable[13]: Local variable */
62353 /* Register variable[14]: Result */
62354 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
62355 variable[13] = variable[14];
62356 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
62357 /* Register variable[14]: Result */
62358 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(117)) /*Parser::go_to*/;
62359 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
62360 return_label1440: while(false);
62361 tracehead = trace.prev;
62362 return;
62363 }
62364 void parser___ReduceAction704___init(val_t self, int* init_table) {
62365 struct trace_t trace = {NULL, NULL, 23684, LOCATE_parser___ReduceAction704___init};
62366 val_t variable[2];
62367 struct WBT_ **closurevariable = NULL;
62368 trace.prev = tracehead; tracehead = &trace;
62369 trace.file = LOCATE_parser;
62370 /* Register variable[0]: Local variable */
62371 variable[0] = self;
62372 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction704].i]) return;
62373 /* Register variable[1]: Method return value and escape marker */
62374 return_label1441: while(false);
62375 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction704].i] = 1;
62376 tracehead = trace.prev;
62377 return;
62378 }
62379 void parser___ReduceAction705___action(val_t self, val_t param0) {
62380 struct trace_t trace = {NULL, NULL, 23688, LOCATE_parser___ReduceAction705___action};
62381 val_t variable[7];
62382 struct WBT_ **closurevariable = NULL;
62383 trace.prev = tracehead; tracehead = &trace;
62384 trace.file = LOCATE_parser;
62385 /* Register variable[0]: Local variable */
62386 variable[0] = self;
62387 /* Register variable[1]: Local variable */
62388 variable[1] = param0;
62389 /* Register variable[2]: Method return value and escape marker */
62390 /* Register variable[3]: Local variable */
62391 variable[3] = NIT_NULL /*null*/;
62392 /* Register variable[4]: Local variable */
62393 /* Register variable[5]: Result */
62394 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62395 variable[4] = variable[5];
62396 /* Register variable[5]: Local variable */
62397 variable[5] = variable[4] /*nodearraylist1*/;
62398 /* Register variable[6]: Result */
62399 variable[6] = TAG_Bool(( variable[5] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[5] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
62400 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction705___action, LOCATE_parser, 23693); nit_exit(1);}
62401 variable[3] = variable[5] /*pexprnode1*/ /*node_list=*/;
62402 /* Register variable[6]: Result */
62403 variable[6] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
62404 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[6], variable[3] /*node_list*/) /*Parser::push*/;
62405 return_label1442: while(false);
62406 tracehead = trace.prev;
62407 return;
62408 }
62409 void parser___ReduceAction705___init(val_t self, int* init_table) {
62410 struct trace_t trace = {NULL, NULL, 23697, LOCATE_parser___ReduceAction705___init};
62411 val_t variable[2];
62412 struct WBT_ **closurevariable = NULL;
62413 trace.prev = tracehead; tracehead = &trace;
62414 trace.file = LOCATE_parser;
62415 /* Register variable[0]: Local variable */
62416 variable[0] = self;
62417 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction705].i]) return;
62418 /* Register variable[1]: Method return value and escape marker */
62419 return_label1443: while(false);
62420 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction705].i] = 1;
62421 tracehead = trace.prev;
62422 return;
62423 }
62424 void parser___ReduceAction706___action(val_t self, val_t param0) {
62425 struct trace_t trace = {NULL, NULL, 23701, LOCATE_parser___ReduceAction706___action};
62426 val_t variable[18];
62427 struct WBT_ **closurevariable = NULL;
62428 trace.prev = tracehead; tracehead = &trace;
62429 trace.file = LOCATE_parser;
62430 /* Register variable[0]: Local variable */
62431 variable[0] = self;
62432 /* Register variable[1]: Local variable */
62433 variable[1] = param0;
62434 /* Register variable[2]: Method return value and escape marker */
62435 /* Register variable[3]: Local variable */
62436 variable[3] = NIT_NULL /*null*/;
62437 /* Register variable[4]: Local variable */
62438 /* Register variable[5]: Result */
62439 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62440 variable[4] = variable[5];
62441 /* Register variable[5]: Local variable */
62442 /* Register variable[6]: Result */
62443 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62444 variable[5] = variable[6];
62445 /* Register variable[6]: Local variable */
62446 /* Register variable[7]: Result */
62447 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62448 variable[6] = variable[7];
62449 /* Register variable[7]: Local variable */
62450 /* Register variable[8]: Result */
62451 variable[8] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62452 variable[7] = variable[8];
62453 /* Register variable[8]: Local variable */
62454 /* Register variable[9]: Result */
62455 variable[9] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62456 variable[8] = variable[9];
62457 /* Register variable[9]: Local variable */
62458 /* Register variable[10]: Result */
62459 variable[10] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62460 variable[9] = variable[10];
62461 /* Register variable[10]: Local variable */
62462 /* Register variable[11]: Result */
62463 variable[11] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62464 variable[10] = variable[11];
62465 /* Register variable[11]: Local variable */
62466 /* Register variable[12]: Result */
62467 variable[12] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62468 variable[11] = variable[12];
62469 /* Register variable[12]: Local variable */
62470 variable[12] = variable[9] /*nodearraylist1*/;
62471 /* Register variable[13]: Result */
62472 variable[13] = TAG_Bool(( variable[12] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[12] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
62473 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 23713); nit_exit(1);}
62474 /* Register variable[13]: Local variable */
62475 variable[13] = variable[6] /*nodearraylist4*/;
62476 /* Register variable[14]: Result */
62477 variable[14] = TAG_Bool(( variable[13] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[13] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
62478 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 23715); nit_exit(1);}
62479 /* Register variable[14]: Local variable */
62480 variable[14] = variable[5] /*nodearraylist5*/;
62481 /* Register variable[15]: Result */
62482 variable[15] = TAG_Bool(( variable[14] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[14] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62483 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 23717); nit_exit(1);}
62484 /* Register variable[15]: Result */
62485 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::==*/)))))));
62486 if (UNTAG_Bool(variable[15])) { /*if*/
62487 /* Register variable[15]: Result */
62488 variable[15] = CALL_abstract_collection___Collection___is_empty( variable[10] /*listnode5*/)( variable[10] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
62489 if (UNTAG_Bool(variable[15])) { /*if*/
62490 variable[10] = variable[14] /*listnode4*/ /*listnode5=*/;
62491 } else { /*if*/
62492 CALL_abstract_collection___IndexedCollection___append( variable[10] /*listnode5*/)( variable[10] /*listnode5*/, variable[14] /*listnode4*/) /*IndexedCollection::append*/;
62493 }
62494 }
62495 /* Register variable[15]: Local variable */
62496 variable[15] = variable[4] /*nodearraylist6*/;
62497 /* Register variable[16]: Result */
62498 variable[16] = TAG_Bool(( variable[15] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[15] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62499 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction706___action, LOCATE_parser, 23726); nit_exit(1);}
62500 /* Register variable[16]: Result */
62501 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::==*/)))))));
62502 if (UNTAG_Bool(variable[16])) { /*if*/
62503 /* Register variable[16]: Result */
62504 variable[16] = CALL_abstract_collection___Collection___is_empty( variable[11] /*listnode7*/)( variable[11] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
62505 if (UNTAG_Bool(variable[16])) { /*if*/
62506 variable[11] = variable[15] /*listnode6*/ /*listnode7=*/;
62507 } else { /*if*/
62508 CALL_abstract_collection___IndexedCollection___append( variable[11] /*listnode7*/)( variable[11] /*listnode7*/, variable[15] /*listnode6*/) /*IndexedCollection::append*/;
62509 }
62510 }
62511 /* Register variable[16]: Local variable */
62512 /* Register variable[17]: Result */
62513 variable[17] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[12] /*pexprnode2*/, variable[13] /*tidnode3*/, variable[10] /*listnode5*/, variable[11] /*listnode7*/) /*new ACallExpr*/;
62514 variable[16] = variable[17];
62515 variable[3] = variable[16] /*pexprnode1*/ /*node_list=*/;
62516 /* Register variable[17]: Result */
62517 variable[17] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
62518 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[17], variable[3] /*node_list*/) /*Parser::push*/;
62519 return_label1444: while(false);
62520 tracehead = trace.prev;
62521 return;
62522 }
62523 void parser___ReduceAction706___init(val_t self, int* init_table) {
62524 struct trace_t trace = {NULL, NULL, 23743, LOCATE_parser___ReduceAction706___init};
62525 val_t variable[2];
62526 struct WBT_ **closurevariable = NULL;
62527 trace.prev = tracehead; tracehead = &trace;
62528 trace.file = LOCATE_parser;
62529 /* Register variable[0]: Local variable */
62530 variable[0] = self;
62531 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction706].i]) return;
62532 /* Register variable[1]: Method return value and escape marker */
62533 return_label1445: while(false);
62534 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction706].i] = 1;
62535 tracehead = trace.prev;
62536 return;
62537 }
62538 void parser___ReduceAction707___action(val_t self, val_t param0) {
62539 struct trace_t trace = {NULL, NULL, 23747, LOCATE_parser___ReduceAction707___action};
62540 val_t variable[15];
62541 struct WBT_ **closurevariable = NULL;
62542 trace.prev = tracehead; tracehead = &trace;
62543 trace.file = LOCATE_parser;
62544 /* Register variable[0]: Local variable */
62545 variable[0] = self;
62546 /* Register variable[1]: Local variable */
62547 variable[1] = param0;
62548 /* Register variable[2]: Method return value and escape marker */
62549 /* Register variable[3]: Local variable */
62550 variable[3] = NIT_NULL /*null*/;
62551 /* Register variable[4]: Local variable */
62552 /* Register variable[5]: Result */
62553 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62554 variable[4] = variable[5];
62555 /* Register variable[5]: Local variable */
62556 /* Register variable[6]: Result */
62557 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62558 variable[5] = variable[6];
62559 /* Register variable[6]: Local variable */
62560 /* Register variable[7]: Result */
62561 variable[7] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62562 variable[6] = variable[7];
62563 /* Register variable[7]: Local variable */
62564 /* Register variable[8]: Result */
62565 variable[8] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62566 variable[7] = variable[8];
62567 /* Register variable[8]: Local variable */
62568 /* Register variable[9]: Result */
62569 variable[9] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62570 variable[8] = variable[9];
62571 /* Register variable[9]: Local variable */
62572 /* Register variable[10]: Result */
62573 variable[10] = NEW_AImplicitSelfExpr_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr() /*new AImplicitSelfExpr*/;
62574 variable[9] = variable[10];
62575 /* Register variable[10]: Local variable */
62576 variable[10] = variable[6] /*nodearraylist1*/;
62577 /* Register variable[11]: Result */
62578 variable[11] = TAG_Bool(( variable[10] /*tidnode3*/==NIT_NULL) || VAL_ISA( variable[10] /*tidnode3*/, COLOR_TId, ID_TId)) /*cast TId*/;
62579 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction707___action, LOCATE_parser, 23758); nit_exit(1);}
62580 /* Register variable[11]: Local variable */
62581 variable[11] = variable[5] /*nodearraylist2*/;
62582 /* Register variable[12]: Result */
62583 variable[12] = TAG_Bool(( variable[11] /*listnode4*/==NIT_NULL) || VAL_ISA( variable[11] /*listnode4*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62584 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction707___action, LOCATE_parser, 23760); nit_exit(1);}
62585 /* Register variable[12]: Result */
62586 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::==*/)))))));
62587 if (UNTAG_Bool(variable[12])) { /*if*/
62588 /* Register variable[12]: Result */
62589 variable[12] = CALL_abstract_collection___Collection___is_empty( variable[7] /*listnode5*/)( variable[7] /*listnode5*/) /*AbstractArrayRead::is_empty*/;
62590 if (UNTAG_Bool(variable[12])) { /*if*/
62591 variable[7] = variable[11] /*listnode4*/ /*listnode5=*/;
62592 } else { /*if*/
62593 CALL_abstract_collection___IndexedCollection___append( variable[7] /*listnode5*/)( variable[7] /*listnode5*/, variable[11] /*listnode4*/) /*IndexedCollection::append*/;
62594 }
62595 }
62596 /* Register variable[12]: Local variable */
62597 variable[12] = variable[4] /*nodearraylist3*/;
62598 /* Register variable[13]: Result */
62599 variable[13] = TAG_Bool(( variable[12] /*listnode6*/==NIT_NULL) || VAL_ISA( variable[12] /*listnode6*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62600 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction707___action, LOCATE_parser, 23769); nit_exit(1);}
62601 /* Register variable[13]: Result */
62602 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::==*/)))))));
62603 if (UNTAG_Bool(variable[13])) { /*if*/
62604 /* Register variable[13]: Result */
62605 variable[13] = CALL_abstract_collection___Collection___is_empty( variable[8] /*listnode7*/)( variable[8] /*listnode7*/) /*AbstractArrayRead::is_empty*/;
62606 if (UNTAG_Bool(variable[13])) { /*if*/
62607 variable[8] = variable[12] /*listnode6*/ /*listnode7=*/;
62608 } else { /*if*/
62609 CALL_abstract_collection___IndexedCollection___append( variable[8] /*listnode7*/)( variable[8] /*listnode7*/, variable[12] /*listnode6*/) /*IndexedCollection::append*/;
62610 }
62611 }
62612 /* Register variable[13]: Local variable */
62613 /* Register variable[14]: Result */
62614 variable[14] = NEW_ACallExpr_parser_prod___ACallExpr___init_acallexpr( variable[9] /*pexprnode2*/, variable[10] /*tidnode3*/, variable[7] /*listnode5*/, variable[8] /*listnode7*/) /*new ACallExpr*/;
62615 variable[13] = variable[14];
62616 variable[3] = variable[13] /*pexprnode1*/ /*node_list=*/;
62617 /* Register variable[14]: Result */
62618 variable[14] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(118)) /*Parser::go_to*/;
62619 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[14], variable[3] /*node_list*/) /*Parser::push*/;
62620 return_label1446: while(false);
62621 tracehead = trace.prev;
62622 return;
62623 }
62624 void parser___ReduceAction707___init(val_t self, int* init_table) {
62625 struct trace_t trace = {NULL, NULL, 23786, LOCATE_parser___ReduceAction707___init};
62626 val_t variable[2];
62627 struct WBT_ **closurevariable = NULL;
62628 trace.prev = tracehead; tracehead = &trace;
62629 trace.file = LOCATE_parser;
62630 /* Register variable[0]: Local variable */
62631 variable[0] = self;
62632 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction707].i]) return;
62633 /* Register variable[1]: Method return value and escape marker */
62634 return_label1447: while(false);
62635 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction707].i] = 1;
62636 tracehead = trace.prev;
62637 return;
62638 }
62639 void parser___ReduceAction708___action(val_t self, val_t param0) {
62640 struct trace_t trace = {NULL, NULL, 23790, LOCATE_parser___ReduceAction708___action};
62641 val_t variable[8];
62642 struct WBT_ **closurevariable = NULL;
62643 trace.prev = tracehead; tracehead = &trace;
62644 trace.file = LOCATE_parser;
62645 /* Register variable[0]: Local variable */
62646 variable[0] = self;
62647 /* Register variable[1]: Local variable */
62648 variable[1] = param0;
62649 /* Register variable[2]: Method return value and escape marker */
62650 /* Register variable[3]: Local variable */
62651 variable[3] = NIT_NULL /*null*/;
62652 /* Register variable[4]: Local variable */
62653 /* Register variable[5]: Result */
62654 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62655 variable[4] = variable[5];
62656 /* Register variable[5]: Local variable */
62657 /* Register variable[6]: Result */
62658 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62659 variable[5] = variable[6];
62660 /* Register variable[6]: Local variable */
62661 variable[6] = variable[4] /*nodearraylist1*/;
62662 /* Register variable[7]: Result */
62663 variable[7] = TAG_Bool(( variable[6] /*pimportnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pimportnode1*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
62664 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction708___action, LOCATE_parser, 23796); nit_exit(1);}
62665 /* Register variable[7]: Result */
62666 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::==*/)))))));
62667 if (UNTAG_Bool(variable[7])) { /*if*/
62668 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pimportnode1*/) /*AbstractArray::add*/;
62669 }
62670 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
62671 /* Register variable[7]: Result */
62672 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
62673 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
62674 return_label1448: while(false);
62675 tracehead = trace.prev;
62676 return;
62677 }
62678 void parser___ReduceAction708___init(val_t self, int* init_table) {
62679 struct trace_t trace = {NULL, NULL, 23803, LOCATE_parser___ReduceAction708___init};
62680 val_t variable[2];
62681 struct WBT_ **closurevariable = NULL;
62682 trace.prev = tracehead; tracehead = &trace;
62683 trace.file = LOCATE_parser;
62684 /* Register variable[0]: Local variable */
62685 variable[0] = self;
62686 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction708].i]) return;
62687 /* Register variable[1]: Method return value and escape marker */
62688 return_label1449: while(false);
62689 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction708].i] = 1;
62690 tracehead = trace.prev;
62691 return;
62692 }
62693 void parser___ReduceAction709___action(val_t self, val_t param0) {
62694 struct trace_t trace = {NULL, NULL, 23807, LOCATE_parser___ReduceAction709___action};
62695 val_t variable[10];
62696 struct WBT_ **closurevariable = NULL;
62697 trace.prev = tracehead; tracehead = &trace;
62698 trace.file = LOCATE_parser;
62699 /* Register variable[0]: Local variable */
62700 variable[0] = self;
62701 /* Register variable[1]: Local variable */
62702 variable[1] = param0;
62703 /* Register variable[2]: Method return value and escape marker */
62704 /* Register variable[3]: Local variable */
62705 variable[3] = NIT_NULL /*null*/;
62706 /* Register variable[4]: Local variable */
62707 /* Register variable[5]: Result */
62708 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62709 variable[4] = variable[5];
62710 /* Register variable[5]: Local variable */
62711 /* Register variable[6]: Result */
62712 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62713 variable[5] = variable[6];
62714 /* Register variable[6]: Local variable */
62715 /* Register variable[7]: Result */
62716 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62717 variable[6] = variable[7];
62718 /* Register variable[7]: Local variable */
62719 variable[7] = variable[5] /*nodearraylist1*/;
62720 /* Register variable[8]: Result */
62721 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62722 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction709___action, LOCATE_parser, 23814); nit_exit(1);}
62723 /* Register variable[8]: Local variable */
62724 variable[8] = variable[4] /*nodearraylist2*/;
62725 /* Register variable[9]: Result */
62726 variable[9] = TAG_Bool(( variable[8] /*pimportnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pimportnode2*/, COLOR_PImport, ID_PImport)) /*cast PImport*/;
62727 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction709___action, LOCATE_parser, 23816); nit_exit(1);}
62728 /* Register variable[9]: Result */
62729 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::==*/)))))));
62730 if (UNTAG_Bool(variable[9])) { /*if*/
62731 /* Register variable[9]: Result */
62732 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
62733 if (UNTAG_Bool(variable[9])) { /*if*/
62734 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
62735 } else { /*if*/
62736 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
62737 }
62738 }
62739 /* Register variable[9]: Result */
62740 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::==*/)))))));
62741 if (UNTAG_Bool(variable[9])) { /*if*/
62742 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pimportnode2*/) /*AbstractArray::add*/;
62743 }
62744 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
62745 /* Register variable[9]: Result */
62746 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(119)) /*Parser::go_to*/;
62747 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
62748 return_label1450: while(false);
62749 tracehead = trace.prev;
62750 return;
62751 }
62752 void parser___ReduceAction709___init(val_t self, int* init_table) {
62753 struct trace_t trace = {NULL, NULL, 23830, LOCATE_parser___ReduceAction709___init};
62754 val_t variable[2];
62755 struct WBT_ **closurevariable = NULL;
62756 trace.prev = tracehead; tracehead = &trace;
62757 trace.file = LOCATE_parser;
62758 /* Register variable[0]: Local variable */
62759 variable[0] = self;
62760 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction709].i]) return;
62761 /* Register variable[1]: Method return value and escape marker */
62762 return_label1451: while(false);
62763 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction709].i] = 1;
62764 tracehead = trace.prev;
62765 return;
62766 }
62767 void parser___ReduceAction710___action(val_t self, val_t param0) {
62768 struct trace_t trace = {NULL, NULL, 23834, LOCATE_parser___ReduceAction710___action};
62769 val_t variable[8];
62770 struct WBT_ **closurevariable = NULL;
62771 trace.prev = tracehead; tracehead = &trace;
62772 trace.file = LOCATE_parser;
62773 /* Register variable[0]: Local variable */
62774 variable[0] = self;
62775 /* Register variable[1]: Local variable */
62776 variable[1] = param0;
62777 /* Register variable[2]: Method return value and escape marker */
62778 /* Register variable[3]: Local variable */
62779 variable[3] = NIT_NULL /*null*/;
62780 /* Register variable[4]: Local variable */
62781 /* Register variable[5]: Result */
62782 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62783 variable[4] = variable[5];
62784 /* Register variable[5]: Local variable */
62785 /* Register variable[6]: Result */
62786 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62787 variable[5] = variable[6];
62788 /* Register variable[6]: Local variable */
62789 variable[6] = variable[4] /*nodearraylist1*/;
62790 /* Register variable[7]: Result */
62791 variable[7] = TAG_Bool(( variable[6] /*pclassdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclassdefnode1*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
62792 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction710___action, LOCATE_parser, 23840); nit_exit(1);}
62793 /* Register variable[7]: Result */
62794 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::==*/)))))));
62795 if (UNTAG_Bool(variable[7])) { /*if*/
62796 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclassdefnode1*/) /*AbstractArray::add*/;
62797 }
62798 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
62799 /* Register variable[7]: Result */
62800 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
62801 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
62802 return_label1452: while(false);
62803 tracehead = trace.prev;
62804 return;
62805 }
62806 void parser___ReduceAction710___init(val_t self, int* init_table) {
62807 struct trace_t trace = {NULL, NULL, 23847, LOCATE_parser___ReduceAction710___init};
62808 val_t variable[2];
62809 struct WBT_ **closurevariable = NULL;
62810 trace.prev = tracehead; tracehead = &trace;
62811 trace.file = LOCATE_parser;
62812 /* Register variable[0]: Local variable */
62813 variable[0] = self;
62814 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction710].i]) return;
62815 /* Register variable[1]: Method return value and escape marker */
62816 return_label1453: while(false);
62817 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction710].i] = 1;
62818 tracehead = trace.prev;
62819 return;
62820 }
62821 void parser___ReduceAction711___action(val_t self, val_t param0) {
62822 struct trace_t trace = {NULL, NULL, 23851, LOCATE_parser___ReduceAction711___action};
62823 val_t variable[10];
62824 struct WBT_ **closurevariable = NULL;
62825 trace.prev = tracehead; tracehead = &trace;
62826 trace.file = LOCATE_parser;
62827 /* Register variable[0]: Local variable */
62828 variable[0] = self;
62829 /* Register variable[1]: Local variable */
62830 variable[1] = param0;
62831 /* Register variable[2]: Method return value and escape marker */
62832 /* Register variable[3]: Local variable */
62833 variable[3] = NIT_NULL /*null*/;
62834 /* Register variable[4]: Local variable */
62835 /* Register variable[5]: Result */
62836 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62837 variable[4] = variable[5];
62838 /* Register variable[5]: Local variable */
62839 /* Register variable[6]: Result */
62840 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62841 variable[5] = variable[6];
62842 /* Register variable[6]: Local variable */
62843 /* Register variable[7]: Result */
62844 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62845 variable[6] = variable[7];
62846 /* Register variable[7]: Local variable */
62847 variable[7] = variable[5] /*nodearraylist1*/;
62848 /* Register variable[8]: Result */
62849 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62850 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction711___action, LOCATE_parser, 23858); nit_exit(1);}
62851 /* Register variable[8]: Local variable */
62852 variable[8] = variable[4] /*nodearraylist2*/;
62853 /* Register variable[9]: Result */
62854 variable[9] = TAG_Bool(( variable[8] /*pclassdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclassdefnode2*/, COLOR_PClassdef, ID_PClassdef)) /*cast PClassdef*/;
62855 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction711___action, LOCATE_parser, 23860); nit_exit(1);}
62856 /* Register variable[9]: Result */
62857 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::==*/)))))));
62858 if (UNTAG_Bool(variable[9])) { /*if*/
62859 /* Register variable[9]: Result */
62860 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
62861 if (UNTAG_Bool(variable[9])) { /*if*/
62862 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
62863 } else { /*if*/
62864 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
62865 }
62866 }
62867 /* Register variable[9]: Result */
62868 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::==*/)))))));
62869 if (UNTAG_Bool(variable[9])) { /*if*/
62870 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pclassdefnode2*/) /*AbstractArray::add*/;
62871 }
62872 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
62873 /* Register variable[9]: Result */
62874 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(120)) /*Parser::go_to*/;
62875 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
62876 return_label1454: while(false);
62877 tracehead = trace.prev;
62878 return;
62879 }
62880 void parser___ReduceAction711___init(val_t self, int* init_table) {
62881 struct trace_t trace = {NULL, NULL, 23874, LOCATE_parser___ReduceAction711___init};
62882 val_t variable[2];
62883 struct WBT_ **closurevariable = NULL;
62884 trace.prev = tracehead; tracehead = &trace;
62885 trace.file = LOCATE_parser;
62886 /* Register variable[0]: Local variable */
62887 variable[0] = self;
62888 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction711].i]) return;
62889 /* Register variable[1]: Method return value and escape marker */
62890 return_label1455: while(false);
62891 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction711].i] = 1;
62892 tracehead = trace.prev;
62893 return;
62894 }
62895 void parser___ReduceAction712___action(val_t self, val_t param0) {
62896 struct trace_t trace = {NULL, NULL, 23878, LOCATE_parser___ReduceAction712___action};
62897 val_t variable[8];
62898 struct WBT_ **closurevariable = NULL;
62899 trace.prev = tracehead; tracehead = &trace;
62900 trace.file = LOCATE_parser;
62901 /* Register variable[0]: Local variable */
62902 variable[0] = self;
62903 /* Register variable[1]: Local variable */
62904 variable[1] = param0;
62905 /* Register variable[2]: Method return value and escape marker */
62906 /* Register variable[3]: Local variable */
62907 variable[3] = NIT_NULL /*null*/;
62908 /* Register variable[4]: Local variable */
62909 /* Register variable[5]: Result */
62910 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62911 variable[4] = variable[5];
62912 /* Register variable[5]: Local variable */
62913 /* Register variable[6]: Result */
62914 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62915 variable[5] = variable[6];
62916 /* Register variable[6]: Local variable */
62917 variable[6] = variable[4] /*nodearraylist1*/;
62918 /* Register variable[7]: Result */
62919 variable[7] = TAG_Bool(( variable[6] /*psuperclassnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*psuperclassnode1*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
62920 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction712___action, LOCATE_parser, 23884); nit_exit(1);}
62921 /* Register variable[7]: Result */
62922 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::==*/)))))));
62923 if (UNTAG_Bool(variable[7])) { /*if*/
62924 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*psuperclassnode1*/) /*AbstractArray::add*/;
62925 }
62926 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
62927 /* Register variable[7]: Result */
62928 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
62929 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
62930 return_label1456: while(false);
62931 tracehead = trace.prev;
62932 return;
62933 }
62934 void parser___ReduceAction712___init(val_t self, int* init_table) {
62935 struct trace_t trace = {NULL, NULL, 23891, LOCATE_parser___ReduceAction712___init};
62936 val_t variable[2];
62937 struct WBT_ **closurevariable = NULL;
62938 trace.prev = tracehead; tracehead = &trace;
62939 trace.file = LOCATE_parser;
62940 /* Register variable[0]: Local variable */
62941 variable[0] = self;
62942 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction712].i]) return;
62943 /* Register variable[1]: Method return value and escape marker */
62944 return_label1457: while(false);
62945 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction712].i] = 1;
62946 tracehead = trace.prev;
62947 return;
62948 }
62949 void parser___ReduceAction713___action(val_t self, val_t param0) {
62950 struct trace_t trace = {NULL, NULL, 23895, LOCATE_parser___ReduceAction713___action};
62951 val_t variable[10];
62952 struct WBT_ **closurevariable = NULL;
62953 trace.prev = tracehead; tracehead = &trace;
62954 trace.file = LOCATE_parser;
62955 /* Register variable[0]: Local variable */
62956 variable[0] = self;
62957 /* Register variable[1]: Local variable */
62958 variable[1] = param0;
62959 /* Register variable[2]: Method return value and escape marker */
62960 /* Register variable[3]: Local variable */
62961 variable[3] = NIT_NULL /*null*/;
62962 /* Register variable[4]: Local variable */
62963 /* Register variable[5]: Result */
62964 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62965 variable[4] = variable[5];
62966 /* Register variable[5]: Local variable */
62967 /* Register variable[6]: Result */
62968 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
62969 variable[5] = variable[6];
62970 /* Register variable[6]: Local variable */
62971 /* Register variable[7]: Result */
62972 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
62973 variable[6] = variable[7];
62974 /* Register variable[7]: Local variable */
62975 variable[7] = variable[5] /*nodearraylist1*/;
62976 /* Register variable[8]: Result */
62977 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
62978 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction713___action, LOCATE_parser, 23902); nit_exit(1);}
62979 /* Register variable[8]: Local variable */
62980 variable[8] = variable[4] /*nodearraylist2*/;
62981 /* Register variable[9]: Result */
62982 variable[9] = TAG_Bool(( variable[8] /*psuperclassnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*psuperclassnode2*/, COLOR_PSuperclass, ID_PSuperclass)) /*cast PSuperclass*/;
62983 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction713___action, LOCATE_parser, 23904); nit_exit(1);}
62984 /* Register variable[9]: Result */
62985 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::==*/)))))));
62986 if (UNTAG_Bool(variable[9])) { /*if*/
62987 /* Register variable[9]: Result */
62988 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
62989 if (UNTAG_Bool(variable[9])) { /*if*/
62990 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
62991 } else { /*if*/
62992 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
62993 }
62994 }
62995 /* Register variable[9]: Result */
62996 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::==*/)))))));
62997 if (UNTAG_Bool(variable[9])) { /*if*/
62998 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*psuperclassnode2*/) /*AbstractArray::add*/;
62999 }
63000 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63001 /* Register variable[9]: Result */
63002 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(121)) /*Parser::go_to*/;
63003 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63004 return_label1458: while(false);
63005 tracehead = trace.prev;
63006 return;
63007 }
63008 void parser___ReduceAction713___init(val_t self, int* init_table) {
63009 struct trace_t trace = {NULL, NULL, 23918, LOCATE_parser___ReduceAction713___init};
63010 val_t variable[2];
63011 struct WBT_ **closurevariable = NULL;
63012 trace.prev = tracehead; tracehead = &trace;
63013 trace.file = LOCATE_parser;
63014 /* Register variable[0]: Local variable */
63015 variable[0] = self;
63016 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction713].i]) return;
63017 /* Register variable[1]: Method return value and escape marker */
63018 return_label1459: while(false);
63019 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction713].i] = 1;
63020 tracehead = trace.prev;
63021 return;
63022 }
63023 void parser___ReduceAction714___action(val_t self, val_t param0) {
63024 struct trace_t trace = {NULL, NULL, 23922, LOCATE_parser___ReduceAction714___action};
63025 val_t variable[8];
63026 struct WBT_ **closurevariable = NULL;
63027 trace.prev = tracehead; tracehead = &trace;
63028 trace.file = LOCATE_parser;
63029 /* Register variable[0]: Local variable */
63030 variable[0] = self;
63031 /* Register variable[1]: Local variable */
63032 variable[1] = param0;
63033 /* Register variable[2]: Method return value and escape marker */
63034 /* Register variable[3]: Local variable */
63035 variable[3] = NIT_NULL /*null*/;
63036 /* Register variable[4]: Local variable */
63037 /* Register variable[5]: Result */
63038 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63039 variable[4] = variable[5];
63040 /* Register variable[5]: Local variable */
63041 /* Register variable[6]: Result */
63042 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63043 variable[5] = variable[6];
63044 /* Register variable[6]: Local variable */
63045 variable[6] = variable[4] /*nodearraylist1*/;
63046 /* Register variable[7]: Result */
63047 variable[7] = TAG_Bool(( variable[6] /*pformaldefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pformaldefnode1*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
63048 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction714___action, LOCATE_parser, 23928); nit_exit(1);}
63049 /* Register variable[7]: Result */
63050 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::==*/)))))));
63051 if (UNTAG_Bool(variable[7])) { /*if*/
63052 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pformaldefnode1*/) /*AbstractArray::add*/;
63053 }
63054 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63055 /* Register variable[7]: Result */
63056 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
63057 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63058 return_label1460: while(false);
63059 tracehead = trace.prev;
63060 return;
63061 }
63062 void parser___ReduceAction714___init(val_t self, int* init_table) {
63063 struct trace_t trace = {NULL, NULL, 23935, LOCATE_parser___ReduceAction714___init};
63064 val_t variable[2];
63065 struct WBT_ **closurevariable = NULL;
63066 trace.prev = tracehead; tracehead = &trace;
63067 trace.file = LOCATE_parser;
63068 /* Register variable[0]: Local variable */
63069 variable[0] = self;
63070 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction714].i]) return;
63071 /* Register variable[1]: Method return value and escape marker */
63072 return_label1461: while(false);
63073 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction714].i] = 1;
63074 tracehead = trace.prev;
63075 return;
63076 }
63077 void parser___ReduceAction715___action(val_t self, val_t param0) {
63078 struct trace_t trace = {NULL, NULL, 23939, LOCATE_parser___ReduceAction715___action};
63079 val_t variable[10];
63080 struct WBT_ **closurevariable = NULL;
63081 trace.prev = tracehead; tracehead = &trace;
63082 trace.file = LOCATE_parser;
63083 /* Register variable[0]: Local variable */
63084 variable[0] = self;
63085 /* Register variable[1]: Local variable */
63086 variable[1] = param0;
63087 /* Register variable[2]: Method return value and escape marker */
63088 /* Register variable[3]: Local variable */
63089 variable[3] = NIT_NULL /*null*/;
63090 /* Register variable[4]: Local variable */
63091 /* Register variable[5]: Result */
63092 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63093 variable[4] = variable[5];
63094 /* Register variable[5]: Local variable */
63095 /* Register variable[6]: Result */
63096 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63097 variable[5] = variable[6];
63098 /* Register variable[6]: Local variable */
63099 /* Register variable[7]: Result */
63100 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63101 variable[6] = variable[7];
63102 /* Register variable[7]: Local variable */
63103 variable[7] = variable[5] /*nodearraylist1*/;
63104 /* Register variable[8]: Result */
63105 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63106 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction715___action, LOCATE_parser, 23946); nit_exit(1);}
63107 /* Register variable[8]: Local variable */
63108 variable[8] = variable[4] /*nodearraylist2*/;
63109 /* Register variable[9]: Result */
63110 variable[9] = TAG_Bool(( variable[8] /*pformaldefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pformaldefnode2*/, COLOR_PFormaldef, ID_PFormaldef)) /*cast PFormaldef*/;
63111 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction715___action, LOCATE_parser, 23948); nit_exit(1);}
63112 /* Register variable[9]: Result */
63113 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::==*/)))))));
63114 if (UNTAG_Bool(variable[9])) { /*if*/
63115 /* Register variable[9]: Result */
63116 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63117 if (UNTAG_Bool(variable[9])) { /*if*/
63118 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63119 } else { /*if*/
63120 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63121 }
63122 }
63123 /* Register variable[9]: Result */
63124 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::==*/)))))));
63125 if (UNTAG_Bool(variable[9])) { /*if*/
63126 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pformaldefnode2*/) /*AbstractArray::add*/;
63127 }
63128 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63129 /* Register variable[9]: Result */
63130 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(122)) /*Parser::go_to*/;
63131 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63132 return_label1462: while(false);
63133 tracehead = trace.prev;
63134 return;
63135 }
63136 void parser___ReduceAction715___init(val_t self, int* init_table) {
63137 struct trace_t trace = {NULL, NULL, 23962, LOCATE_parser___ReduceAction715___init};
63138 val_t variable[2];
63139 struct WBT_ **closurevariable = NULL;
63140 trace.prev = tracehead; tracehead = &trace;
63141 trace.file = LOCATE_parser;
63142 /* Register variable[0]: Local variable */
63143 variable[0] = self;
63144 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction715].i]) return;
63145 /* Register variable[1]: Method return value and escape marker */
63146 return_label1463: while(false);
63147 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction715].i] = 1;
63148 tracehead = trace.prev;
63149 return;
63150 }
63151 void parser___ReduceAction716___action(val_t self, val_t param0) {
63152 struct trace_t trace = {NULL, NULL, 23966, LOCATE_parser___ReduceAction716___action};
63153 val_t variable[8];
63154 struct WBT_ **closurevariable = NULL;
63155 trace.prev = tracehead; tracehead = &trace;
63156 trace.file = LOCATE_parser;
63157 /* Register variable[0]: Local variable */
63158 variable[0] = self;
63159 /* Register variable[1]: Local variable */
63160 variable[1] = param0;
63161 /* Register variable[2]: Method return value and escape marker */
63162 /* Register variable[3]: Local variable */
63163 variable[3] = NIT_NULL /*null*/;
63164 /* Register variable[4]: Local variable */
63165 /* Register variable[5]: Result */
63166 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63167 variable[4] = variable[5];
63168 /* Register variable[5]: Local variable */
63169 /* Register variable[6]: Result */
63170 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63171 variable[5] = variable[6];
63172 /* Register variable[6]: Local variable */
63173 variable[6] = variable[4] /*nodearraylist1*/;
63174 /* Register variable[7]: Result */
63175 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
63176 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction716___action, LOCATE_parser, 23972); nit_exit(1);}
63177 /* Register variable[7]: Result */
63178 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::==*/)))))));
63179 if (UNTAG_Bool(variable[7])) { /*if*/
63180 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
63181 }
63182 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63183 /* Register variable[7]: Result */
63184 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
63185 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63186 return_label1464: while(false);
63187 tracehead = trace.prev;
63188 return;
63189 }
63190 void parser___ReduceAction716___init(val_t self, int* init_table) {
63191 struct trace_t trace = {NULL, NULL, 23979, LOCATE_parser___ReduceAction716___init};
63192 val_t variable[2];
63193 struct WBT_ **closurevariable = NULL;
63194 trace.prev = tracehead; tracehead = &trace;
63195 trace.file = LOCATE_parser;
63196 /* Register variable[0]: Local variable */
63197 variable[0] = self;
63198 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction716].i]) return;
63199 /* Register variable[1]: Method return value and escape marker */
63200 return_label1465: while(false);
63201 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction716].i] = 1;
63202 tracehead = trace.prev;
63203 return;
63204 }
63205 void parser___ReduceAction717___action(val_t self, val_t param0) {
63206 struct trace_t trace = {NULL, NULL, 23983, LOCATE_parser___ReduceAction717___action};
63207 val_t variable[10];
63208 struct WBT_ **closurevariable = NULL;
63209 trace.prev = tracehead; tracehead = &trace;
63210 trace.file = LOCATE_parser;
63211 /* Register variable[0]: Local variable */
63212 variable[0] = self;
63213 /* Register variable[1]: Local variable */
63214 variable[1] = param0;
63215 /* Register variable[2]: Method return value and escape marker */
63216 /* Register variable[3]: Local variable */
63217 variable[3] = NIT_NULL /*null*/;
63218 /* Register variable[4]: Local variable */
63219 /* Register variable[5]: Result */
63220 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63221 variable[4] = variable[5];
63222 /* Register variable[5]: Local variable */
63223 /* Register variable[6]: Result */
63224 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63225 variable[5] = variable[6];
63226 /* Register variable[6]: Local variable */
63227 /* Register variable[7]: Result */
63228 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63229 variable[6] = variable[7];
63230 /* Register variable[7]: Local variable */
63231 variable[7] = variable[5] /*nodearraylist1*/;
63232 /* Register variable[8]: Result */
63233 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63234 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction717___action, LOCATE_parser, 23990); nit_exit(1);}
63235 /* Register variable[8]: Local variable */
63236 variable[8] = variable[4] /*nodearraylist2*/;
63237 /* Register variable[9]: Result */
63238 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
63239 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction717___action, LOCATE_parser, 23992); nit_exit(1);}
63240 /* Register variable[9]: Result */
63241 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::==*/)))))));
63242 if (UNTAG_Bool(variable[9])) { /*if*/
63243 /* Register variable[9]: Result */
63244 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63245 if (UNTAG_Bool(variable[9])) { /*if*/
63246 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63247 } else { /*if*/
63248 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63249 }
63250 }
63251 /* Register variable[9]: Result */
63252 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::==*/)))))));
63253 if (UNTAG_Bool(variable[9])) { /*if*/
63254 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
63255 }
63256 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63257 /* Register variable[9]: Result */
63258 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(123)) /*Parser::go_to*/;
63259 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63260 return_label1466: while(false);
63261 tracehead = trace.prev;
63262 return;
63263 }
63264 void parser___ReduceAction717___init(val_t self, int* init_table) {
63265 struct trace_t trace = {NULL, NULL, 24006, LOCATE_parser___ReduceAction717___init};
63266 val_t variable[2];
63267 struct WBT_ **closurevariable = NULL;
63268 trace.prev = tracehead; tracehead = &trace;
63269 trace.file = LOCATE_parser;
63270 /* Register variable[0]: Local variable */
63271 variable[0] = self;
63272 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction717].i]) return;
63273 /* Register variable[1]: Method return value and escape marker */
63274 return_label1467: while(false);
63275 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction717].i] = 1;
63276 tracehead = trace.prev;
63277 return;
63278 }
63279 void parser___ReduceAction718___action(val_t self, val_t param0) {
63280 struct trace_t trace = {NULL, NULL, 24010, LOCATE_parser___ReduceAction718___action};
63281 val_t variable[8];
63282 struct WBT_ **closurevariable = NULL;
63283 trace.prev = tracehead; tracehead = &trace;
63284 trace.file = LOCATE_parser;
63285 /* Register variable[0]: Local variable */
63286 variable[0] = self;
63287 /* Register variable[1]: Local variable */
63288 variable[1] = param0;
63289 /* Register variable[2]: Method return value and escape marker */
63290 /* Register variable[3]: Local variable */
63291 variable[3] = NIT_NULL /*null*/;
63292 /* Register variable[4]: Local variable */
63293 /* Register variable[5]: Result */
63294 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63295 variable[4] = variable[5];
63296 /* Register variable[5]: Local variable */
63297 /* Register variable[6]: Result */
63298 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63299 variable[5] = variable[6];
63300 /* Register variable[6]: Local variable */
63301 variable[6] = variable[4] /*nodearraylist1*/;
63302 /* Register variable[7]: Result */
63303 variable[7] = TAG_Bool(( variable[6] /*pparamnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pparamnode1*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
63304 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction718___action, LOCATE_parser, 24016); nit_exit(1);}
63305 /* Register variable[7]: Result */
63306 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::==*/)))))));
63307 if (UNTAG_Bool(variable[7])) { /*if*/
63308 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pparamnode1*/) /*AbstractArray::add*/;
63309 }
63310 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63311 /* Register variable[7]: Result */
63312 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
63313 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63314 return_label1468: while(false);
63315 tracehead = trace.prev;
63316 return;
63317 }
63318 void parser___ReduceAction718___init(val_t self, int* init_table) {
63319 struct trace_t trace = {NULL, NULL, 24023, LOCATE_parser___ReduceAction718___init};
63320 val_t variable[2];
63321 struct WBT_ **closurevariable = NULL;
63322 trace.prev = tracehead; tracehead = &trace;
63323 trace.file = LOCATE_parser;
63324 /* Register variable[0]: Local variable */
63325 variable[0] = self;
63326 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction718].i]) return;
63327 /* Register variable[1]: Method return value and escape marker */
63328 return_label1469: while(false);
63329 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction718].i] = 1;
63330 tracehead = trace.prev;
63331 return;
63332 }
63333 void parser___ReduceAction719___action(val_t self, val_t param0) {
63334 struct trace_t trace = {NULL, NULL, 24027, LOCATE_parser___ReduceAction719___action};
63335 val_t variable[10];
63336 struct WBT_ **closurevariable = NULL;
63337 trace.prev = tracehead; tracehead = &trace;
63338 trace.file = LOCATE_parser;
63339 /* Register variable[0]: Local variable */
63340 variable[0] = self;
63341 /* Register variable[1]: Local variable */
63342 variable[1] = param0;
63343 /* Register variable[2]: Method return value and escape marker */
63344 /* Register variable[3]: Local variable */
63345 variable[3] = NIT_NULL /*null*/;
63346 /* Register variable[4]: Local variable */
63347 /* Register variable[5]: Result */
63348 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63349 variable[4] = variable[5];
63350 /* Register variable[5]: Local variable */
63351 /* Register variable[6]: Result */
63352 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63353 variable[5] = variable[6];
63354 /* Register variable[6]: Local variable */
63355 /* Register variable[7]: Result */
63356 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63357 variable[6] = variable[7];
63358 /* Register variable[7]: Local variable */
63359 variable[7] = variable[5] /*nodearraylist1*/;
63360 /* Register variable[8]: Result */
63361 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63362 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction719___action, LOCATE_parser, 24034); nit_exit(1);}
63363 /* Register variable[8]: Local variable */
63364 variable[8] = variable[4] /*nodearraylist2*/;
63365 /* Register variable[9]: Result */
63366 variable[9] = TAG_Bool(( variable[8] /*pparamnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pparamnode2*/, COLOR_PParam, ID_PParam)) /*cast PParam*/;
63367 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction719___action, LOCATE_parser, 24036); nit_exit(1);}
63368 /* Register variable[9]: Result */
63369 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::==*/)))))));
63370 if (UNTAG_Bool(variable[9])) { /*if*/
63371 /* Register variable[9]: Result */
63372 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63373 if (UNTAG_Bool(variable[9])) { /*if*/
63374 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63375 } else { /*if*/
63376 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63377 }
63378 }
63379 /* Register variable[9]: Result */
63380 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::==*/)))))));
63381 if (UNTAG_Bool(variable[9])) { /*if*/
63382 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pparamnode2*/) /*AbstractArray::add*/;
63383 }
63384 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63385 /* Register variable[9]: Result */
63386 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(124)) /*Parser::go_to*/;
63387 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63388 return_label1470: while(false);
63389 tracehead = trace.prev;
63390 return;
63391 }
63392 void parser___ReduceAction719___init(val_t self, int* init_table) {
63393 struct trace_t trace = {NULL, NULL, 24050, LOCATE_parser___ReduceAction719___init};
63394 val_t variable[2];
63395 struct WBT_ **closurevariable = NULL;
63396 trace.prev = tracehead; tracehead = &trace;
63397 trace.file = LOCATE_parser;
63398 /* Register variable[0]: Local variable */
63399 variable[0] = self;
63400 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction719].i]) return;
63401 /* Register variable[1]: Method return value and escape marker */
63402 return_label1471: while(false);
63403 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction719].i] = 1;
63404 tracehead = trace.prev;
63405 return;
63406 }
63407 void parser___ReduceAction720___action(val_t self, val_t param0) {
63408 struct trace_t trace = {NULL, NULL, 24054, LOCATE_parser___ReduceAction720___action};
63409 val_t variable[8];
63410 struct WBT_ **closurevariable = NULL;
63411 trace.prev = tracehead; tracehead = &trace;
63412 trace.file = LOCATE_parser;
63413 /* Register variable[0]: Local variable */
63414 variable[0] = self;
63415 /* Register variable[1]: Local variable */
63416 variable[1] = param0;
63417 /* Register variable[2]: Method return value and escape marker */
63418 /* Register variable[3]: Local variable */
63419 variable[3] = NIT_NULL /*null*/;
63420 /* Register variable[4]: Local variable */
63421 /* Register variable[5]: Result */
63422 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63423 variable[4] = variable[5];
63424 /* Register variable[5]: Local variable */
63425 /* Register variable[6]: Result */
63426 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63427 variable[5] = variable[6];
63428 /* Register variable[6]: Local variable */
63429 variable[6] = variable[4] /*nodearraylist1*/;
63430 /* Register variable[7]: Result */
63431 variable[7] = TAG_Bool(( variable[6] /*pclosuredeclnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pclosuredeclnode1*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
63432 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction720___action, LOCATE_parser, 24060); nit_exit(1);}
63433 /* Register variable[7]: Result */
63434 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::==*/)))))));
63435 if (UNTAG_Bool(variable[7])) { /*if*/
63436 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pclosuredeclnode1*/) /*AbstractArray::add*/;
63437 }
63438 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63439 /* Register variable[7]: Result */
63440 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
63441 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63442 return_label1472: while(false);
63443 tracehead = trace.prev;
63444 return;
63445 }
63446 void parser___ReduceAction720___init(val_t self, int* init_table) {
63447 struct trace_t trace = {NULL, NULL, 24067, LOCATE_parser___ReduceAction720___init};
63448 val_t variable[2];
63449 struct WBT_ **closurevariable = NULL;
63450 trace.prev = tracehead; tracehead = &trace;
63451 trace.file = LOCATE_parser;
63452 /* Register variable[0]: Local variable */
63453 variable[0] = self;
63454 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction720].i]) return;
63455 /* Register variable[1]: Method return value and escape marker */
63456 return_label1473: while(false);
63457 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction720].i] = 1;
63458 tracehead = trace.prev;
63459 return;
63460 }
63461 void parser___ReduceAction721___action(val_t self, val_t param0) {
63462 struct trace_t trace = {NULL, NULL, 24071, LOCATE_parser___ReduceAction721___action};
63463 val_t variable[10];
63464 struct WBT_ **closurevariable = NULL;
63465 trace.prev = tracehead; tracehead = &trace;
63466 trace.file = LOCATE_parser;
63467 /* Register variable[0]: Local variable */
63468 variable[0] = self;
63469 /* Register variable[1]: Local variable */
63470 variable[1] = param0;
63471 /* Register variable[2]: Method return value and escape marker */
63472 /* Register variable[3]: Local variable */
63473 variable[3] = NIT_NULL /*null*/;
63474 /* Register variable[4]: Local variable */
63475 /* Register variable[5]: Result */
63476 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63477 variable[4] = variable[5];
63478 /* Register variable[5]: Local variable */
63479 /* Register variable[6]: Result */
63480 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63481 variable[5] = variable[6];
63482 /* Register variable[6]: Local variable */
63483 /* Register variable[7]: Result */
63484 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63485 variable[6] = variable[7];
63486 /* Register variable[7]: Local variable */
63487 variable[7] = variable[5] /*nodearraylist1*/;
63488 /* Register variable[8]: Result */
63489 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63490 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction721___action, LOCATE_parser, 24078); nit_exit(1);}
63491 /* Register variable[8]: Local variable */
63492 variable[8] = variable[4] /*nodearraylist2*/;
63493 /* Register variable[9]: Result */
63494 variable[9] = TAG_Bool(( variable[8] /*pclosuredeclnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pclosuredeclnode2*/, COLOR_PClosureDecl, ID_PClosureDecl)) /*cast PClosureDecl*/;
63495 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction721___action, LOCATE_parser, 24080); nit_exit(1);}
63496 /* Register variable[9]: Result */
63497 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::==*/)))))));
63498 if (UNTAG_Bool(variable[9])) { /*if*/
63499 /* Register variable[9]: Result */
63500 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63501 if (UNTAG_Bool(variable[9])) { /*if*/
63502 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63503 } else { /*if*/
63504 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63505 }
63506 }
63507 /* Register variable[9]: Result */
63508 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::==*/)))))));
63509 if (UNTAG_Bool(variable[9])) { /*if*/
63510 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pclosuredeclnode2*/) /*AbstractArray::add*/;
63511 }
63512 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63513 /* Register variable[9]: Result */
63514 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(125)) /*Parser::go_to*/;
63515 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63516 return_label1474: while(false);
63517 tracehead = trace.prev;
63518 return;
63519 }
63520 void parser___ReduceAction721___init(val_t self, int* init_table) {
63521 struct trace_t trace = {NULL, NULL, 24094, LOCATE_parser___ReduceAction721___init};
63522 val_t variable[2];
63523 struct WBT_ **closurevariable = NULL;
63524 trace.prev = tracehead; tracehead = &trace;
63525 trace.file = LOCATE_parser;
63526 /* Register variable[0]: Local variable */
63527 variable[0] = self;
63528 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction721].i]) return;
63529 /* Register variable[1]: Method return value and escape marker */
63530 return_label1475: while(false);
63531 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction721].i] = 1;
63532 tracehead = trace.prev;
63533 return;
63534 }
63535 void parser___ReduceAction722___action(val_t self, val_t param0) {
63536 struct trace_t trace = {NULL, NULL, 24098, LOCATE_parser___ReduceAction722___action};
63537 val_t variable[8];
63538 struct WBT_ **closurevariable = NULL;
63539 trace.prev = tracehead; tracehead = &trace;
63540 trace.file = LOCATE_parser;
63541 /* Register variable[0]: Local variable */
63542 variable[0] = self;
63543 /* Register variable[1]: Local variable */
63544 variable[1] = param0;
63545 /* Register variable[2]: Method return value and escape marker */
63546 /* Register variable[3]: Local variable */
63547 variable[3] = NIT_NULL /*null*/;
63548 /* Register variable[4]: Local variable */
63549 /* Register variable[5]: Result */
63550 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63551 variable[4] = variable[5];
63552 /* Register variable[5]: Local variable */
63553 /* Register variable[6]: Result */
63554 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63555 variable[5] = variable[6];
63556 /* Register variable[6]: Local variable */
63557 variable[6] = variable[4] /*nodearraylist1*/;
63558 /* Register variable[7]: Result */
63559 variable[7] = TAG_Bool(( variable[6] /*ptypenode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ptypenode1*/, COLOR_PType, ID_PType)) /*cast PType*/;
63560 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction722___action, LOCATE_parser, 24104); nit_exit(1);}
63561 /* Register variable[7]: Result */
63562 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::==*/)))))));
63563 if (UNTAG_Bool(variable[7])) { /*if*/
63564 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ptypenode1*/) /*AbstractArray::add*/;
63565 }
63566 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63567 /* Register variable[7]: Result */
63568 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
63569 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63570 return_label1476: while(false);
63571 tracehead = trace.prev;
63572 return;
63573 }
63574 void parser___ReduceAction722___init(val_t self, int* init_table) {
63575 struct trace_t trace = {NULL, NULL, 24111, LOCATE_parser___ReduceAction722___init};
63576 val_t variable[2];
63577 struct WBT_ **closurevariable = NULL;
63578 trace.prev = tracehead; tracehead = &trace;
63579 trace.file = LOCATE_parser;
63580 /* Register variable[0]: Local variable */
63581 variable[0] = self;
63582 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction722].i]) return;
63583 /* Register variable[1]: Method return value and escape marker */
63584 return_label1477: while(false);
63585 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction722].i] = 1;
63586 tracehead = trace.prev;
63587 return;
63588 }
63589 void parser___ReduceAction723___action(val_t self, val_t param0) {
63590 struct trace_t trace = {NULL, NULL, 24115, LOCATE_parser___ReduceAction723___action};
63591 val_t variable[10];
63592 struct WBT_ **closurevariable = NULL;
63593 trace.prev = tracehead; tracehead = &trace;
63594 trace.file = LOCATE_parser;
63595 /* Register variable[0]: Local variable */
63596 variable[0] = self;
63597 /* Register variable[1]: Local variable */
63598 variable[1] = param0;
63599 /* Register variable[2]: Method return value and escape marker */
63600 /* Register variable[3]: Local variable */
63601 variable[3] = NIT_NULL /*null*/;
63602 /* Register variable[4]: Local variable */
63603 /* Register variable[5]: Result */
63604 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63605 variable[4] = variable[5];
63606 /* Register variable[5]: Local variable */
63607 /* Register variable[6]: Result */
63608 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63609 variable[5] = variable[6];
63610 /* Register variable[6]: Local variable */
63611 /* Register variable[7]: Result */
63612 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63613 variable[6] = variable[7];
63614 /* Register variable[7]: Local variable */
63615 variable[7] = variable[5] /*nodearraylist1*/;
63616 /* Register variable[8]: Result */
63617 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63618 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction723___action, LOCATE_parser, 24122); nit_exit(1);}
63619 /* Register variable[8]: Local variable */
63620 variable[8] = variable[4] /*nodearraylist2*/;
63621 /* Register variable[9]: Result */
63622 variable[9] = TAG_Bool(( variable[8] /*ptypenode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ptypenode2*/, COLOR_PType, ID_PType)) /*cast PType*/;
63623 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction723___action, LOCATE_parser, 24124); nit_exit(1);}
63624 /* Register variable[9]: Result */
63625 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::==*/)))))));
63626 if (UNTAG_Bool(variable[9])) { /*if*/
63627 /* Register variable[9]: Result */
63628 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63629 if (UNTAG_Bool(variable[9])) { /*if*/
63630 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63631 } else { /*if*/
63632 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63633 }
63634 }
63635 /* Register variable[9]: Result */
63636 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::==*/)))))));
63637 if (UNTAG_Bool(variable[9])) { /*if*/
63638 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ptypenode2*/) /*AbstractArray::add*/;
63639 }
63640 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63641 /* Register variable[9]: Result */
63642 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(126)) /*Parser::go_to*/;
63643 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63644 return_label1478: while(false);
63645 tracehead = trace.prev;
63646 return;
63647 }
63648 void parser___ReduceAction723___init(val_t self, int* init_table) {
63649 struct trace_t trace = {NULL, NULL, 24138, LOCATE_parser___ReduceAction723___init};
63650 val_t variable[2];
63651 struct WBT_ **closurevariable = NULL;
63652 trace.prev = tracehead; tracehead = &trace;
63653 trace.file = LOCATE_parser;
63654 /* Register variable[0]: Local variable */
63655 variable[0] = self;
63656 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction723].i]) return;
63657 /* Register variable[1]: Method return value and escape marker */
63658 return_label1479: while(false);
63659 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction723].i] = 1;
63660 tracehead = trace.prev;
63661 return;
63662 }
63663 void parser___ReduceAction724___action(val_t self, val_t param0) {
63664 struct trace_t trace = {NULL, NULL, 24142, LOCATE_parser___ReduceAction724___action};
63665 val_t variable[8];
63666 struct WBT_ **closurevariable = NULL;
63667 trace.prev = tracehead; tracehead = &trace;
63668 trace.file = LOCATE_parser;
63669 /* Register variable[0]: Local variable */
63670 variable[0] = self;
63671 /* Register variable[1]: Local variable */
63672 variable[1] = param0;
63673 /* Register variable[2]: Method return value and escape marker */
63674 /* Register variable[3]: Local variable */
63675 variable[3] = NIT_NULL /*null*/;
63676 /* Register variable[4]: Local variable */
63677 /* Register variable[5]: Result */
63678 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63679 variable[4] = variable[5];
63680 /* Register variable[5]: Local variable */
63681 /* Register variable[6]: Result */
63682 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63683 variable[5] = variable[6];
63684 /* Register variable[6]: Local variable */
63685 variable[6] = variable[4] /*nodearraylist1*/;
63686 /* Register variable[7]: Result */
63687 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
63688 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction724___action, LOCATE_parser, 24148); nit_exit(1);}
63689 /* Register variable[7]: Result */
63690 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::==*/)))))));
63691 if (UNTAG_Bool(variable[7])) { /*if*/
63692 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
63693 }
63694 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63695 /* Register variable[7]: Result */
63696 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
63697 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63698 return_label1480: while(false);
63699 tracehead = trace.prev;
63700 return;
63701 }
63702 void parser___ReduceAction724___init(val_t self, int* init_table) {
63703 struct trace_t trace = {NULL, NULL, 24155, LOCATE_parser___ReduceAction724___init};
63704 val_t variable[2];
63705 struct WBT_ **closurevariable = NULL;
63706 trace.prev = tracehead; tracehead = &trace;
63707 trace.file = LOCATE_parser;
63708 /* Register variable[0]: Local variable */
63709 variable[0] = self;
63710 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction724].i]) return;
63711 /* Register variable[1]: Method return value and escape marker */
63712 return_label1481: while(false);
63713 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction724].i] = 1;
63714 tracehead = trace.prev;
63715 return;
63716 }
63717 void parser___ReduceAction725___action(val_t self, val_t param0) {
63718 struct trace_t trace = {NULL, NULL, 24159, LOCATE_parser___ReduceAction725___action};
63719 val_t variable[10];
63720 struct WBT_ **closurevariable = NULL;
63721 trace.prev = tracehead; tracehead = &trace;
63722 trace.file = LOCATE_parser;
63723 /* Register variable[0]: Local variable */
63724 variable[0] = self;
63725 /* Register variable[1]: Local variable */
63726 variable[1] = param0;
63727 /* Register variable[2]: Method return value and escape marker */
63728 /* Register variable[3]: Local variable */
63729 variable[3] = NIT_NULL /*null*/;
63730 /* Register variable[4]: Local variable */
63731 /* Register variable[5]: Result */
63732 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63733 variable[4] = variable[5];
63734 /* Register variable[5]: Local variable */
63735 /* Register variable[6]: Result */
63736 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63737 variable[5] = variable[6];
63738 /* Register variable[6]: Local variable */
63739 /* Register variable[7]: Result */
63740 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63741 variable[6] = variable[7];
63742 /* Register variable[7]: Local variable */
63743 variable[7] = variable[5] /*nodearraylist1*/;
63744 /* Register variable[8]: Result */
63745 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63746 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction725___action, LOCATE_parser, 24166); nit_exit(1);}
63747 /* Register variable[8]: Local variable */
63748 variable[8] = variable[4] /*nodearraylist2*/;
63749 /* Register variable[9]: Result */
63750 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
63751 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction725___action, LOCATE_parser, 24168); nit_exit(1);}
63752 /* Register variable[9]: Result */
63753 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::==*/)))))));
63754 if (UNTAG_Bool(variable[9])) { /*if*/
63755 /* Register variable[9]: Result */
63756 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63757 if (UNTAG_Bool(variable[9])) { /*if*/
63758 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63759 } else { /*if*/
63760 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63761 }
63762 }
63763 /* Register variable[9]: Result */
63764 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::==*/)))))));
63765 if (UNTAG_Bool(variable[9])) { /*if*/
63766 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
63767 }
63768 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63769 /* Register variable[9]: Result */
63770 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(127)) /*Parser::go_to*/;
63771 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63772 return_label1482: while(false);
63773 tracehead = trace.prev;
63774 return;
63775 }
63776 void parser___ReduceAction725___init(val_t self, int* init_table) {
63777 struct trace_t trace = {NULL, NULL, 24182, LOCATE_parser___ReduceAction725___init};
63778 val_t variable[2];
63779 struct WBT_ **closurevariable = NULL;
63780 trace.prev = tracehead; tracehead = &trace;
63781 trace.file = LOCATE_parser;
63782 /* Register variable[0]: Local variable */
63783 variable[0] = self;
63784 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction725].i]) return;
63785 /* Register variable[1]: Method return value and escape marker */
63786 return_label1483: while(false);
63787 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction725].i] = 1;
63788 tracehead = trace.prev;
63789 return;
63790 }
63791 void parser___ReduceAction726___action(val_t self, val_t param0) {
63792 struct trace_t trace = {NULL, NULL, 24186, LOCATE_parser___ReduceAction726___action};
63793 val_t variable[8];
63794 struct WBT_ **closurevariable = NULL;
63795 trace.prev = tracehead; tracehead = &trace;
63796 trace.file = LOCATE_parser;
63797 /* Register variable[0]: Local variable */
63798 variable[0] = self;
63799 /* Register variable[1]: Local variable */
63800 variable[1] = param0;
63801 /* Register variable[2]: Method return value and escape marker */
63802 /* Register variable[3]: Local variable */
63803 variable[3] = NIT_NULL /*null*/;
63804 /* Register variable[4]: Local variable */
63805 /* Register variable[5]: Result */
63806 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63807 variable[4] = variable[5];
63808 /* Register variable[5]: Local variable */
63809 /* Register variable[6]: Result */
63810 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63811 variable[5] = variable[6];
63812 /* Register variable[6]: Local variable */
63813 variable[6] = variable[4] /*nodearraylist1*/;
63814 /* Register variable[7]: Result */
63815 variable[7] = TAG_Bool(( variable[6] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63816 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction726___action, LOCATE_parser, 24192); nit_exit(1);}
63817 /* Register variable[7]: Result */
63818 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::==*/)))))));
63819 if (UNTAG_Bool(variable[7])) { /*if*/
63820 /* Register variable[7]: Result */
63821 variable[7] = CALL_abstract_collection___Collection___is_empty( variable[5] /*listnode2*/)( variable[5] /*listnode2*/) /*AbstractArrayRead::is_empty*/;
63822 if (UNTAG_Bool(variable[7])) { /*if*/
63823 variable[5] = variable[6] /*listnode1*/ /*listnode2=*/;
63824 } else { /*if*/
63825 CALL_abstract_collection___IndexedCollection___append( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*listnode1*/) /*IndexedCollection::append*/;
63826 }
63827 }
63828 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63829 /* Register variable[7]: Result */
63830 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
63831 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63832 return_label1484: while(false);
63833 tracehead = trace.prev;
63834 return;
63835 }
63836 void parser___ReduceAction726___init(val_t self, int* init_table) {
63837 struct trace_t trace = {NULL, NULL, 24203, LOCATE_parser___ReduceAction726___init};
63838 val_t variable[2];
63839 struct WBT_ **closurevariable = NULL;
63840 trace.prev = tracehead; tracehead = &trace;
63841 trace.file = LOCATE_parser;
63842 /* Register variable[0]: Local variable */
63843 variable[0] = self;
63844 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction726].i]) return;
63845 /* Register variable[1]: Method return value and escape marker */
63846 return_label1485: while(false);
63847 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction726].i] = 1;
63848 tracehead = trace.prev;
63849 return;
63850 }
63851 void parser___ReduceAction727___action(val_t self, val_t param0) {
63852 struct trace_t trace = {NULL, NULL, 24207, LOCATE_parser___ReduceAction727___action};
63853 val_t variable[10];
63854 struct WBT_ **closurevariable = NULL;
63855 trace.prev = tracehead; tracehead = &trace;
63856 trace.file = LOCATE_parser;
63857 /* Register variable[0]: Local variable */
63858 variable[0] = self;
63859 /* Register variable[1]: Local variable */
63860 variable[1] = param0;
63861 /* Register variable[2]: Method return value and escape marker */
63862 /* Register variable[3]: Local variable */
63863 variable[3] = NIT_NULL /*null*/;
63864 /* Register variable[4]: Local variable */
63865 /* Register variable[5]: Result */
63866 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63867 variable[4] = variable[5];
63868 /* Register variable[5]: Local variable */
63869 /* Register variable[6]: Result */
63870 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63871 variable[5] = variable[6];
63872 /* Register variable[6]: Local variable */
63873 /* Register variable[7]: Result */
63874 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63875 variable[6] = variable[7];
63876 /* Register variable[7]: Local variable */
63877 variable[7] = variable[5] /*nodearraylist1*/;
63878 /* Register variable[8]: Result */
63879 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63880 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 24214); nit_exit(1);}
63881 /* Register variable[8]: Local variable */
63882 variable[8] = variable[4] /*nodearraylist2*/;
63883 /* Register variable[9]: Result */
63884 variable[9] = TAG_Bool(( variable[8] /*listnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*listnode2*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
63885 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction727___action, LOCATE_parser, 24216); nit_exit(1);}
63886 /* Register variable[9]: Result */
63887 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::==*/)))))));
63888 if (UNTAG_Bool(variable[9])) { /*if*/
63889 /* Register variable[9]: Result */
63890 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63891 if (UNTAG_Bool(variable[9])) { /*if*/
63892 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
63893 } else { /*if*/
63894 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
63895 }
63896 }
63897 /* Register variable[9]: Result */
63898 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::==*/)))))));
63899 if (UNTAG_Bool(variable[9])) { /*if*/
63900 /* Register variable[9]: Result */
63901 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
63902 if (UNTAG_Bool(variable[9])) { /*if*/
63903 variable[6] = variable[8] /*listnode2*/ /*listnode3=*/;
63904 } else { /*if*/
63905 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*listnode2*/) /*IndexedCollection::append*/;
63906 }
63907 }
63908 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
63909 /* Register variable[9]: Result */
63910 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(128)) /*Parser::go_to*/;
63911 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
63912 return_label1486: while(false);
63913 tracehead = trace.prev;
63914 return;
63915 }
63916 void parser___ReduceAction727___init(val_t self, int* init_table) {
63917 struct trace_t trace = {NULL, NULL, 24234, LOCATE_parser___ReduceAction727___init};
63918 val_t variable[2];
63919 struct WBT_ **closurevariable = NULL;
63920 trace.prev = tracehead; tracehead = &trace;
63921 trace.file = LOCATE_parser;
63922 /* Register variable[0]: Local variable */
63923 variable[0] = self;
63924 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction727].i]) return;
63925 /* Register variable[1]: Method return value and escape marker */
63926 return_label1487: while(false);
63927 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction727].i] = 1;
63928 tracehead = trace.prev;
63929 return;
63930 }
63931 void parser___ReduceAction728___action(val_t self, val_t param0) {
63932 struct trace_t trace = {NULL, NULL, 24238, LOCATE_parser___ReduceAction728___action};
63933 val_t variable[8];
63934 struct WBT_ **closurevariable = NULL;
63935 trace.prev = tracehead; tracehead = &trace;
63936 trace.file = LOCATE_parser;
63937 /* Register variable[0]: Local variable */
63938 variable[0] = self;
63939 /* Register variable[1]: Local variable */
63940 variable[1] = param0;
63941 /* Register variable[2]: Method return value and escape marker */
63942 /* Register variable[3]: Local variable */
63943 variable[3] = NIT_NULL /*null*/;
63944 /* Register variable[4]: Local variable */
63945 /* Register variable[5]: Result */
63946 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
63947 variable[4] = variable[5];
63948 /* Register variable[5]: Local variable */
63949 /* Register variable[6]: Result */
63950 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
63951 variable[5] = variable[6];
63952 /* Register variable[6]: Local variable */
63953 variable[6] = variable[4] /*nodearraylist1*/;
63954 /* Register variable[7]: Result */
63955 variable[7] = TAG_Bool(( variable[6] /*pexprnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*pexprnode1*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
63956 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction728___action, LOCATE_parser, 24244); nit_exit(1);}
63957 /* Register variable[7]: Result */
63958 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::==*/)))))));
63959 if (UNTAG_Bool(variable[7])) { /*if*/
63960 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*pexprnode1*/) /*AbstractArray::add*/;
63961 }
63962 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
63963 /* Register variable[7]: Result */
63964 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
63965 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
63966 return_label1488: while(false);
63967 tracehead = trace.prev;
63968 return;
63969 }
63970 void parser___ReduceAction728___init(val_t self, int* init_table) {
63971 struct trace_t trace = {NULL, NULL, 24251, LOCATE_parser___ReduceAction728___init};
63972 val_t variable[2];
63973 struct WBT_ **closurevariable = NULL;
63974 trace.prev = tracehead; tracehead = &trace;
63975 trace.file = LOCATE_parser;
63976 /* Register variable[0]: Local variable */
63977 variable[0] = self;
63978 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction728].i]) return;
63979 /* Register variable[1]: Method return value and escape marker */
63980 return_label1489: while(false);
63981 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction728].i] = 1;
63982 tracehead = trace.prev;
63983 return;
63984 }
63985 void parser___ReduceAction729___action(val_t self, val_t param0) {
63986 struct trace_t trace = {NULL, NULL, 24255, LOCATE_parser___ReduceAction729___action};
63987 val_t variable[10];
63988 struct WBT_ **closurevariable = NULL;
63989 trace.prev = tracehead; tracehead = &trace;
63990 trace.file = LOCATE_parser;
63991 /* Register variable[0]: Local variable */
63992 variable[0] = self;
63993 /* Register variable[1]: Local variable */
63994 variable[1] = param0;
63995 /* Register variable[2]: Method return value and escape marker */
63996 /* Register variable[3]: Local variable */
63997 variable[3] = NIT_NULL /*null*/;
63998 /* Register variable[4]: Local variable */
63999 /* Register variable[5]: Result */
64000 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64001 variable[4] = variable[5];
64002 /* Register variable[5]: Local variable */
64003 /* Register variable[6]: Result */
64004 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64005 variable[5] = variable[6];
64006 /* Register variable[6]: Local variable */
64007 /* Register variable[7]: Result */
64008 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64009 variable[6] = variable[7];
64010 /* Register variable[7]: Local variable */
64011 variable[7] = variable[5] /*nodearraylist1*/;
64012 /* Register variable[8]: Result */
64013 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64014 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction729___action, LOCATE_parser, 24262); nit_exit(1);}
64015 /* Register variable[8]: Local variable */
64016 variable[8] = variable[4] /*nodearraylist2*/;
64017 /* Register variable[9]: Result */
64018 variable[9] = TAG_Bool(( variable[8] /*pexprnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*pexprnode2*/, COLOR_PExpr, ID_PExpr)) /*cast PExpr*/;
64019 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction729___action, LOCATE_parser, 24264); nit_exit(1);}
64020 /* Register variable[9]: Result */
64021 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::==*/)))))));
64022 if (UNTAG_Bool(variable[9])) { /*if*/
64023 /* Register variable[9]: Result */
64024 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
64025 if (UNTAG_Bool(variable[9])) { /*if*/
64026 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
64027 } else { /*if*/
64028 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
64029 }
64030 }
64031 /* Register variable[9]: Result */
64032 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::==*/)))))));
64033 if (UNTAG_Bool(variable[9])) { /*if*/
64034 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*pexprnode2*/) /*AbstractArray::add*/;
64035 }
64036 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
64037 /* Register variable[9]: Result */
64038 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(129)) /*Parser::go_to*/;
64039 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
64040 return_label1490: while(false);
64041 tracehead = trace.prev;
64042 return;
64043 }
64044 void parser___ReduceAction729___init(val_t self, int* init_table) {
64045 struct trace_t trace = {NULL, NULL, 24278, LOCATE_parser___ReduceAction729___init};
64046 val_t variable[2];
64047 struct WBT_ **closurevariable = NULL;
64048 trace.prev = tracehead; tracehead = &trace;
64049 trace.file = LOCATE_parser;
64050 /* Register variable[0]: Local variable */
64051 variable[0] = self;
64052 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction729].i]) return;
64053 /* Register variable[1]: Method return value and escape marker */
64054 return_label1491: while(false);
64055 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction729].i] = 1;
64056 tracehead = trace.prev;
64057 return;
64058 }
64059 void parser___ReduceAction730___action(val_t self, val_t param0) {
64060 struct trace_t trace = {NULL, NULL, 24282, LOCATE_parser___ReduceAction730___action};
64061 val_t variable[8];
64062 struct WBT_ **closurevariable = NULL;
64063 trace.prev = tracehead; tracehead = &trace;
64064 trace.file = LOCATE_parser;
64065 /* Register variable[0]: Local variable */
64066 variable[0] = self;
64067 /* Register variable[1]: Local variable */
64068 variable[1] = param0;
64069 /* Register variable[2]: Method return value and escape marker */
64070 /* Register variable[3]: Local variable */
64071 variable[3] = NIT_NULL /*null*/;
64072 /* Register variable[4]: Local variable */
64073 /* Register variable[5]: Result */
64074 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64075 variable[4] = variable[5];
64076 /* Register variable[5]: Local variable */
64077 /* Register variable[6]: Result */
64078 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64079 variable[5] = variable[6];
64080 /* Register variable[6]: Local variable */
64081 variable[6] = variable[4] /*nodearraylist1*/;
64082 /* Register variable[7]: Result */
64083 variable[7] = TAG_Bool(( variable[6] /*tidnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tidnode1*/, COLOR_TId, ID_TId)) /*cast TId*/;
64084 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction730___action, LOCATE_parser, 24288); nit_exit(1);}
64085 /* Register variable[7]: Result */
64086 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::==*/)))))));
64087 if (UNTAG_Bool(variable[7])) { /*if*/
64088 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tidnode1*/) /*AbstractArray::add*/;
64089 }
64090 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
64091 /* Register variable[7]: Result */
64092 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
64093 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
64094 return_label1492: while(false);
64095 tracehead = trace.prev;
64096 return;
64097 }
64098 void parser___ReduceAction730___init(val_t self, int* init_table) {
64099 struct trace_t trace = {NULL, NULL, 24295, LOCATE_parser___ReduceAction730___init};
64100 val_t variable[2];
64101 struct WBT_ **closurevariable = NULL;
64102 trace.prev = tracehead; tracehead = &trace;
64103 trace.file = LOCATE_parser;
64104 /* Register variable[0]: Local variable */
64105 variable[0] = self;
64106 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction730].i]) return;
64107 /* Register variable[1]: Method return value and escape marker */
64108 return_label1493: while(false);
64109 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction730].i] = 1;
64110 tracehead = trace.prev;
64111 return;
64112 }
64113 void parser___ReduceAction731___action(val_t self, val_t param0) {
64114 struct trace_t trace = {NULL, NULL, 24299, LOCATE_parser___ReduceAction731___action};
64115 val_t variable[10];
64116 struct WBT_ **closurevariable = NULL;
64117 trace.prev = tracehead; tracehead = &trace;
64118 trace.file = LOCATE_parser;
64119 /* Register variable[0]: Local variable */
64120 variable[0] = self;
64121 /* Register variable[1]: Local variable */
64122 variable[1] = param0;
64123 /* Register variable[2]: Method return value and escape marker */
64124 /* Register variable[3]: Local variable */
64125 variable[3] = NIT_NULL /*null*/;
64126 /* Register variable[4]: Local variable */
64127 /* Register variable[5]: Result */
64128 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64129 variable[4] = variable[5];
64130 /* Register variable[5]: Local variable */
64131 /* Register variable[6]: Result */
64132 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64133 variable[5] = variable[6];
64134 /* Register variable[6]: Local variable */
64135 /* Register variable[7]: Result */
64136 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64137 variable[6] = variable[7];
64138 /* Register variable[7]: Local variable */
64139 variable[7] = variable[5] /*nodearraylist1*/;
64140 /* Register variable[8]: Result */
64141 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64142 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction731___action, LOCATE_parser, 24306); nit_exit(1);}
64143 /* Register variable[8]: Local variable */
64144 variable[8] = variable[4] /*nodearraylist2*/;
64145 /* Register variable[9]: Result */
64146 variable[9] = TAG_Bool(( variable[8] /*tidnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tidnode2*/, COLOR_TId, ID_TId)) /*cast TId*/;
64147 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction731___action, LOCATE_parser, 24308); nit_exit(1);}
64148 /* Register variable[9]: Result */
64149 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::==*/)))))));
64150 if (UNTAG_Bool(variable[9])) { /*if*/
64151 /* Register variable[9]: Result */
64152 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
64153 if (UNTAG_Bool(variable[9])) { /*if*/
64154 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
64155 } else { /*if*/
64156 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
64157 }
64158 }
64159 /* Register variable[9]: Result */
64160 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::==*/)))))));
64161 if (UNTAG_Bool(variable[9])) { /*if*/
64162 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*tidnode2*/) /*AbstractArray::add*/;
64163 }
64164 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
64165 /* Register variable[9]: Result */
64166 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(130)) /*Parser::go_to*/;
64167 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
64168 return_label1494: while(false);
64169 tracehead = trace.prev;
64170 return;
64171 }
64172 void parser___ReduceAction731___init(val_t self, int* init_table) {
64173 struct trace_t trace = {NULL, NULL, 24322, LOCATE_parser___ReduceAction731___init};
64174 val_t variable[2];
64175 struct WBT_ **closurevariable = NULL;
64176 trace.prev = tracehead; tracehead = &trace;
64177 trace.file = LOCATE_parser;
64178 /* Register variable[0]: Local variable */
64179 variable[0] = self;
64180 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction731].i]) return;
64181 /* Register variable[1]: Method return value and escape marker */
64182 return_label1495: while(false);
64183 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction731].i] = 1;
64184 tracehead = trace.prev;
64185 return;
64186 }
64187 void parser___ReduceAction732___action(val_t self, val_t param0) {
64188 struct trace_t trace = {NULL, NULL, 24326, LOCATE_parser___ReduceAction732___action};
64189 val_t variable[8];
64190 struct WBT_ **closurevariable = NULL;
64191 trace.prev = tracehead; tracehead = &trace;
64192 trace.file = LOCATE_parser;
64193 /* Register variable[0]: Local variable */
64194 variable[0] = self;
64195 /* Register variable[1]: Local variable */
64196 variable[1] = param0;
64197 /* Register variable[2]: Method return value and escape marker */
64198 /* Register variable[3]: Local variable */
64199 variable[3] = NIT_NULL /*null*/;
64200 /* Register variable[4]: Local variable */
64201 /* Register variable[5]: Result */
64202 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64203 variable[4] = variable[5];
64204 /* Register variable[5]: Local variable */
64205 /* Register variable[6]: Result */
64206 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64207 variable[5] = variable[6];
64208 /* Register variable[6]: Local variable */
64209 variable[6] = variable[4] /*nodearraylist1*/;
64210 /* Register variable[7]: Result */
64211 variable[7] = TAG_Bool(( variable[6] /*tcommentnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*tcommentnode1*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
64212 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction732___action, LOCATE_parser, 24332); nit_exit(1);}
64213 /* Register variable[7]: Result */
64214 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::==*/)))))));
64215 if (UNTAG_Bool(variable[7])) { /*if*/
64216 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*tcommentnode1*/) /*AbstractArray::add*/;
64217 }
64218 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
64219 /* Register variable[7]: Result */
64220 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
64221 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
64222 return_label1496: while(false);
64223 tracehead = trace.prev;
64224 return;
64225 }
64226 void parser___ReduceAction732___init(val_t self, int* init_table) {
64227 struct trace_t trace = {NULL, NULL, 24339, LOCATE_parser___ReduceAction732___init};
64228 val_t variable[2];
64229 struct WBT_ **closurevariable = NULL;
64230 trace.prev = tracehead; tracehead = &trace;
64231 trace.file = LOCATE_parser;
64232 /* Register variable[0]: Local variable */
64233 variable[0] = self;
64234 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction732].i]) return;
64235 /* Register variable[1]: Method return value and escape marker */
64236 return_label1497: while(false);
64237 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction732].i] = 1;
64238 tracehead = trace.prev;
64239 return;
64240 }
64241 void parser___ReduceAction733___action(val_t self, val_t param0) {
64242 struct trace_t trace = {NULL, NULL, 24343, LOCATE_parser___ReduceAction733___action};
64243 val_t variable[10];
64244 struct WBT_ **closurevariable = NULL;
64245 trace.prev = tracehead; tracehead = &trace;
64246 trace.file = LOCATE_parser;
64247 /* Register variable[0]: Local variable */
64248 variable[0] = self;
64249 /* Register variable[1]: Local variable */
64250 variable[1] = param0;
64251 /* Register variable[2]: Method return value and escape marker */
64252 /* Register variable[3]: Local variable */
64253 variable[3] = NIT_NULL /*null*/;
64254 /* Register variable[4]: Local variable */
64255 /* Register variable[5]: Result */
64256 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64257 variable[4] = variable[5];
64258 /* Register variable[5]: Local variable */
64259 /* Register variable[6]: Result */
64260 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64261 variable[5] = variable[6];
64262 /* Register variable[6]: Local variable */
64263 /* Register variable[7]: Result */
64264 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64265 variable[6] = variable[7];
64266 /* Register variable[7]: Local variable */
64267 variable[7] = variable[5] /*nodearraylist1*/;
64268 /* Register variable[8]: Result */
64269 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64270 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction733___action, LOCATE_parser, 24350); nit_exit(1);}
64271 /* Register variable[8]: Local variable */
64272 variable[8] = variable[4] /*nodearraylist2*/;
64273 /* Register variable[9]: Result */
64274 variable[9] = TAG_Bool(( variable[8] /*tcommentnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*tcommentnode2*/, COLOR_TComment, ID_TComment)) /*cast TComment*/;
64275 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction733___action, LOCATE_parser, 24352); nit_exit(1);}
64276 /* Register variable[9]: Result */
64277 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::==*/)))))));
64278 if (UNTAG_Bool(variable[9])) { /*if*/
64279 /* Register variable[9]: Result */
64280 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
64281 if (UNTAG_Bool(variable[9])) { /*if*/
64282 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
64283 } else { /*if*/
64284 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
64285 }
64286 }
64287 /* Register variable[9]: Result */
64288 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::==*/)))))));
64289 if (UNTAG_Bool(variable[9])) { /*if*/
64290 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*tcommentnode2*/) /*AbstractArray::add*/;
64291 }
64292 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
64293 /* Register variable[9]: Result */
64294 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(131)) /*Parser::go_to*/;
64295 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
64296 return_label1498: while(false);
64297 tracehead = trace.prev;
64298 return;
64299 }
64300 void parser___ReduceAction733___init(val_t self, int* init_table) {
64301 struct trace_t trace = {NULL, NULL, 24366, LOCATE_parser___ReduceAction733___init};
64302 val_t variable[2];
64303 struct WBT_ **closurevariable = NULL;
64304 trace.prev = tracehead; tracehead = &trace;
64305 trace.file = LOCATE_parser;
64306 /* Register variable[0]: Local variable */
64307 variable[0] = self;
64308 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction733].i]) return;
64309 /* Register variable[1]: Method return value and escape marker */
64310 return_label1499: while(false);
64311 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction733].i] = 1;
64312 tracehead = trace.prev;
64313 return;
64314 }
64315 void parser___ReduceAction734___action(val_t self, val_t param0) {
64316 struct trace_t trace = {NULL, NULL, 24370, LOCATE_parser___ReduceAction734___action};
64317 val_t variable[8];
64318 struct WBT_ **closurevariable = NULL;
64319 trace.prev = tracehead; tracehead = &trace;
64320 trace.file = LOCATE_parser;
64321 /* Register variable[0]: Local variable */
64322 variable[0] = self;
64323 /* Register variable[1]: Local variable */
64324 variable[1] = param0;
64325 /* Register variable[2]: Method return value and escape marker */
64326 /* Register variable[3]: Local variable */
64327 variable[3] = NIT_NULL /*null*/;
64328 /* Register variable[4]: Local variable */
64329 /* Register variable[5]: Result */
64330 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64331 variable[4] = variable[5];
64332 /* Register variable[5]: Local variable */
64333 /* Register variable[6]: Result */
64334 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64335 variable[5] = variable[6];
64336 /* Register variable[6]: Local variable */
64337 variable[6] = variable[4] /*nodearraylist1*/;
64338 /* Register variable[7]: Result */
64339 variable[7] = TAG_Bool(( variable[6] /*teolnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*teolnode1*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
64340 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction734___action, LOCATE_parser, 24376); nit_exit(1);}
64341 /* Register variable[7]: Result */
64342 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::==*/)))))));
64343 if (UNTAG_Bool(variable[7])) { /*if*/
64344 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*teolnode1*/) /*AbstractArray::add*/;
64345 }
64346 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
64347 /* Register variable[7]: Result */
64348 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
64349 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
64350 return_label1500: while(false);
64351 tracehead = trace.prev;
64352 return;
64353 }
64354 void parser___ReduceAction734___init(val_t self, int* init_table) {
64355 struct trace_t trace = {NULL, NULL, 24383, LOCATE_parser___ReduceAction734___init};
64356 val_t variable[2];
64357 struct WBT_ **closurevariable = NULL;
64358 trace.prev = tracehead; tracehead = &trace;
64359 trace.file = LOCATE_parser;
64360 /* Register variable[0]: Local variable */
64361 variable[0] = self;
64362 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction734].i]) return;
64363 /* Register variable[1]: Method return value and escape marker */
64364 return_label1501: while(false);
64365 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction734].i] = 1;
64366 tracehead = trace.prev;
64367 return;
64368 }
64369 void parser___ReduceAction735___action(val_t self, val_t param0) {
64370 struct trace_t trace = {NULL, NULL, 24387, LOCATE_parser___ReduceAction735___action};
64371 val_t variable[10];
64372 struct WBT_ **closurevariable = NULL;
64373 trace.prev = tracehead; tracehead = &trace;
64374 trace.file = LOCATE_parser;
64375 /* Register variable[0]: Local variable */
64376 variable[0] = self;
64377 /* Register variable[1]: Local variable */
64378 variable[1] = param0;
64379 /* Register variable[2]: Method return value and escape marker */
64380 /* Register variable[3]: Local variable */
64381 variable[3] = NIT_NULL /*null*/;
64382 /* Register variable[4]: Local variable */
64383 /* Register variable[5]: Result */
64384 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64385 variable[4] = variable[5];
64386 /* Register variable[5]: Local variable */
64387 /* Register variable[6]: Result */
64388 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64389 variable[5] = variable[6];
64390 /* Register variable[6]: Local variable */
64391 /* Register variable[7]: Result */
64392 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64393 variable[6] = variable[7];
64394 /* Register variable[7]: Local variable */
64395 variable[7] = variable[5] /*nodearraylist1*/;
64396 /* Register variable[8]: Result */
64397 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64398 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction735___action, LOCATE_parser, 24394); nit_exit(1);}
64399 /* Register variable[8]: Local variable */
64400 variable[8] = variable[4] /*nodearraylist2*/;
64401 /* Register variable[9]: Result */
64402 variable[9] = TAG_Bool(( variable[8] /*teolnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*teolnode2*/, COLOR_TEol, ID_TEol)) /*cast TEol*/;
64403 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction735___action, LOCATE_parser, 24396); nit_exit(1);}
64404 /* Register variable[9]: Result */
64405 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::==*/)))))));
64406 if (UNTAG_Bool(variable[9])) { /*if*/
64407 /* Register variable[9]: Result */
64408 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
64409 if (UNTAG_Bool(variable[9])) { /*if*/
64410 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
64411 } else { /*if*/
64412 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
64413 }
64414 }
64415 /* Register variable[9]: Result */
64416 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::==*/)))))));
64417 if (UNTAG_Bool(variable[9])) { /*if*/
64418 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*teolnode2*/) /*AbstractArray::add*/;
64419 }
64420 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
64421 /* Register variable[9]: Result */
64422 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(132)) /*Parser::go_to*/;
64423 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
64424 return_label1502: while(false);
64425 tracehead = trace.prev;
64426 return;
64427 }
64428 void parser___ReduceAction735___init(val_t self, int* init_table) {
64429 struct trace_t trace = {NULL, NULL, 24410, LOCATE_parser___ReduceAction735___init};
64430 val_t variable[2];
64431 struct WBT_ **closurevariable = NULL;
64432 trace.prev = tracehead; tracehead = &trace;
64433 trace.file = LOCATE_parser;
64434 /* Register variable[0]: Local variable */
64435 variable[0] = self;
64436 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction735].i]) return;
64437 /* Register variable[1]: Method return value and escape marker */
64438 return_label1503: while(false);
64439 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction735].i] = 1;
64440 tracehead = trace.prev;
64441 return;
64442 }
64443 void parser___ReduceAction736___action(val_t self, val_t param0) {
64444 struct trace_t trace = {NULL, NULL, 24414, LOCATE_parser___ReduceAction736___action};
64445 val_t variable[8];
64446 struct WBT_ **closurevariable = NULL;
64447 trace.prev = tracehead; tracehead = &trace;
64448 trace.file = LOCATE_parser;
64449 /* Register variable[0]: Local variable */
64450 variable[0] = self;
64451 /* Register variable[1]: Local variable */
64452 variable[1] = param0;
64453 /* Register variable[2]: Method return value and escape marker */
64454 /* Register variable[3]: Local variable */
64455 variable[3] = NIT_NULL /*null*/;
64456 /* Register variable[4]: Local variable */
64457 /* Register variable[5]: Result */
64458 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64459 variable[4] = variable[5];
64460 /* Register variable[5]: Local variable */
64461 /* Register variable[6]: Result */
64462 variable[6] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64463 variable[5] = variable[6];
64464 /* Register variable[6]: Local variable */
64465 variable[6] = variable[4] /*nodearraylist1*/;
64466 /* Register variable[7]: Result */
64467 variable[7] = TAG_Bool(( variable[6] /*ppropdefnode1*/==NIT_NULL) || VAL_ISA( variable[6] /*ppropdefnode1*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
64468 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction736___action, LOCATE_parser, 24420); nit_exit(1);}
64469 /* Register variable[7]: Result */
64470 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::==*/)))))));
64471 if (UNTAG_Bool(variable[7])) { /*if*/
64472 CALL_abstract_collection___SimpleCollection___add( variable[5] /*listnode2*/)( variable[5] /*listnode2*/, variable[6] /*ppropdefnode1*/) /*AbstractArray::add*/;
64473 }
64474 variable[3] = variable[5] /*listnode2*/ /*node_list=*/;
64475 /* Register variable[7]: Result */
64476 variable[7] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
64477 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[7], variable[3] /*node_list*/) /*Parser::push*/;
64478 return_label1504: while(false);
64479 tracehead = trace.prev;
64480 return;
64481 }
64482 void parser___ReduceAction736___init(val_t self, int* init_table) {
64483 struct trace_t trace = {NULL, NULL, 24427, LOCATE_parser___ReduceAction736___init};
64484 val_t variable[2];
64485 struct WBT_ **closurevariable = NULL;
64486 trace.prev = tracehead; tracehead = &trace;
64487 trace.file = LOCATE_parser;
64488 /* Register variable[0]: Local variable */
64489 variable[0] = self;
64490 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction736].i]) return;
64491 /* Register variable[1]: Method return value and escape marker */
64492 return_label1505: while(false);
64493 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction736].i] = 1;
64494 tracehead = trace.prev;
64495 return;
64496 }
64497 void parser___ReduceAction737___action(val_t self, val_t param0) {
64498 struct trace_t trace = {NULL, NULL, 24431, LOCATE_parser___ReduceAction737___action};
64499 val_t variable[10];
64500 struct WBT_ **closurevariable = NULL;
64501 trace.prev = tracehead; tracehead = &trace;
64502 trace.file = LOCATE_parser;
64503 /* Register variable[0]: Local variable */
64504 variable[0] = self;
64505 /* Register variable[1]: Local variable */
64506 variable[1] = param0;
64507 /* Register variable[2]: Method return value and escape marker */
64508 /* Register variable[3]: Local variable */
64509 variable[3] = NIT_NULL /*null*/;
64510 /* Register variable[4]: Local variable */
64511 /* Register variable[5]: Result */
64512 variable[5] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64513 variable[4] = variable[5];
64514 /* Register variable[5]: Local variable */
64515 /* Register variable[6]: Result */
64516 variable[6] = CALL_parser___Parser___pop( variable[1] /*p*/)( variable[1] /*p*/) /*Parser::pop*/;
64517 variable[5] = variable[6];
64518 /* Register variable[6]: Local variable */
64519 /* Register variable[7]: Result */
64520 variable[7] = NEW_Array_array___Array___init() /*new Array[Object]*/;
64521 variable[6] = variable[7];
64522 /* Register variable[7]: Local variable */
64523 variable[7] = variable[5] /*nodearraylist1*/;
64524 /* Register variable[8]: Result */
64525 variable[8] = TAG_Bool(( variable[7] /*listnode1*/==NIT_NULL) || VAL_ISA( variable[7] /*listnode1*/, COLOR_Array, ID_Array)) /*cast Array[Object]*/;
64526 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction737___action, LOCATE_parser, 24438); nit_exit(1);}
64527 /* Register variable[8]: Local variable */
64528 variable[8] = variable[4] /*nodearraylist2*/;
64529 /* Register variable[9]: Result */
64530 variable[9] = TAG_Bool(( variable[8] /*ppropdefnode2*/==NIT_NULL) || VAL_ISA( variable[8] /*ppropdefnode2*/, COLOR_PPropdef, ID_PPropdef)) /*cast PPropdef*/;
64531 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_parser___ReduceAction737___action, LOCATE_parser, 24440); nit_exit(1);}
64532 /* Register variable[9]: Result */
64533 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::==*/)))))));
64534 if (UNTAG_Bool(variable[9])) { /*if*/
64535 /* Register variable[9]: Result */
64536 variable[9] = CALL_abstract_collection___Collection___is_empty( variable[6] /*listnode3*/)( variable[6] /*listnode3*/) /*AbstractArrayRead::is_empty*/;
64537 if (UNTAG_Bool(variable[9])) { /*if*/
64538 variable[6] = variable[7] /*listnode1*/ /*listnode3=*/;
64539 } else { /*if*/
64540 CALL_abstract_collection___IndexedCollection___append( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[7] /*listnode1*/) /*IndexedCollection::append*/;
64541 }
64542 }
64543 /* Register variable[9]: Result */
64544 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::==*/)))))));
64545 if (UNTAG_Bool(variable[9])) { /*if*/
64546 CALL_abstract_collection___SimpleCollection___add( variable[6] /*listnode3*/)( variable[6] /*listnode3*/, variable[8] /*ppropdefnode2*/) /*AbstractArray::add*/;
64547 }
64548 variable[3] = variable[6] /*listnode3*/ /*node_list=*/;
64549 /* Register variable[9]: Result */
64550 variable[9] = CALL_parser___Parser___go_to( variable[1] /*p*/)( variable[1] /*p*/, TAG_Int(133)) /*Parser::go_to*/;
64551 CALL_parser___Parser___push( variable[1] /*p*/)( variable[1] /*p*/, variable[9], variable[3] /*node_list*/) /*Parser::push*/;
64552 return_label1506: while(false);
64553 tracehead = trace.prev;
64554 return;
64555 }
64556 void parser___ReduceAction737___init(val_t self, int* init_table) {
64557 struct trace_t trace = {NULL, NULL, 24454, LOCATE_parser___ReduceAction737___init};
64558 val_t variable[2];
64559 struct WBT_ **closurevariable = NULL;
64560 trace.prev = tracehead; tracehead = &trace;
64561 trace.file = LOCATE_parser;
64562 /* Register variable[0]: Local variable */
64563 variable[0] = self;
64564 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction737].i]) return;
64565 /* Register variable[1]: Method return value and escape marker */
64566 return_label1507: while(false);
64567 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ReduceAction737].i] = 1;
64568 tracehead = trace.prev;
64569 return;
64570 }