1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */
3 void nit__parser___nit__parser__ReduceAction242___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
19 val
* var7
/* : AImplicitSelfExpr */;
20 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
21 val
* var_tidnode3
/* var tidnode3: nullable Object */;
22 short int var9
/* : Bool */;
25 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
26 short int var10
/* : Bool */;
29 val
* var_passignopnode5
/* var passignopnode5: nullable Object */;
30 short int var13
/* : Bool */;
33 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
34 short int var16
/* : Bool */;
37 val
* var19
/* : ACallReassignExpr */;
38 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
39 long var20
/* : Int */;
40 long var21
/* : Int */;
45 var1
= nit___nit__Parser___pop(var_p
);
47 var_nodearraylist6
= var1
;
49 var2
= nit___nit__Parser___pop(var_p
);
51 var_nodearraylist5
= var2
;
53 var3
= nit___nit__Parser___pop(var_p
);
55 var_nodearraylist4
= var3
;
57 var4
= nit___nit__Parser___pop(var_p
);
59 var_nodearraylist3
= var4
;
61 var5
= nit___nit__Parser___pop(var_p
);
63 var_nodearraylist2
= var5
;
65 var6
= nit___nit__Parser___pop(var_p
);
67 var_nodearraylist1
= var6
;
68 var7
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
70 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on <var7:AImplicitSelfExpr> */
74 var_pexprnode2
= var7
;
75 var_tidnode3
= var_nodearraylist3
;
76 /* <var_tidnode3:nullable Object> isa nullable TId */
77 cltype
= type_nullable__nit__TId
.color
;
78 idtype
= type_nullable__nit__TId
.id
;
79 if(var_tidnode3
== NULL
) {
82 if(cltype
>= var_tidnode3
->type
->table_size
) {
85 var9
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
88 if (unlikely(!var9
)) {
89 PRINT_ERROR("Runtime error: %s", "Assert failed");
90 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7029);
93 var_pexprsnode4
= var_nodearraylist4
;
94 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
95 cltype11
= type_nullable__nit__AExprs
.color
;
96 idtype12
= type_nullable__nit__AExprs
.id
;
97 if(var_pexprsnode4
== NULL
) {
100 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
103 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
106 if (unlikely(!var10
)) {
107 PRINT_ERROR("Runtime error: %s", "Assert failed");
108 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7031);
111 var_passignopnode5
= var_nodearraylist5
;
112 /* <var_passignopnode5:nullable Object> isa nullable AAssignOp */
113 cltype14
= type_nullable__nit__AAssignOp
.color
;
114 idtype15
= type_nullable__nit__AAssignOp
.id
;
115 if(var_passignopnode5
== NULL
) {
118 if(cltype14
>= var_passignopnode5
->type
->table_size
) {
121 var13
= var_passignopnode5
->type
->type_table
[cltype14
] == idtype15
;
124 if (unlikely(!var13
)) {
125 PRINT_ERROR("Runtime error: %s", "Assert failed");
126 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7033);
129 var_pexprnode6
= var_nodearraylist6
;
130 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
131 cltype17
= type_nullable__nit__AExpr
.color
;
132 idtype18
= type_nullable__nit__AExpr
.id
;
133 if(var_pexprnode6
== NULL
) {
136 if(cltype17
>= var_pexprnode6
->type
->table_size
) {
139 var16
= var_pexprnode6
->type
->type_table
[cltype17
] == idtype18
;
142 if (unlikely(!var16
)) {
143 PRINT_ERROR("Runtime error: %s", "Assert failed");
144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7035);
147 var19
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
149 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var19
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode5
, var_pexprnode6
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var19:ACallReassignExpr>*/
151 var_pexprnode1
= var19
;
152 var_node_list
= var_pexprnode1
;
153 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction242> */
155 var21
= nit___nit__Parser___go_to(var_p
, var20
);
158 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
162 /* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */
163 void nit__parser___nit__parser__ReduceAction243___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
164 val
* var_p
/* var p: Parser */;
165 val
* var
/* : null */;
166 val
* var_node_list
/* var node_list: nullable Object */;
167 val
* var1
/* : nullable Object */;
168 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
169 val
* var2
/* : nullable Object */;
170 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
171 val
* var3
/* : nullable Object */;
172 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
173 val
* var4
/* : nullable Object */;
174 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
175 val
* var5
/* : nullable Object */;
176 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
177 val
* var6
/* : AImplicitSelfExpr */;
178 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
179 val
* var_tidnode3
/* var tidnode3: nullable Object */;
180 short int var8
/* : Bool */;
183 val
* var9
/* : Array[Object] */;
184 val
* var_listnode5
/* var listnode5: Array[Object] */;
185 val
* var10
/* : AListExprs */;
186 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
187 val
* var_passignopnode6
/* var passignopnode6: nullable Object */;
188 short int var11
/* : Bool */;
191 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
192 short int var14
/* : Bool */;
195 val
* var17
/* : ACallReassignExpr */;
196 val
* var_pexprnode1
/* var pexprnode1: nullable ACallReassignExpr */;
197 long var18
/* : Int */;
198 long var19
/* : Int */;
203 var1
= nit___nit__Parser___pop(var_p
);
205 var_nodearraylist5
= var1
;
207 var2
= nit___nit__Parser___pop(var_p
);
209 var_nodearraylist4
= var2
;
211 var3
= nit___nit__Parser___pop(var_p
);
213 var_nodearraylist3
= var3
;
215 var4
= nit___nit__Parser___pop(var_p
);
217 var_nodearraylist2
= var4
;
219 var5
= nit___nit__Parser___pop(var_p
);
221 var_nodearraylist1
= var5
;
222 var6
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
224 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on <var6:AImplicitSelfExpr> */
228 var_pexprnode2
= var6
;
229 var_tidnode3
= var_nodearraylist3
;
230 /* <var_tidnode3:nullable Object> isa nullable TId */
231 cltype
= type_nullable__nit__TId
.color
;
232 idtype
= type_nullable__nit__TId
.id
;
233 if(var_tidnode3
== NULL
) {
236 if(cltype
>= var_tidnode3
->type
->table_size
) {
239 var8
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
242 if (unlikely(!var8
)) {
243 PRINT_ERROR("Runtime error: %s", "Assert failed");
244 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7059);
247 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
249 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
251 var_listnode5
= var9
;
252 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
254 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
256 var_pexprsnode4
= var10
;
257 var_passignopnode6
= var_nodearraylist4
;
258 /* <var_passignopnode6:nullable Object> isa nullable AAssignOp */
259 cltype12
= type_nullable__nit__AAssignOp
.color
;
260 idtype13
= type_nullable__nit__AAssignOp
.id
;
261 if(var_passignopnode6
== NULL
) {
264 if(cltype12
>= var_passignopnode6
->type
->table_size
) {
267 var11
= var_passignopnode6
->type
->type_table
[cltype12
] == idtype13
;
270 if (unlikely(!var11
)) {
271 PRINT_ERROR("Runtime error: %s", "Assert failed");
272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7065);
275 var_pexprnode7
= var_nodearraylist5
;
276 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
277 cltype15
= type_nullable__nit__AExpr
.color
;
278 idtype16
= type_nullable__nit__AExpr
.id
;
279 if(var_pexprnode7
== NULL
) {
282 if(cltype15
>= var_pexprnode7
->type
->table_size
) {
285 var14
= var_pexprnode7
->type
->type_table
[cltype15
] == idtype16
;
288 if (unlikely(!var14
)) {
289 PRINT_ERROR("Runtime error: %s", "Assert failed");
290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7067);
293 var17
= NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr
);
295 nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var17
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_passignopnode6
, var_pexprnode7
); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <var17:ACallReassignExpr>*/
297 var_pexprnode1
= var17
;
298 var_node_list
= var_pexprnode1
;
299 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction243> */
301 var19
= nit___nit__Parser___go_to(var_p
, var18
);
304 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
308 /* method parser#ReduceAction246#action for (self: ReduceAction246, Parser) */
309 void nit__parser___nit__parser__ReduceAction246___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
310 val
* var_p
/* var p: Parser */;
311 val
* var
/* : null */;
312 val
* var_node_list
/* var node_list: nullable Object */;
313 val
* var1
/* : nullable Object */;
314 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
315 val
* var2
/* : nullable Object */;
316 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
317 val
* var3
/* : nullable Object */;
318 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
319 val
* var4
/* : nullable Object */;
320 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
321 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
322 short int var5
/* : Bool */;
325 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
326 short int var6
/* : Bool */;
329 val
* var_passignopnode4
/* var passignopnode4: nullable Object */;
330 short int var9
/* : Bool */;
333 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
334 short int var12
/* : Bool */;
337 val
* var15
/* : ABraReassignExpr */;
338 val
* var_pexprnode1
/* var pexprnode1: nullable ABraReassignExpr */;
339 long var16
/* : Int */;
340 long var17
/* : Int */;
345 var1
= nit___nit__Parser___pop(var_p
);
347 var_nodearraylist4
= var1
;
349 var2
= nit___nit__Parser___pop(var_p
);
351 var_nodearraylist3
= var2
;
353 var3
= nit___nit__Parser___pop(var_p
);
355 var_nodearraylist2
= var3
;
357 var4
= nit___nit__Parser___pop(var_p
);
359 var_nodearraylist1
= var4
;
360 var_pexprnode2
= var_nodearraylist1
;
361 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
362 cltype
= type_nullable__nit__AExpr
.color
;
363 idtype
= type_nullable__nit__AExpr
.id
;
364 if(var_pexprnode2
== NULL
) {
367 if(cltype
>= var_pexprnode2
->type
->table_size
) {
370 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
373 if (unlikely(!var5
)) {
374 PRINT_ERROR("Runtime error: %s", "Assert failed");
375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7089);
378 var_pexprsnode3
= var_nodearraylist2
;
379 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
380 cltype7
= type_nullable__nit__AExprs
.color
;
381 idtype8
= type_nullable__nit__AExprs
.id
;
382 if(var_pexprsnode3
== NULL
) {
385 if(cltype7
>= var_pexprsnode3
->type
->table_size
) {
388 var6
= var_pexprsnode3
->type
->type_table
[cltype7
] == idtype8
;
391 if (unlikely(!var6
)) {
392 PRINT_ERROR("Runtime error: %s", "Assert failed");
393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7091);
396 var_passignopnode4
= var_nodearraylist3
;
397 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
398 cltype10
= type_nullable__nit__AAssignOp
.color
;
399 idtype11
= type_nullable__nit__AAssignOp
.id
;
400 if(var_passignopnode4
== NULL
) {
403 if(cltype10
>= var_passignopnode4
->type
->table_size
) {
406 var9
= var_passignopnode4
->type
->type_table
[cltype10
] == idtype11
;
409 if (unlikely(!var9
)) {
410 PRINT_ERROR("Runtime error: %s", "Assert failed");
411 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7093);
414 var_pexprnode5
= var_nodearraylist4
;
415 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
416 cltype13
= type_nullable__nit__AExpr
.color
;
417 idtype14
= type_nullable__nit__AExpr
.id
;
418 if(var_pexprnode5
== NULL
) {
421 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
424 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
427 if (unlikely(!var12
)) {
428 PRINT_ERROR("Runtime error: %s", "Assert failed");
429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7095);
432 var15
= NEW_nit__ABraReassignExpr(&type_nit__ABraReassignExpr
);
434 nit__parser_prod___ABraReassignExpr___init_abrareassignexpr(var15
, var_pexprnode2
, var_pexprsnode3
, var_passignopnode4
, var_pexprnode5
); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on <var15:ABraReassignExpr>*/
436 var_pexprnode1
= var15
;
437 var_node_list
= var_pexprnode1
;
438 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction246> */
440 var17
= nit___nit__Parser___go_to(var_p
, var16
);
443 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
447 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
448 void nit__parser___nit__parser__ReduceAction247___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
449 val
* var_p
/* var p: Parser */;
450 val
* var
/* : null */;
451 val
* var_node_list
/* var node_list: nullable Object */;
452 val
* var1
/* : nullable Object */;
453 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
454 val
* var_tpluseqnode2
/* var tpluseqnode2: nullable Object */;
455 short int var2
/* : Bool */;
458 val
* var3
/* : APlusAssignOp */;
459 val
* var_passignopnode1
/* var passignopnode1: nullable APlusAssignOp */;
460 long var4
/* : Int */;
461 long var5
/* : Int */;
466 var1
= nit___nit__Parser___pop(var_p
);
468 var_nodearraylist1
= var1
;
469 var_tpluseqnode2
= var_nodearraylist1
;
470 /* <var_tpluseqnode2:nullable Object> isa nullable TPluseq */
471 cltype
= type_nullable__nit__TPluseq
.color
;
472 idtype
= type_nullable__nit__TPluseq
.id
;
473 if(var_tpluseqnode2
== NULL
) {
476 if(cltype
>= var_tpluseqnode2
->type
->table_size
) {
479 var2
= var_tpluseqnode2
->type
->type_table
[cltype
] == idtype
;
482 if (unlikely(!var2
)) {
483 PRINT_ERROR("Runtime error: %s", "Assert failed");
484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7113);
487 var3
= NEW_nit__APlusAssignOp(&type_nit__APlusAssignOp
);
489 nit__parser_prod___APlusAssignOp___init_aplusassignop(var3
, var_tpluseqnode2
); /* Direct call parser_prod#APlusAssignOp#init_aplusassignop on <var3:APlusAssignOp>*/
491 var_passignopnode1
= var3
;
492 var_node_list
= var_passignopnode1
;
493 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction247> */
495 var5
= nit___nit__Parser___go_to(var_p
, var4
);
498 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
502 /* method parser#ReduceAction248#action for (self: ReduceAction248, Parser) */
503 void nit__parser___nit__parser__ReduceAction248___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
504 val
* var_p
/* var p: Parser */;
505 val
* var
/* : null */;
506 val
* var_node_list
/* var node_list: nullable Object */;
507 val
* var1
/* : nullable Object */;
508 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
509 val
* var_tminuseqnode2
/* var tminuseqnode2: nullable Object */;
510 short int var2
/* : Bool */;
513 val
* var3
/* : AMinusAssignOp */;
514 val
* var_passignopnode1
/* var passignopnode1: nullable AMinusAssignOp */;
515 long var4
/* : Int */;
516 long var5
/* : Int */;
521 var1
= nit___nit__Parser___pop(var_p
);
523 var_nodearraylist1
= var1
;
524 var_tminuseqnode2
= var_nodearraylist1
;
525 /* <var_tminuseqnode2:nullable Object> isa nullable TMinuseq */
526 cltype
= type_nullable__nit__TMinuseq
.color
;
527 idtype
= type_nullable__nit__TMinuseq
.id
;
528 if(var_tminuseqnode2
== NULL
) {
531 if(cltype
>= var_tminuseqnode2
->type
->table_size
) {
534 var2
= var_tminuseqnode2
->type
->type_table
[cltype
] == idtype
;
537 if (unlikely(!var2
)) {
538 PRINT_ERROR("Runtime error: %s", "Assert failed");
539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7128);
542 var3
= NEW_nit__AMinusAssignOp(&type_nit__AMinusAssignOp
);
544 nit__parser_prod___AMinusAssignOp___init_aminusassignop(var3
, var_tminuseqnode2
); /* Direct call parser_prod#AMinusAssignOp#init_aminusassignop on <var3:AMinusAssignOp>*/
546 var_passignopnode1
= var3
;
547 var_node_list
= var_passignopnode1
;
548 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction248> */
550 var5
= nit___nit__Parser___go_to(var_p
, var4
);
553 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
557 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
558 void nit__parser___nit__parser__ReduceAction249___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
559 val
* var_p
/* var p: Parser */;
560 val
* var
/* : null */;
561 val
* var_node_list
/* var node_list: nullable Object */;
562 val
* var1
/* : nullable Object */;
563 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
564 val
* var2
/* : nullable Object */;
565 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
566 val
* var3
/* : nullable Object */;
567 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
568 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
569 short int var4
/* : Bool */;
572 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
573 short int var5
/* : Bool */;
576 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
577 short int var8
/* : Bool */;
580 val
* var11
/* : ADoExpr */;
581 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
582 long var12
/* : Int */;
583 long var13
/* : Int */;
588 var1
= nit___nit__Parser___pop(var_p
);
590 var_nodearraylist3
= var1
;
592 var2
= nit___nit__Parser___pop(var_p
);
594 var_nodearraylist2
= var2
;
596 var3
= nit___nit__Parser___pop(var_p
);
598 var_nodearraylist1
= var3
;
599 var_tkwdonode2
= var_nodearraylist1
;
600 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
601 cltype
= type_nullable__nit__TKwdo
.color
;
602 idtype
= type_nullable__nit__TKwdo
.id
;
603 if(var_tkwdonode2
== NULL
) {
606 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
609 var4
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
612 if (unlikely(!var4
)) {
613 PRINT_ERROR("Runtime error: %s", "Assert failed");
614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7145);
617 var_pexprnode3
= var_nodearraylist2
;
618 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
619 cltype6
= type_nullable__nit__AExpr
.color
;
620 idtype7
= type_nullable__nit__AExpr
.id
;
621 if(var_pexprnode3
== NULL
) {
624 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
627 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
630 if (unlikely(!var5
)) {
631 PRINT_ERROR("Runtime error: %s", "Assert failed");
632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7147);
635 var_plabelnode4
= var_nodearraylist3
;
636 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
637 cltype9
= type_nullable__nit__ALabel
.color
;
638 idtype10
= type_nullable__nit__ALabel
.id
;
639 if(var_plabelnode4
== NULL
) {
642 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
645 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
648 if (unlikely(!var8
)) {
649 PRINT_ERROR("Runtime error: %s", "Assert failed");
650 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7149);
653 var11
= NEW_nit__ADoExpr(&type_nit__ADoExpr
);
655 nit__parser_prod___ADoExpr___init_adoexpr(var11
, var_tkwdonode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var11:ADoExpr>*/
657 var_pexprnode1
= var11
;
658 var_node_list
= var_pexprnode1
;
659 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction249> */
661 var13
= nit___nit__Parser___go_to(var_p
, var12
);
664 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
668 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
669 void nit__parser___nit__parser__ReduceAction250___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
670 val
* var_p
/* var p: Parser */;
671 val
* var
/* : null */;
672 val
* var_node_list
/* var node_list: nullable Object */;
673 val
* var1
/* : nullable Object */;
674 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
675 val
* var2
/* : nullable Object */;
676 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
677 val
* var_tkwdonode2
/* var tkwdonode2: nullable Object */;
678 short int var3
/* : Bool */;
681 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
682 short int var4
/* : Bool */;
685 val
* var7
/* : ADoExpr */;
686 val
* var8
/* : null */;
687 val
* var_pexprnode1
/* var pexprnode1: nullable ADoExpr */;
688 long var9
/* : Int */;
689 long var10
/* : Int */;
694 var1
= nit___nit__Parser___pop(var_p
);
696 var_nodearraylist2
= var1
;
698 var2
= nit___nit__Parser___pop(var_p
);
700 var_nodearraylist1
= var2
;
701 var_tkwdonode2
= var_nodearraylist1
;
702 /* <var_tkwdonode2:nullable Object> isa nullable TKwdo */
703 cltype
= type_nullable__nit__TKwdo
.color
;
704 idtype
= type_nullable__nit__TKwdo
.id
;
705 if(var_tkwdonode2
== NULL
) {
708 if(cltype
>= var_tkwdonode2
->type
->table_size
) {
711 var3
= var_tkwdonode2
->type
->type_table
[cltype
] == idtype
;
714 if (unlikely(!var3
)) {
715 PRINT_ERROR("Runtime error: %s", "Assert failed");
716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7167);
719 var_pexprnode3
= var_nodearraylist2
;
720 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
721 cltype5
= type_nullable__nit__AExpr
.color
;
722 idtype6
= type_nullable__nit__AExpr
.id
;
723 if(var_pexprnode3
== NULL
) {
726 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
729 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
732 if (unlikely(!var4
)) {
733 PRINT_ERROR("Runtime error: %s", "Assert failed");
734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7169);
737 var7
= NEW_nit__ADoExpr(&type_nit__ADoExpr
);
740 nit__parser_prod___ADoExpr___init_adoexpr(var7
, var_tkwdonode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ADoExpr#init_adoexpr on <var7:ADoExpr>*/
742 var_pexprnode1
= var7
;
743 var_node_list
= var_pexprnode1
;
744 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction250> */
746 var10
= nit___nit__Parser___go_to(var_p
, var9
);
749 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
753 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
754 void nit__parser___nit__parser__ReduceAction251___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
755 val
* var_p
/* var p: Parser */;
756 val
* var
/* : null */;
757 val
* var_node_list
/* var node_list: nullable Object */;
758 val
* var1
/* : nullable Object */;
759 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
760 val
* var2
/* : nullable Object */;
761 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
762 val
* var3
/* : nullable Object */;
763 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
764 val
* var4
/* : nullable Object */;
765 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
766 val
* var5
/* : nullable Object */;
767 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
768 val
* var6
/* : nullable Object */;
769 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
770 val
* var7
/* : nullable Object */;
771 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
772 val
* var8
/* : nullable Object */;
773 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
774 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
775 short int var9
/* : Bool */;
778 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
779 short int var10
/* : Bool */;
782 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
783 short int var13
/* : Bool */;
786 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
787 short int var16
/* : Bool */;
790 val
* var19
/* : AIfExpr */;
791 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
792 long var20
/* : Int */;
793 long var21
/* : Int */;
798 var1
= nit___nit__Parser___pop(var_p
);
800 var_nodearraylist8
= var1
;
802 var2
= nit___nit__Parser___pop(var_p
);
804 var_nodearraylist7
= var2
;
806 var3
= nit___nit__Parser___pop(var_p
);
808 var_nodearraylist6
= var3
;
810 var4
= nit___nit__Parser___pop(var_p
);
812 var_nodearraylist5
= var4
;
814 var5
= nit___nit__Parser___pop(var_p
);
816 var_nodearraylist4
= var5
;
818 var6
= nit___nit__Parser___pop(var_p
);
820 var_nodearraylist3
= var6
;
822 var7
= nit___nit__Parser___pop(var_p
);
824 var_nodearraylist2
= var7
;
826 var8
= nit___nit__Parser___pop(var_p
);
828 var_nodearraylist1
= var8
;
829 var_tkwifnode2
= var_nodearraylist1
;
830 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
831 cltype
= type_nullable__nit__TKwif
.color
;
832 idtype
= type_nullable__nit__TKwif
.id
;
833 if(var_tkwifnode2
== NULL
) {
836 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
839 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
842 if (unlikely(!var9
)) {
843 PRINT_ERROR("Runtime error: %s", "Assert failed");
844 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7193);
847 var_pexprnode3
= var_nodearraylist3
;
848 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
849 cltype11
= type_nullable__nit__AExpr
.color
;
850 idtype12
= type_nullable__nit__AExpr
.id
;
851 if(var_pexprnode3
== NULL
) {
854 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
857 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
860 if (unlikely(!var10
)) {
861 PRINT_ERROR("Runtime error: %s", "Assert failed");
862 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7195);
865 var_pexprnode4
= var_nodearraylist6
;
866 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
867 cltype14
= type_nullable__nit__AExpr
.color
;
868 idtype15
= type_nullable__nit__AExpr
.id
;
869 if(var_pexprnode4
== NULL
) {
872 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
875 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
878 if (unlikely(!var13
)) {
879 PRINT_ERROR("Runtime error: %s", "Assert failed");
880 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7197);
883 var_pexprnode5
= var_nodearraylist8
;
884 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
885 cltype17
= type_nullable__nit__AExpr
.color
;
886 idtype18
= type_nullable__nit__AExpr
.id
;
887 if(var_pexprnode5
== NULL
) {
890 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
893 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
896 if (unlikely(!var16
)) {
897 PRINT_ERROR("Runtime error: %s", "Assert failed");
898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7199);
901 var19
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
903 nit__parser_prod___AIfExpr___init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
905 var_pexprnode1
= var19
;
906 var_node_list
= var_pexprnode1
;
907 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction251> */
909 var21
= nit___nit__Parser___go_to(var_p
, var20
);
912 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
916 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
917 void nit__parser___nit__parser__ReduceAction252___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
918 val
* var_p
/* var p: Parser */;
919 val
* var
/* : null */;
920 val
* var_node_list
/* var node_list: nullable Object */;
921 val
* var1
/* : nullable Object */;
922 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
923 val
* var2
/* : nullable Object */;
924 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
925 val
* var3
/* : nullable Object */;
926 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
927 val
* var4
/* : nullable Object */;
928 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
929 val
* var5
/* : nullable Object */;
930 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
931 val
* var6
/* : nullable Object */;
932 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
933 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
934 short int var7
/* : Bool */;
937 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
938 short int var8
/* : Bool */;
941 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
942 short int var11
/* : Bool */;
945 val
* var14
/* : AIfExpr */;
946 val
* var15
/* : null */;
947 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
948 long var16
/* : Int */;
949 long var17
/* : Int */;
954 var1
= nit___nit__Parser___pop(var_p
);
956 var_nodearraylist6
= var1
;
958 var2
= nit___nit__Parser___pop(var_p
);
960 var_nodearraylist5
= var2
;
962 var3
= nit___nit__Parser___pop(var_p
);
964 var_nodearraylist4
= var3
;
966 var4
= nit___nit__Parser___pop(var_p
);
968 var_nodearraylist3
= var4
;
970 var5
= nit___nit__Parser___pop(var_p
);
972 var_nodearraylist2
= var5
;
974 var6
= nit___nit__Parser___pop(var_p
);
976 var_nodearraylist1
= var6
;
977 var_tkwifnode2
= var_nodearraylist1
;
978 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
979 cltype
= type_nullable__nit__TKwif
.color
;
980 idtype
= type_nullable__nit__TKwif
.id
;
981 if(var_tkwifnode2
== NULL
) {
984 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
987 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
990 if (unlikely(!var7
)) {
991 PRINT_ERROR("Runtime error: %s", "Assert failed");
992 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7222);
995 var_pexprnode3
= var_nodearraylist3
;
996 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
997 cltype9
= type_nullable__nit__AExpr
.color
;
998 idtype10
= type_nullable__nit__AExpr
.id
;
999 if(var_pexprnode3
== NULL
) {
1002 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
1005 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
1008 if (unlikely(!var8
)) {
1009 PRINT_ERROR("Runtime error: %s", "Assert failed");
1010 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7224);
1013 var_pexprnode4
= var_nodearraylist6
;
1014 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1015 cltype12
= type_nullable__nit__AExpr
.color
;
1016 idtype13
= type_nullable__nit__AExpr
.id
;
1017 if(var_pexprnode4
== NULL
) {
1020 if(cltype12
>= var_pexprnode4
->type
->table_size
) {
1023 var11
= var_pexprnode4
->type
->type_table
[cltype12
] == idtype13
;
1026 if (unlikely(!var11
)) {
1027 PRINT_ERROR("Runtime error: %s", "Assert failed");
1028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7226);
1031 var14
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
1034 nit__parser_prod___AIfExpr___init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var15
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
1036 var_pexprnode1
= var14
;
1037 var_node_list
= var_pexprnode1
;
1038 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction252> */
1040 var17
= nit___nit__Parser___go_to(var_p
, var16
);
1043 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1047 /* method parser#ReduceAction253#action for (self: ReduceAction253, Parser) */
1048 void nit__parser___nit__parser__ReduceAction253___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1049 val
* var_p
/* var p: Parser */;
1050 val
* var
/* : null */;
1051 val
* var_node_list
/* var node_list: nullable Object */;
1052 val
* var1
/* : nullable Object */;
1053 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1054 val
* var2
/* : nullable Object */;
1055 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1056 val
* var3
/* : nullable Object */;
1057 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1058 val
* var4
/* : nullable Object */;
1059 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1060 val
* var5
/* : nullable Object */;
1061 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1062 val
* var6
/* : nullable Object */;
1063 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1064 val
* var7
/* : nullable Object */;
1065 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1066 val
* var8
/* : nullable Object */;
1067 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1068 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
1069 short int var9
/* : Bool */;
1072 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1073 short int var10
/* : Bool */;
1076 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1077 short int var13
/* : Bool */;
1080 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1081 short int var16
/* : Bool */;
1084 val
* var19
/* : AIfExpr */;
1085 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
1086 long var20
/* : Int */;
1087 long var21
/* : Int */;
1090 var_node_list
= var
;
1092 var1
= nit___nit__Parser___pop(var_p
);
1094 var_nodearraylist8
= var1
;
1096 var2
= nit___nit__Parser___pop(var_p
);
1098 var_nodearraylist7
= var2
;
1100 var3
= nit___nit__Parser___pop(var_p
);
1102 var_nodearraylist6
= var3
;
1104 var4
= nit___nit__Parser___pop(var_p
);
1106 var_nodearraylist5
= var4
;
1108 var5
= nit___nit__Parser___pop(var_p
);
1110 var_nodearraylist4
= var5
;
1112 var6
= nit___nit__Parser___pop(var_p
);
1114 var_nodearraylist3
= var6
;
1116 var7
= nit___nit__Parser___pop(var_p
);
1118 var_nodearraylist2
= var7
;
1120 var8
= nit___nit__Parser___pop(var_p
);
1122 var_nodearraylist1
= var8
;
1123 var_tkwifnode2
= var_nodearraylist1
;
1124 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
1125 cltype
= type_nullable__nit__TKwif
.color
;
1126 idtype
= type_nullable__nit__TKwif
.id
;
1127 if(var_tkwifnode2
== NULL
) {
1130 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
1133 var9
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
1136 if (unlikely(!var9
)) {
1137 PRINT_ERROR("Runtime error: %s", "Assert failed");
1138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7251);
1141 var_pexprnode3
= var_nodearraylist3
;
1142 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1143 cltype11
= type_nullable__nit__AExpr
.color
;
1144 idtype12
= type_nullable__nit__AExpr
.id
;
1145 if(var_pexprnode3
== NULL
) {
1148 if(cltype11
>= var_pexprnode3
->type
->table_size
) {
1151 var10
= var_pexprnode3
->type
->type_table
[cltype11
] == idtype12
;
1154 if (unlikely(!var10
)) {
1155 PRINT_ERROR("Runtime error: %s", "Assert failed");
1156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7253);
1159 var_pexprnode4
= var_nodearraylist7
;
1160 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1161 cltype14
= type_nullable__nit__AExpr
.color
;
1162 idtype15
= type_nullable__nit__AExpr
.id
;
1163 if(var_pexprnode4
== NULL
) {
1166 if(cltype14
>= var_pexprnode4
->type
->table_size
) {
1169 var13
= var_pexprnode4
->type
->type_table
[cltype14
] == idtype15
;
1172 if (unlikely(!var13
)) {
1173 PRINT_ERROR("Runtime error: %s", "Assert failed");
1174 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7255);
1177 var_pexprnode5
= var_nodearraylist8
;
1178 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1179 cltype17
= type_nullable__nit__AExpr
.color
;
1180 idtype18
= type_nullable__nit__AExpr
.id
;
1181 if(var_pexprnode5
== NULL
) {
1184 if(cltype17
>= var_pexprnode5
->type
->table_size
) {
1187 var16
= var_pexprnode5
->type
->type_table
[cltype17
] == idtype18
;
1190 if (unlikely(!var16
)) {
1191 PRINT_ERROR("Runtime error: %s", "Assert failed");
1192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7257);
1195 var19
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
1197 nit__parser_prod___AIfExpr___init_aifexpr(var19
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var19:AIfExpr>*/
1199 var_pexprnode1
= var19
;
1200 var_node_list
= var_pexprnode1
;
1201 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction253> */
1203 var21
= nit___nit__Parser___go_to(var_p
, var20
);
1206 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1210 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
1211 void nit__parser___nit__parser__ReduceAction254___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1212 val
* var_p
/* var p: Parser */;
1213 val
* var
/* : null */;
1214 val
* var_node_list
/* var node_list: nullable Object */;
1215 val
* var1
/* : nullable Object */;
1216 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1217 val
* var2
/* : nullable Object */;
1218 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1219 val
* var3
/* : nullable Object */;
1220 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1221 val
* var4
/* : nullable Object */;
1222 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1223 val
* var5
/* : nullable Object */;
1224 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1225 val
* var6
/* : nullable Object */;
1226 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1227 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
1228 short int var7
/* : Bool */;
1231 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1232 short int var8
/* : Bool */;
1235 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1236 short int var11
/* : Bool */;
1239 val
* var14
/* : AIfExpr */;
1240 val
* var15
/* : null */;
1241 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
1242 long var16
/* : Int */;
1243 long var17
/* : Int */;
1246 var_node_list
= var
;
1248 var1
= nit___nit__Parser___pop(var_p
);
1250 var_nodearraylist6
= var1
;
1252 var2
= nit___nit__Parser___pop(var_p
);
1254 var_nodearraylist5
= var2
;
1256 var3
= nit___nit__Parser___pop(var_p
);
1258 var_nodearraylist4
= var3
;
1260 var4
= nit___nit__Parser___pop(var_p
);
1262 var_nodearraylist3
= var4
;
1264 var5
= nit___nit__Parser___pop(var_p
);
1266 var_nodearraylist2
= var5
;
1268 var6
= nit___nit__Parser___pop(var_p
);
1270 var_nodearraylist1
= var6
;
1271 var_tkwifnode2
= var_nodearraylist1
;
1272 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
1273 cltype
= type_nullable__nit__TKwif
.color
;
1274 idtype
= type_nullable__nit__TKwif
.id
;
1275 if(var_tkwifnode2
== NULL
) {
1278 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
1281 var7
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
1284 if (unlikely(!var7
)) {
1285 PRINT_ERROR("Runtime error: %s", "Assert failed");
1286 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7280);
1289 var_pexprnode3
= var_nodearraylist3
;
1290 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1291 cltype9
= type_nullable__nit__AExpr
.color
;
1292 idtype10
= type_nullable__nit__AExpr
.id
;
1293 if(var_pexprnode3
== NULL
) {
1296 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
1299 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
1302 if (unlikely(!var8
)) {
1303 PRINT_ERROR("Runtime error: %s", "Assert failed");
1304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7282);
1307 var_pexprnode5
= var_nodearraylist6
;
1308 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1309 cltype12
= type_nullable__nit__AExpr
.color
;
1310 idtype13
= type_nullable__nit__AExpr
.id
;
1311 if(var_pexprnode5
== NULL
) {
1314 if(cltype12
>= var_pexprnode5
->type
->table_size
) {
1317 var11
= var_pexprnode5
->type
->type_table
[cltype12
] == idtype13
;
1320 if (unlikely(!var11
)) {
1321 PRINT_ERROR("Runtime error: %s", "Assert failed");
1322 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7284);
1325 var14
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
1328 nit__parser_prod___AIfExpr___init_aifexpr(var14
, var_tkwifnode2
, var_pexprnode3
, var15
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var14:AIfExpr>*/
1330 var_pexprnode1
= var14
;
1331 var_node_list
= var_pexprnode1
;
1332 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction254> */
1334 var17
= nit___nit__Parser___go_to(var_p
, var16
);
1337 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1341 /* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */
1342 void nit__parser___nit__parser__ReduceAction255___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1343 val
* var_p
/* var p: Parser */;
1344 val
* var
/* : null */;
1345 val
* var_node_list
/* var node_list: nullable Object */;
1346 val
* var1
/* : nullable Object */;
1347 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1348 val
* var2
/* : nullable Object */;
1349 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1350 val
* var3
/* : nullable Object */;
1351 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1352 val
* var4
/* : nullable Object */;
1353 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1354 val
* var5
/* : nullable Object */;
1355 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1356 val
* var6
/* : nullable Object */;
1357 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1358 val
* var7
/* : nullable Object */;
1359 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1360 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
1361 short int var8
/* : Bool */;
1364 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1365 short int var9
/* : Bool */;
1368 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1369 short int var12
/* : Bool */;
1372 val
* var15
/* : AIfExpr */;
1373 val
* var16
/* : null */;
1374 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
1375 long var17
/* : Int */;
1376 long var18
/* : Int */;
1379 var_node_list
= var
;
1381 var1
= nit___nit__Parser___pop(var_p
);
1383 var_nodearraylist7
= var1
;
1385 var2
= nit___nit__Parser___pop(var_p
);
1387 var_nodearraylist6
= var2
;
1389 var3
= nit___nit__Parser___pop(var_p
);
1391 var_nodearraylist5
= var3
;
1393 var4
= nit___nit__Parser___pop(var_p
);
1395 var_nodearraylist4
= var4
;
1397 var5
= nit___nit__Parser___pop(var_p
);
1399 var_nodearraylist3
= var5
;
1401 var6
= nit___nit__Parser___pop(var_p
);
1403 var_nodearraylist2
= var6
;
1405 var7
= nit___nit__Parser___pop(var_p
);
1407 var_nodearraylist1
= var7
;
1408 var_tkwifnode2
= var_nodearraylist1
;
1409 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
1410 cltype
= type_nullable__nit__TKwif
.color
;
1411 idtype
= type_nullable__nit__TKwif
.id
;
1412 if(var_tkwifnode2
== NULL
) {
1415 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
1418 var8
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
1421 if (unlikely(!var8
)) {
1422 PRINT_ERROR("Runtime error: %s", "Assert failed");
1423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7308);
1426 var_pexprnode3
= var_nodearraylist3
;
1427 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1428 cltype10
= type_nullable__nit__AExpr
.color
;
1429 idtype11
= type_nullable__nit__AExpr
.id
;
1430 if(var_pexprnode3
== NULL
) {
1433 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
1436 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
1439 if (unlikely(!var9
)) {
1440 PRINT_ERROR("Runtime error: %s", "Assert failed");
1441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7310);
1444 var_pexprnode5
= var_nodearraylist7
;
1445 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1446 cltype13
= type_nullable__nit__AExpr
.color
;
1447 idtype14
= type_nullable__nit__AExpr
.id
;
1448 if(var_pexprnode5
== NULL
) {
1451 if(cltype13
>= var_pexprnode5
->type
->table_size
) {
1454 var12
= var_pexprnode5
->type
->type_table
[cltype13
] == idtype14
;
1457 if (unlikely(!var12
)) {
1458 PRINT_ERROR("Runtime error: %s", "Assert failed");
1459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7312);
1462 var15
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
1465 nit__parser_prod___AIfExpr___init_aifexpr(var15
, var_tkwifnode2
, var_pexprnode3
, var16
, var_pexprnode5
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var15:AIfExpr>*/
1467 var_pexprnode1
= var15
;
1468 var_node_list
= var_pexprnode1
;
1469 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction255> */
1471 var18
= nit___nit__Parser___go_to(var_p
, var17
);
1474 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1478 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
1479 void nit__parser___nit__parser__ReduceAction258___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1480 val
* var_p
/* var p: Parser */;
1481 val
* var
/* : null */;
1482 val
* var_node_list
/* var node_list: nullable Object */;
1483 val
* var1
/* : nullable Object */;
1484 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1485 val
* var2
/* : nullable Object */;
1486 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1487 val
* var3
/* : nullable Object */;
1488 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1489 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
1490 short int var4
/* : Bool */;
1493 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1494 short int var5
/* : Bool */;
1497 val
* var_plabelnode4
/* var plabelnode4: nullable Object */;
1498 short int var8
/* : Bool */;
1501 val
* var11
/* : ALoopExpr */;
1502 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
1503 long var12
/* : Int */;
1504 long var13
/* : Int */;
1507 var_node_list
= var
;
1509 var1
= nit___nit__Parser___pop(var_p
);
1511 var_nodearraylist3
= var1
;
1513 var2
= nit___nit__Parser___pop(var_p
);
1515 var_nodearraylist2
= var2
;
1517 var3
= nit___nit__Parser___pop(var_p
);
1519 var_nodearraylist1
= var3
;
1520 var_tkwloopnode2
= var_nodearraylist1
;
1521 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
1522 cltype
= type_nullable__nit__TKwloop
.color
;
1523 idtype
= type_nullable__nit__TKwloop
.id
;
1524 if(var_tkwloopnode2
== NULL
) {
1527 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
1530 var4
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
1533 if (unlikely(!var4
)) {
1534 PRINT_ERROR("Runtime error: %s", "Assert failed");
1535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7332);
1538 var_pexprnode3
= var_nodearraylist2
;
1539 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1540 cltype6
= type_nullable__nit__AExpr
.color
;
1541 idtype7
= type_nullable__nit__AExpr
.id
;
1542 if(var_pexprnode3
== NULL
) {
1545 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
1548 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
1551 if (unlikely(!var5
)) {
1552 PRINT_ERROR("Runtime error: %s", "Assert failed");
1553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7334);
1556 var_plabelnode4
= var_nodearraylist3
;
1557 /* <var_plabelnode4:nullable Object> isa nullable ALabel */
1558 cltype9
= type_nullable__nit__ALabel
.color
;
1559 idtype10
= type_nullable__nit__ALabel
.id
;
1560 if(var_plabelnode4
== NULL
) {
1563 if(cltype9
>= var_plabelnode4
->type
->table_size
) {
1566 var8
= var_plabelnode4
->type
->type_table
[cltype9
] == idtype10
;
1569 if (unlikely(!var8
)) {
1570 PRINT_ERROR("Runtime error: %s", "Assert failed");
1571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7336);
1574 var11
= NEW_nit__ALoopExpr(&type_nit__ALoopExpr
);
1576 nit__parser_prod___ALoopExpr___init_aloopexpr(var11
, var_tkwloopnode2
, var_pexprnode3
, var_plabelnode4
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var11:ALoopExpr>*/
1578 var_pexprnode1
= var11
;
1579 var_node_list
= var_pexprnode1
;
1580 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction258> */
1582 var13
= nit___nit__Parser___go_to(var_p
, var12
);
1585 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1589 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
1590 void nit__parser___nit__parser__ReduceAction259___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1591 val
* var_p
/* var p: Parser */;
1592 val
* var
/* : null */;
1593 val
* var_node_list
/* var node_list: nullable Object */;
1594 val
* var1
/* : nullable Object */;
1595 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1596 val
* var2
/* : nullable Object */;
1597 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1598 val
* var_tkwloopnode2
/* var tkwloopnode2: nullable Object */;
1599 short int var3
/* : Bool */;
1602 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1603 short int var4
/* : Bool */;
1606 val
* var7
/* : ALoopExpr */;
1607 val
* var8
/* : null */;
1608 val
* var_pexprnode1
/* var pexprnode1: nullable ALoopExpr */;
1609 long var9
/* : Int */;
1610 long var10
/* : Int */;
1613 var_node_list
= var
;
1615 var1
= nit___nit__Parser___pop(var_p
);
1617 var_nodearraylist2
= var1
;
1619 var2
= nit___nit__Parser___pop(var_p
);
1621 var_nodearraylist1
= var2
;
1622 var_tkwloopnode2
= var_nodearraylist1
;
1623 /* <var_tkwloopnode2:nullable Object> isa nullable TKwloop */
1624 cltype
= type_nullable__nit__TKwloop
.color
;
1625 idtype
= type_nullable__nit__TKwloop
.id
;
1626 if(var_tkwloopnode2
== NULL
) {
1629 if(cltype
>= var_tkwloopnode2
->type
->table_size
) {
1632 var3
= var_tkwloopnode2
->type
->type_table
[cltype
] == idtype
;
1635 if (unlikely(!var3
)) {
1636 PRINT_ERROR("Runtime error: %s", "Assert failed");
1637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7354);
1640 var_pexprnode3
= var_nodearraylist2
;
1641 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1642 cltype5
= type_nullable__nit__AExpr
.color
;
1643 idtype6
= type_nullable__nit__AExpr
.id
;
1644 if(var_pexprnode3
== NULL
) {
1647 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
1650 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
1653 if (unlikely(!var4
)) {
1654 PRINT_ERROR("Runtime error: %s", "Assert failed");
1655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7356);
1658 var7
= NEW_nit__ALoopExpr(&type_nit__ALoopExpr
);
1661 nit__parser_prod___ALoopExpr___init_aloopexpr(var7
, var_tkwloopnode2
, var_pexprnode3
, var8
); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on <var7:ALoopExpr>*/
1663 var_pexprnode1
= var7
;
1664 var_node_list
= var_pexprnode1
;
1665 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction259> */
1667 var10
= nit___nit__Parser___go_to(var_p
, var9
);
1670 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1674 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
1675 void nit__parser___nit__parser__ReduceAction260___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1676 val
* var_p
/* var p: Parser */;
1677 val
* var
/* : null */;
1678 val
* var_node_list
/* var node_list: nullable Object */;
1679 val
* var1
/* : nullable Object */;
1680 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1681 val
* var2
/* : nullable Object */;
1682 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1683 val
* var3
/* : nullable Object */;
1684 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1685 val
* var4
/* : nullable Object */;
1686 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1687 val
* var5
/* : nullable Object */;
1688 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1689 val
* var6
/* : nullable Object */;
1690 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1691 val
* var7
/* : nullable Object */;
1692 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1693 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
1694 short int var8
/* : Bool */;
1697 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1698 short int var9
/* : Bool */;
1701 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
1702 short int var12
/* : Bool */;
1705 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1706 short int var15
/* : Bool */;
1709 val
* var_plabelnode6
/* var plabelnode6: nullable Object */;
1710 short int var18
/* : Bool */;
1713 val
* var21
/* : AWhileExpr */;
1714 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
1715 long var22
/* : Int */;
1716 long var23
/* : Int */;
1719 var_node_list
= var
;
1721 var1
= nit___nit__Parser___pop(var_p
);
1723 var_nodearraylist7
= var1
;
1725 var2
= nit___nit__Parser___pop(var_p
);
1727 var_nodearraylist6
= var2
;
1729 var3
= nit___nit__Parser___pop(var_p
);
1731 var_nodearraylist5
= var3
;
1733 var4
= nit___nit__Parser___pop(var_p
);
1735 var_nodearraylist4
= var4
;
1737 var5
= nit___nit__Parser___pop(var_p
);
1739 var_nodearraylist3
= var5
;
1741 var6
= nit___nit__Parser___pop(var_p
);
1743 var_nodearraylist2
= var6
;
1745 var7
= nit___nit__Parser___pop(var_p
);
1747 var_nodearraylist1
= var7
;
1748 var_tkwwhilenode2
= var_nodearraylist1
;
1749 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
1750 cltype
= type_nullable__nit__TKwwhile
.color
;
1751 idtype
= type_nullable__nit__TKwwhile
.id
;
1752 if(var_tkwwhilenode2
== NULL
) {
1755 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
1758 var8
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
1761 if (unlikely(!var8
)) {
1762 PRINT_ERROR("Runtime error: %s", "Assert failed");
1763 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7379);
1766 var_pexprnode3
= var_nodearraylist3
;
1767 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1768 cltype10
= type_nullable__nit__AExpr
.color
;
1769 idtype11
= type_nullable__nit__AExpr
.id
;
1770 if(var_pexprnode3
== NULL
) {
1773 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
1776 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
1779 if (unlikely(!var9
)) {
1780 PRINT_ERROR("Runtime error: %s", "Assert failed");
1781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7381);
1784 var_tkwdonode4
= var_nodearraylist5
;
1785 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
1786 cltype13
= type_nullable__nit__TKwdo
.color
;
1787 idtype14
= type_nullable__nit__TKwdo
.id
;
1788 if(var_tkwdonode4
== NULL
) {
1791 if(cltype13
>= var_tkwdonode4
->type
->table_size
) {
1794 var12
= var_tkwdonode4
->type
->type_table
[cltype13
] == idtype14
;
1797 if (unlikely(!var12
)) {
1798 PRINT_ERROR("Runtime error: %s", "Assert failed");
1799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7383);
1802 var_pexprnode5
= var_nodearraylist6
;
1803 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1804 cltype16
= type_nullable__nit__AExpr
.color
;
1805 idtype17
= type_nullable__nit__AExpr
.id
;
1806 if(var_pexprnode5
== NULL
) {
1809 if(cltype16
>= var_pexprnode5
->type
->table_size
) {
1812 var15
= var_pexprnode5
->type
->type_table
[cltype16
] == idtype17
;
1815 if (unlikely(!var15
)) {
1816 PRINT_ERROR("Runtime error: %s", "Assert failed");
1817 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7385);
1820 var_plabelnode6
= var_nodearraylist7
;
1821 /* <var_plabelnode6:nullable Object> isa nullable ALabel */
1822 cltype19
= type_nullable__nit__ALabel
.color
;
1823 idtype20
= type_nullable__nit__ALabel
.id
;
1824 if(var_plabelnode6
== NULL
) {
1827 if(cltype19
>= var_plabelnode6
->type
->table_size
) {
1830 var18
= var_plabelnode6
->type
->type_table
[cltype19
] == idtype20
;
1833 if (unlikely(!var18
)) {
1834 PRINT_ERROR("Runtime error: %s", "Assert failed");
1835 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7387);
1838 var21
= NEW_nit__AWhileExpr(&type_nit__AWhileExpr
);
1840 nit__parser_prod___AWhileExpr___init_awhileexpr(var21
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var_plabelnode6
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var21:AWhileExpr>*/
1842 var_pexprnode1
= var21
;
1843 var_node_list
= var_pexprnode1
;
1844 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction260> */
1846 var23
= nit___nit__Parser___go_to(var_p
, var22
);
1849 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1853 /* method parser#ReduceAction261#action for (self: ReduceAction261, Parser) */
1854 void nit__parser___nit__parser__ReduceAction261___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1855 val
* var_p
/* var p: Parser */;
1856 val
* var
/* : null */;
1857 val
* var_node_list
/* var node_list: nullable Object */;
1858 val
* var1
/* : nullable Object */;
1859 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1860 val
* var2
/* : nullable Object */;
1861 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1862 val
* var3
/* : nullable Object */;
1863 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1864 val
* var4
/* : nullable Object */;
1865 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1866 val
* var5
/* : nullable Object */;
1867 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1868 val
* var6
/* : nullable Object */;
1869 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1870 val
* var_tkwwhilenode2
/* var tkwwhilenode2: nullable Object */;
1871 short int var7
/* : Bool */;
1874 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1875 short int var8
/* : Bool */;
1878 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
1879 short int var11
/* : Bool */;
1882 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1883 short int var14
/* : Bool */;
1886 val
* var17
/* : AWhileExpr */;
1887 val
* var18
/* : null */;
1888 val
* var_pexprnode1
/* var pexprnode1: nullable AWhileExpr */;
1889 long var19
/* : Int */;
1890 long var20
/* : Int */;
1893 var_node_list
= var
;
1895 var1
= nit___nit__Parser___pop(var_p
);
1897 var_nodearraylist6
= var1
;
1899 var2
= nit___nit__Parser___pop(var_p
);
1901 var_nodearraylist5
= var2
;
1903 var3
= nit___nit__Parser___pop(var_p
);
1905 var_nodearraylist4
= var3
;
1907 var4
= nit___nit__Parser___pop(var_p
);
1909 var_nodearraylist3
= var4
;
1911 var5
= nit___nit__Parser___pop(var_p
);
1913 var_nodearraylist2
= var5
;
1915 var6
= nit___nit__Parser___pop(var_p
);
1917 var_nodearraylist1
= var6
;
1918 var_tkwwhilenode2
= var_nodearraylist1
;
1919 /* <var_tkwwhilenode2:nullable Object> isa nullable TKwwhile */
1920 cltype
= type_nullable__nit__TKwwhile
.color
;
1921 idtype
= type_nullable__nit__TKwwhile
.id
;
1922 if(var_tkwwhilenode2
== NULL
) {
1925 if(cltype
>= var_tkwwhilenode2
->type
->table_size
) {
1928 var7
= var_tkwwhilenode2
->type
->type_table
[cltype
] == idtype
;
1931 if (unlikely(!var7
)) {
1932 PRINT_ERROR("Runtime error: %s", "Assert failed");
1933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7411);
1936 var_pexprnode3
= var_nodearraylist3
;
1937 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1938 cltype9
= type_nullable__nit__AExpr
.color
;
1939 idtype10
= type_nullable__nit__AExpr
.id
;
1940 if(var_pexprnode3
== NULL
) {
1943 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
1946 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
1949 if (unlikely(!var8
)) {
1950 PRINT_ERROR("Runtime error: %s", "Assert failed");
1951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7413);
1954 var_tkwdonode4
= var_nodearraylist5
;
1955 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
1956 cltype12
= type_nullable__nit__TKwdo
.color
;
1957 idtype13
= type_nullable__nit__TKwdo
.id
;
1958 if(var_tkwdonode4
== NULL
) {
1961 if(cltype12
>= var_tkwdonode4
->type
->table_size
) {
1964 var11
= var_tkwdonode4
->type
->type_table
[cltype12
] == idtype13
;
1967 if (unlikely(!var11
)) {
1968 PRINT_ERROR("Runtime error: %s", "Assert failed");
1969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7415);
1972 var_pexprnode5
= var_nodearraylist6
;
1973 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1974 cltype15
= type_nullable__nit__AExpr
.color
;
1975 idtype16
= type_nullable__nit__AExpr
.id
;
1976 if(var_pexprnode5
== NULL
) {
1979 if(cltype15
>= var_pexprnode5
->type
->table_size
) {
1982 var14
= var_pexprnode5
->type
->type_table
[cltype15
] == idtype16
;
1985 if (unlikely(!var14
)) {
1986 PRINT_ERROR("Runtime error: %s", "Assert failed");
1987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7417);
1990 var17
= NEW_nit__AWhileExpr(&type_nit__AWhileExpr
);
1993 nit__parser_prod___AWhileExpr___init_awhileexpr(var17
, var_tkwwhilenode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var18
); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on <var17:AWhileExpr>*/
1995 var_pexprnode1
= var17
;
1996 var_node_list
= var_pexprnode1
;
1997 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction261> */
1999 var20
= nit___nit__Parser___go_to(var_p
, var19
);
2002 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2006 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
2007 void nit__parser___nit__parser__ReduceAction262___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2008 val
* var_p
/* var p: Parser */;
2009 val
* var
/* : null */;
2010 val
* var_node_list
/* var node_list: nullable Object */;
2011 val
* var1
/* : nullable Object */;
2012 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2013 val
* var2
/* : nullable Object */;
2014 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2015 val
* var3
/* : nullable Object */;
2016 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2017 val
* var4
/* : nullable Object */;
2018 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2019 val
* var5
/* : nullable Object */;
2020 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2021 val
* var6
/* : nullable Object */;
2022 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2023 val
* var7
/* : nullable Object */;
2024 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2025 val
* var8
/* : nullable Object */;
2026 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2027 val
* var9
/* : nullable Object */;
2028 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2029 val
* var10
/* : nullable Object */;
2030 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2031 val
* var11
/* : nullable Object */;
2032 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2033 val
* var12
/* : Array[Object] */;
2034 val
* var_listnode4
/* var listnode4: Array[Object] */;
2035 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
2036 short int var13
/* : Bool */;
2039 val
* var_listnode3
/* var listnode3: nullable Object */;
2040 short int var14
/* : Bool */;
2043 val
* var17
/* : Array[Object] */;
2044 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2045 short int var18
/* : Bool */;
2048 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
2049 short int var21
/* : Bool */;
2052 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2053 short int var24
/* : Bool */;
2056 val
* var_plabelnode8
/* var plabelnode8: nullable Object */;
2057 short int var27
/* : Bool */;
2060 val
* var30
/* : AForExpr */;
2061 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
2062 long var31
/* : Int */;
2063 long var32
/* : Int */;
2066 var_node_list
= var
;
2068 var1
= nit___nit__Parser___pop(var_p
);
2070 var_nodearraylist11
= var1
;
2072 var2
= nit___nit__Parser___pop(var_p
);
2074 var_nodearraylist10
= var2
;
2076 var3
= nit___nit__Parser___pop(var_p
);
2078 var_nodearraylist9
= var3
;
2080 var4
= nit___nit__Parser___pop(var_p
);
2082 var_nodearraylist8
= var4
;
2084 var5
= nit___nit__Parser___pop(var_p
);
2086 var_nodearraylist7
= var5
;
2088 var6
= nit___nit__Parser___pop(var_p
);
2090 var_nodearraylist6
= var6
;
2092 var7
= nit___nit__Parser___pop(var_p
);
2094 var_nodearraylist5
= var7
;
2096 var8
= nit___nit__Parser___pop(var_p
);
2098 var_nodearraylist4
= var8
;
2100 var9
= nit___nit__Parser___pop(var_p
);
2102 var_nodearraylist3
= var9
;
2104 var10
= nit___nit__Parser___pop(var_p
);
2106 var_nodearraylist2
= var10
;
2108 var11
= nit___nit__Parser___pop(var_p
);
2110 var_nodearraylist1
= var11
;
2111 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2113 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[Object]>*/
2115 var_listnode4
= var12
;
2116 var_tkwfornode2
= var_nodearraylist1
;
2117 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
2118 cltype
= type_nullable__nit__TKwfor
.color
;
2119 idtype
= type_nullable__nit__TKwfor
.id
;
2120 if(var_tkwfornode2
== NULL
) {
2123 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
2126 var13
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
2129 if (unlikely(!var13
)) {
2130 PRINT_ERROR("Runtime error: %s", "Assert failed");
2131 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7447);
2134 var_listnode3
= var_nodearraylist3
;
2135 /* <var_listnode3:nullable Object> isa Array[Object] */
2136 cltype15
= type_standard__Array__standard__Object
.color
;
2137 idtype16
= type_standard__Array__standard__Object
.id
;
2138 if(var_listnode3
== NULL
) {
2141 if(cltype15
>= var_listnode3
->type
->table_size
) {
2144 var14
= var_listnode3
->type
->type_table
[cltype15
] == idtype16
;
2147 if (unlikely(!var14
)) {
2148 PRINT_ERROR("Runtime error: %s", "Assert failed");
2149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7449);
2153 var17
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
2155 var_listnode4
= var17
;
2156 var_pexprnode5
= var_nodearraylist7
;
2157 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2158 cltype19
= type_nullable__nit__AExpr
.color
;
2159 idtype20
= type_nullable__nit__AExpr
.id
;
2160 if(var_pexprnode5
== NULL
) {
2163 if(cltype19
>= var_pexprnode5
->type
->table_size
) {
2166 var18
= var_pexprnode5
->type
->type_table
[cltype19
] == idtype20
;
2169 if (unlikely(!var18
)) {
2170 PRINT_ERROR("Runtime error: %s", "Assert failed");
2171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7452);
2174 var_tkwdonode6
= var_nodearraylist9
;
2175 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
2176 cltype22
= type_nullable__nit__TKwdo
.color
;
2177 idtype23
= type_nullable__nit__TKwdo
.id
;
2178 if(var_tkwdonode6
== NULL
) {
2181 if(cltype22
>= var_tkwdonode6
->type
->table_size
) {
2184 var21
= var_tkwdonode6
->type
->type_table
[cltype22
] == idtype23
;
2187 if (unlikely(!var21
)) {
2188 PRINT_ERROR("Runtime error: %s", "Assert failed");
2189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7454);
2192 var_pexprnode7
= var_nodearraylist10
;
2193 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
2194 cltype25
= type_nullable__nit__AExpr
.color
;
2195 idtype26
= type_nullable__nit__AExpr
.id
;
2196 if(var_pexprnode7
== NULL
) {
2199 if(cltype25
>= var_pexprnode7
->type
->table_size
) {
2202 var24
= var_pexprnode7
->type
->type_table
[cltype25
] == idtype26
;
2205 if (unlikely(!var24
)) {
2206 PRINT_ERROR("Runtime error: %s", "Assert failed");
2207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7456);
2210 var_plabelnode8
= var_nodearraylist11
;
2211 /* <var_plabelnode8:nullable Object> isa nullable ALabel */
2212 cltype28
= type_nullable__nit__ALabel
.color
;
2213 idtype29
= type_nullable__nit__ALabel
.id
;
2214 if(var_plabelnode8
== NULL
) {
2217 if(cltype28
>= var_plabelnode8
->type
->table_size
) {
2220 var27
= var_plabelnode8
->type
->type_table
[cltype28
] == idtype29
;
2223 if (unlikely(!var27
)) {
2224 PRINT_ERROR("Runtime error: %s", "Assert failed");
2225 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7458);
2228 var30
= NEW_nit__AForExpr(&type_nit__AForExpr
);
2230 nit__parser_prod___AForExpr___init_aforexpr(var30
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var_plabelnode8
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var30:AForExpr>*/
2232 var_pexprnode1
= var30
;
2233 var_node_list
= var_pexprnode1
;
2234 var31
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction262> */
2236 var32
= nit___nit__Parser___go_to(var_p
, var31
);
2239 nit___nit__Parser___push(var_p
, var32
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2243 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
2244 void nit__parser___nit__parser__ReduceAction263___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2245 val
* var_p
/* var p: Parser */;
2246 val
* var
/* : null */;
2247 val
* var_node_list
/* var node_list: nullable Object */;
2248 val
* var1
/* : nullable Object */;
2249 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2250 val
* var2
/* : nullable Object */;
2251 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2252 val
* var3
/* : nullable Object */;
2253 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2254 val
* var4
/* : nullable Object */;
2255 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2256 val
* var5
/* : nullable Object */;
2257 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2258 val
* var6
/* : nullable Object */;
2259 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2260 val
* var7
/* : nullable Object */;
2261 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2262 val
* var8
/* : nullable Object */;
2263 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2264 val
* var9
/* : nullable Object */;
2265 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2266 val
* var10
/* : nullable Object */;
2267 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2268 val
* var11
/* : Array[Object] */;
2269 val
* var_listnode4
/* var listnode4: Array[Object] */;
2270 val
* var_tkwfornode2
/* var tkwfornode2: nullable Object */;
2271 short int var12
/* : Bool */;
2274 val
* var_listnode3
/* var listnode3: nullable Object */;
2275 short int var13
/* : Bool */;
2278 val
* var16
/* : Array[Object] */;
2279 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2280 short int var17
/* : Bool */;
2283 val
* var_tkwdonode6
/* var tkwdonode6: nullable Object */;
2284 short int var20
/* : Bool */;
2287 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2288 short int var23
/* : Bool */;
2291 val
* var26
/* : AForExpr */;
2292 val
* var27
/* : null */;
2293 val
* var_pexprnode1
/* var pexprnode1: nullable AForExpr */;
2294 long var28
/* : Int */;
2295 long var29
/* : Int */;
2298 var_node_list
= var
;
2300 var1
= nit___nit__Parser___pop(var_p
);
2302 var_nodearraylist10
= var1
;
2304 var2
= nit___nit__Parser___pop(var_p
);
2306 var_nodearraylist9
= var2
;
2308 var3
= nit___nit__Parser___pop(var_p
);
2310 var_nodearraylist8
= var3
;
2312 var4
= nit___nit__Parser___pop(var_p
);
2314 var_nodearraylist7
= var4
;
2316 var5
= nit___nit__Parser___pop(var_p
);
2318 var_nodearraylist6
= var5
;
2320 var6
= nit___nit__Parser___pop(var_p
);
2322 var_nodearraylist5
= var6
;
2324 var7
= nit___nit__Parser___pop(var_p
);
2326 var_nodearraylist4
= var7
;
2328 var8
= nit___nit__Parser___pop(var_p
);
2330 var_nodearraylist3
= var8
;
2332 var9
= nit___nit__Parser___pop(var_p
);
2334 var_nodearraylist2
= var9
;
2336 var10
= nit___nit__Parser___pop(var_p
);
2338 var_nodearraylist1
= var10
;
2339 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2341 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
2343 var_listnode4
= var11
;
2344 var_tkwfornode2
= var_nodearraylist1
;
2345 /* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
2346 cltype
= type_nullable__nit__TKwfor
.color
;
2347 idtype
= type_nullable__nit__TKwfor
.id
;
2348 if(var_tkwfornode2
== NULL
) {
2351 if(cltype
>= var_tkwfornode2
->type
->table_size
) {
2354 var12
= var_tkwfornode2
->type
->type_table
[cltype
] == idtype
;
2357 if (unlikely(!var12
)) {
2358 PRINT_ERROR("Runtime error: %s", "Assert failed");
2359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7488);
2362 var_listnode3
= var_nodearraylist3
;
2363 /* <var_listnode3:nullable Object> isa Array[Object] */
2364 cltype14
= type_standard__Array__standard__Object
.color
;
2365 idtype15
= type_standard__Array__standard__Object
.id
;
2366 if(var_listnode3
== NULL
) {
2369 if(cltype14
>= var_listnode3
->type
->table_size
) {
2372 var13
= var_listnode3
->type
->type_table
[cltype14
] == idtype15
;
2375 if (unlikely(!var13
)) {
2376 PRINT_ERROR("Runtime error: %s", "Assert failed");
2377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7490);
2381 var16
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
2383 var_listnode4
= var16
;
2384 var_pexprnode5
= var_nodearraylist7
;
2385 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2386 cltype18
= type_nullable__nit__AExpr
.color
;
2387 idtype19
= type_nullable__nit__AExpr
.id
;
2388 if(var_pexprnode5
== NULL
) {
2391 if(cltype18
>= var_pexprnode5
->type
->table_size
) {
2394 var17
= var_pexprnode5
->type
->type_table
[cltype18
] == idtype19
;
2397 if (unlikely(!var17
)) {
2398 PRINT_ERROR("Runtime error: %s", "Assert failed");
2399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7493);
2402 var_tkwdonode6
= var_nodearraylist9
;
2403 /* <var_tkwdonode6:nullable Object> isa nullable TKwdo */
2404 cltype21
= type_nullable__nit__TKwdo
.color
;
2405 idtype22
= type_nullable__nit__TKwdo
.id
;
2406 if(var_tkwdonode6
== NULL
) {
2409 if(cltype21
>= var_tkwdonode6
->type
->table_size
) {
2412 var20
= var_tkwdonode6
->type
->type_table
[cltype21
] == idtype22
;
2415 if (unlikely(!var20
)) {
2416 PRINT_ERROR("Runtime error: %s", "Assert failed");
2417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7495);
2420 var_pexprnode7
= var_nodearraylist10
;
2421 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
2422 cltype24
= type_nullable__nit__AExpr
.color
;
2423 idtype25
= type_nullable__nit__AExpr
.id
;
2424 if(var_pexprnode7
== NULL
) {
2427 if(cltype24
>= var_pexprnode7
->type
->table_size
) {
2430 var23
= var_pexprnode7
->type
->type_table
[cltype24
] == idtype25
;
2433 if (unlikely(!var23
)) {
2434 PRINT_ERROR("Runtime error: %s", "Assert failed");
2435 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7497);
2438 var26
= NEW_nit__AForExpr(&type_nit__AForExpr
);
2441 nit__parser_prod___AForExpr___init_aforexpr(var26
, var_tkwfornode2
, var_listnode4
, var_pexprnode5
, var_tkwdonode6
, var_pexprnode7
, var27
); /* Direct call parser_prod#AForExpr#init_aforexpr on <var26:AForExpr>*/
2443 var_pexprnode1
= var26
;
2444 var_node_list
= var_pexprnode1
;
2445 var28
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction263> */
2447 var29
= nit___nit__Parser___go_to(var_p
, var28
);
2450 nit___nit__Parser___push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2454 /* method parser#ReduceAction264#action for (self: ReduceAction264, Parser) */
2455 void nit__parser___nit__parser__ReduceAction264___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2456 val
* var_p
/* var p: Parser */;
2457 val
* var
/* : null */;
2458 val
* var_node_list
/* var node_list: nullable Object */;
2459 val
* var1
/* : nullable Object */;
2460 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2461 val
* var2
/* : nullable Object */;
2462 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2463 val
* var3
/* : nullable Object */;
2464 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2465 val
* var4
/* : nullable Object */;
2466 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2467 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2468 short int var5
/* : Bool */;
2471 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2472 short int var6
/* : Bool */;
2475 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2476 short int var9
/* : Bool */;
2479 val
* var12
/* : AAssertExpr */;
2480 val
* var13
/* : null */;
2481 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2482 long var14
/* : Int */;
2483 long var15
/* : Int */;
2486 var_node_list
= var
;
2488 var1
= nit___nit__Parser___pop(var_p
);
2490 var_nodearraylist4
= var1
;
2492 var2
= nit___nit__Parser___pop(var_p
);
2494 var_nodearraylist3
= var2
;
2496 var3
= nit___nit__Parser___pop(var_p
);
2498 var_nodearraylist2
= var3
;
2500 var4
= nit___nit__Parser___pop(var_p
);
2502 var_nodearraylist1
= var4
;
2503 var_tkwassertnode2
= var_nodearraylist1
;
2504 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2505 cltype
= type_nullable__nit__TKwassert
.color
;
2506 idtype
= type_nullable__nit__TKwassert
.id
;
2507 if(var_tkwassertnode2
== NULL
) {
2510 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2513 var5
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2516 if (unlikely(!var5
)) {
2517 PRINT_ERROR("Runtime error: %s", "Assert failed");
2518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7520);
2521 var_pexprnode4
= var_nodearraylist2
;
2522 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2523 cltype7
= type_nullable__nit__AExpr
.color
;
2524 idtype8
= type_nullable__nit__AExpr
.id
;
2525 if(var_pexprnode4
== NULL
) {
2528 if(cltype7
>= var_pexprnode4
->type
->table_size
) {
2531 var6
= var_pexprnode4
->type
->type_table
[cltype7
] == idtype8
;
2534 if (unlikely(!var6
)) {
2535 PRINT_ERROR("Runtime error: %s", "Assert failed");
2536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7522);
2539 var_pexprnode5
= var_nodearraylist4
;
2540 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2541 cltype10
= type_nullable__nit__AExpr
.color
;
2542 idtype11
= type_nullable__nit__AExpr
.id
;
2543 if(var_pexprnode5
== NULL
) {
2546 if(cltype10
>= var_pexprnode5
->type
->table_size
) {
2549 var9
= var_pexprnode5
->type
->type_table
[cltype10
] == idtype11
;
2552 if (unlikely(!var9
)) {
2553 PRINT_ERROR("Runtime error: %s", "Assert failed");
2554 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7524);
2557 var12
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
2560 nit__parser_prod___AAssertExpr___init_aassertexpr(var12
, var_tkwassertnode2
, var13
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var12:AAssertExpr>*/
2562 var_pexprnode1
= var12
;
2563 var_node_list
= var_pexprnode1
;
2564 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction264> */
2566 var15
= nit___nit__Parser___go_to(var_p
, var14
);
2569 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2573 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
2574 void nit__parser___nit__parser__ReduceAction265___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2575 val
* var_p
/* var p: Parser */;
2576 val
* var
/* : null */;
2577 val
* var_node_list
/* var node_list: nullable Object */;
2578 val
* var1
/* : nullable Object */;
2579 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2580 val
* var2
/* : nullable Object */;
2581 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2582 val
* var3
/* : nullable Object */;
2583 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2584 val
* var4
/* : nullable Object */;
2585 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2586 val
* var5
/* : nullable Object */;
2587 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2588 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2589 short int var6
/* : Bool */;
2592 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2593 short int var7
/* : Bool */;
2596 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2597 short int var10
/* : Bool */;
2600 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2601 short int var13
/* : Bool */;
2604 val
* var16
/* : AAssertExpr */;
2605 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2606 long var17
/* : Int */;
2607 long var18
/* : Int */;
2610 var_node_list
= var
;
2612 var1
= nit___nit__Parser___pop(var_p
);
2614 var_nodearraylist5
= var1
;
2616 var2
= nit___nit__Parser___pop(var_p
);
2618 var_nodearraylist4
= var2
;
2620 var3
= nit___nit__Parser___pop(var_p
);
2622 var_nodearraylist3
= var3
;
2624 var4
= nit___nit__Parser___pop(var_p
);
2626 var_nodearraylist2
= var4
;
2628 var5
= nit___nit__Parser___pop(var_p
);
2630 var_nodearraylist1
= var5
;
2631 var_tkwassertnode2
= var_nodearraylist1
;
2632 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2633 cltype
= type_nullable__nit__TKwassert
.color
;
2634 idtype
= type_nullable__nit__TKwassert
.id
;
2635 if(var_tkwassertnode2
== NULL
) {
2638 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2641 var6
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2644 if (unlikely(!var6
)) {
2645 PRINT_ERROR("Runtime error: %s", "Assert failed");
2646 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7546);
2649 var_tidnode3
= var_nodearraylist2
;
2650 /* <var_tidnode3:nullable Object> isa nullable TId */
2651 cltype8
= type_nullable__nit__TId
.color
;
2652 idtype9
= type_nullable__nit__TId
.id
;
2653 if(var_tidnode3
== NULL
) {
2656 if(cltype8
>= var_tidnode3
->type
->table_size
) {
2659 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
2662 if (unlikely(!var7
)) {
2663 PRINT_ERROR("Runtime error: %s", "Assert failed");
2664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7548);
2667 var_pexprnode4
= var_nodearraylist3
;
2668 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2669 cltype11
= type_nullable__nit__AExpr
.color
;
2670 idtype12
= type_nullable__nit__AExpr
.id
;
2671 if(var_pexprnode4
== NULL
) {
2674 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
2677 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
2680 if (unlikely(!var10
)) {
2681 PRINT_ERROR("Runtime error: %s", "Assert failed");
2682 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7550);
2685 var_pexprnode5
= var_nodearraylist5
;
2686 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
2687 cltype14
= type_nullable__nit__AExpr
.color
;
2688 idtype15
= type_nullable__nit__AExpr
.id
;
2689 if(var_pexprnode5
== NULL
) {
2692 if(cltype14
>= var_pexprnode5
->type
->table_size
) {
2695 var13
= var_pexprnode5
->type
->type_table
[cltype14
] == idtype15
;
2698 if (unlikely(!var13
)) {
2699 PRINT_ERROR("Runtime error: %s", "Assert failed");
2700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7552);
2703 var16
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
2705 nit__parser_prod___AAssertExpr___init_aassertexpr(var16
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var_pexprnode5
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var16:AAssertExpr>*/
2707 var_pexprnode1
= var16
;
2708 var_node_list
= var_pexprnode1
;
2709 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction265> */
2711 var18
= nit___nit__Parser___go_to(var_p
, var17
);
2714 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2718 /* method parser#ReduceAction266#action for (self: ReduceAction266, Parser) */
2719 void nit__parser___nit__parser__ReduceAction266___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2720 val
* var_p
/* var p: Parser */;
2721 val
* var
/* : null */;
2722 val
* var_node_list
/* var node_list: nullable Object */;
2723 val
* var1
/* : nullable Object */;
2724 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2725 val
* var2
/* : nullable Object */;
2726 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2727 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2728 short int var3
/* : Bool */;
2731 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2732 short int var4
/* : Bool */;
2735 val
* var7
/* : AAssertExpr */;
2736 val
* var8
/* : null */;
2737 val
* var9
/* : null */;
2738 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2739 long var10
/* : Int */;
2740 long var11
/* : Int */;
2743 var_node_list
= var
;
2745 var1
= nit___nit__Parser___pop(var_p
);
2747 var_nodearraylist2
= var1
;
2749 var2
= nit___nit__Parser___pop(var_p
);
2751 var_nodearraylist1
= var2
;
2752 var_tkwassertnode2
= var_nodearraylist1
;
2753 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2754 cltype
= type_nullable__nit__TKwassert
.color
;
2755 idtype
= type_nullable__nit__TKwassert
.id
;
2756 if(var_tkwassertnode2
== NULL
) {
2759 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2762 var3
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2765 if (unlikely(!var3
)) {
2766 PRINT_ERROR("Runtime error: %s", "Assert failed");
2767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7571);
2770 var_pexprnode4
= var_nodearraylist2
;
2771 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2772 cltype5
= type_nullable__nit__AExpr
.color
;
2773 idtype6
= type_nullable__nit__AExpr
.id
;
2774 if(var_pexprnode4
== NULL
) {
2777 if(cltype5
>= var_pexprnode4
->type
->table_size
) {
2780 var4
= var_pexprnode4
->type
->type_table
[cltype5
] == idtype6
;
2783 if (unlikely(!var4
)) {
2784 PRINT_ERROR("Runtime error: %s", "Assert failed");
2785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7573);
2788 var7
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
2792 nit__parser_prod___AAssertExpr___init_aassertexpr(var7
, var_tkwassertnode2
, var8
, var_pexprnode4
, var9
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var7:AAssertExpr>*/
2794 var_pexprnode1
= var7
;
2795 var_node_list
= var_pexprnode1
;
2796 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction266> */
2798 var11
= nit___nit__Parser___go_to(var_p
, var10
);
2801 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2805 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
2806 void nit__parser___nit__parser__ReduceAction267___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2807 val
* var_p
/* var p: Parser */;
2808 val
* var
/* : null */;
2809 val
* var_node_list
/* var node_list: nullable Object */;
2810 val
* var1
/* : nullable Object */;
2811 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2812 val
* var2
/* : nullable Object */;
2813 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2814 val
* var3
/* : nullable Object */;
2815 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2816 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
2817 short int var4
/* : Bool */;
2820 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2821 short int var5
/* : Bool */;
2824 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2825 short int var8
/* : Bool */;
2828 val
* var11
/* : AAssertExpr */;
2829 val
* var12
/* : null */;
2830 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
2831 long var13
/* : Int */;
2832 long var14
/* : Int */;
2835 var_node_list
= var
;
2837 var1
= nit___nit__Parser___pop(var_p
);
2839 var_nodearraylist3
= var1
;
2841 var2
= nit___nit__Parser___pop(var_p
);
2843 var_nodearraylist2
= var2
;
2845 var3
= nit___nit__Parser___pop(var_p
);
2847 var_nodearraylist1
= var3
;
2848 var_tkwassertnode2
= var_nodearraylist1
;
2849 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
2850 cltype
= type_nullable__nit__TKwassert
.color
;
2851 idtype
= type_nullable__nit__TKwassert
.id
;
2852 if(var_tkwassertnode2
== NULL
) {
2855 if(cltype
>= var_tkwassertnode2
->type
->table_size
) {
2858 var4
= var_tkwassertnode2
->type
->type_table
[cltype
] == idtype
;
2861 if (unlikely(!var4
)) {
2862 PRINT_ERROR("Runtime error: %s", "Assert failed");
2863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7593);
2866 var_tidnode3
= var_nodearraylist2
;
2867 /* <var_tidnode3:nullable Object> isa nullable TId */
2868 cltype6
= type_nullable__nit__TId
.color
;
2869 idtype7
= type_nullable__nit__TId
.id
;
2870 if(var_tidnode3
== NULL
) {
2873 if(cltype6
>= var_tidnode3
->type
->table_size
) {
2876 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
2879 if (unlikely(!var5
)) {
2880 PRINT_ERROR("Runtime error: %s", "Assert failed");
2881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7595);
2884 var_pexprnode4
= var_nodearraylist3
;
2885 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2886 cltype9
= type_nullable__nit__AExpr
.color
;
2887 idtype10
= type_nullable__nit__AExpr
.id
;
2888 if(var_pexprnode4
== NULL
) {
2891 if(cltype9
>= var_pexprnode4
->type
->table_size
) {
2894 var8
= var_pexprnode4
->type
->type_table
[cltype9
] == idtype10
;
2897 if (unlikely(!var8
)) {
2898 PRINT_ERROR("Runtime error: %s", "Assert failed");
2899 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7597);
2902 var11
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
2905 nit__parser_prod___AAssertExpr___init_aassertexpr(var11
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var12
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var11:AAssertExpr>*/
2907 var_pexprnode1
= var11
;
2908 var_node_list
= var_pexprnode1
;
2909 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction267> */
2911 var14
= nit___nit__Parser___go_to(var_p
, var13
);
2914 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2918 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
2919 void nit__parser___nit__parser__ReduceAction268___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2920 val
* var_p
/* var p: Parser */;
2921 val
* var
/* : null */;
2922 val
* var_node_list
/* var node_list: nullable Object */;
2923 val
* var1
/* : nullable Object */;
2924 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2925 val
* var2
/* : nullable Object */;
2926 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2927 val
* var_tidnode1
/* var tidnode1: nullable Object */;
2928 long var3
/* : Int */;
2929 long var4
/* : Int */;
2932 var_node_list
= var
;
2934 var1
= nit___nit__Parser___pop(var_p
);
2936 var_nodearraylist2
= var1
;
2938 var2
= nit___nit__Parser___pop(var_p
);
2940 var_nodearraylist1
= var2
;
2941 var_tidnode1
= var_nodearraylist1
;
2942 var_node_list
= var_tidnode1
;
2943 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction268> */
2945 var4
= nit___nit__Parser___go_to(var_p
, var3
);
2948 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2952 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
2953 void nit__parser___nit__parser__ReduceAction270___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2954 val
* var_p
/* var p: Parser */;
2955 val
* var
/* : null */;
2956 val
* var_node_list
/* var node_list: nullable Object */;
2957 val
* var1
/* : nullable Object */;
2958 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2959 val
* var2
/* : nullable Object */;
2960 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2961 val
* var3
/* : nullable Object */;
2962 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2963 val
* var4
/* : nullable Object */;
2964 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2965 val
* var5
/* : nullable Object */;
2966 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2967 val
* var6
/* : nullable Object */;
2968 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2969 val
* var7
/* : nullable Object */;
2970 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2971 val
* var8
/* : nullable Object */;
2972 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2973 val
* var9
/* : nullable Object */;
2974 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2975 val
* var10
/* : nullable Object */;
2976 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2977 val
* var11
/* : nullable Object */;
2978 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2979 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
2980 short int var12
/* : Bool */;
2983 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2984 short int var13
/* : Bool */;
2987 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
2988 short int var16
/* : Bool */;
2991 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
2992 short int var19
/* : Bool */;
2995 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
2996 short int var22
/* : Bool */;
2999 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
3000 short int var25
/* : Bool */;
3003 val
* var28
/* : AIfexprExpr */;
3004 val
* var_pexprnode1
/* var pexprnode1: nullable AIfexprExpr */;
3005 long var29
/* : Int */;
3006 long var30
/* : Int */;
3009 var_node_list
= var
;
3011 var1
= nit___nit__Parser___pop(var_p
);
3013 var_nodearraylist11
= var1
;
3015 var2
= nit___nit__Parser___pop(var_p
);
3017 var_nodearraylist10
= var2
;
3019 var3
= nit___nit__Parser___pop(var_p
);
3021 var_nodearraylist9
= var3
;
3023 var4
= nit___nit__Parser___pop(var_p
);
3025 var_nodearraylist8
= var4
;
3027 var5
= nit___nit__Parser___pop(var_p
);
3029 var_nodearraylist7
= var5
;
3031 var6
= nit___nit__Parser___pop(var_p
);
3033 var_nodearraylist6
= var6
;
3035 var7
= nit___nit__Parser___pop(var_p
);
3037 var_nodearraylist5
= var7
;
3039 var8
= nit___nit__Parser___pop(var_p
);
3041 var_nodearraylist4
= var8
;
3043 var9
= nit___nit__Parser___pop(var_p
);
3045 var_nodearraylist3
= var9
;
3047 var10
= nit___nit__Parser___pop(var_p
);
3049 var_nodearraylist2
= var10
;
3051 var11
= nit___nit__Parser___pop(var_p
);
3053 var_nodearraylist1
= var11
;
3054 var_tkwifnode2
= var_nodearraylist1
;
3055 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
3056 cltype
= type_nullable__nit__TKwif
.color
;
3057 idtype
= type_nullable__nit__TKwif
.id
;
3058 if(var_tkwifnode2
== NULL
) {
3061 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
3064 var12
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
3067 if (unlikely(!var12
)) {
3068 PRINT_ERROR("Runtime error: %s", "Assert failed");
3069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7637);
3072 var_pexprnode3
= var_nodearraylist3
;
3073 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3074 cltype14
= type_nullable__nit__AExpr
.color
;
3075 idtype15
= type_nullable__nit__AExpr
.id
;
3076 if(var_pexprnode3
== NULL
) {
3079 if(cltype14
>= var_pexprnode3
->type
->table_size
) {
3082 var13
= var_pexprnode3
->type
->type_table
[cltype14
] == idtype15
;
3085 if (unlikely(!var13
)) {
3086 PRINT_ERROR("Runtime error: %s", "Assert failed");
3087 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7639);
3090 var_tkwthennode4
= var_nodearraylist5
;
3091 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
3092 cltype17
= type_nullable__nit__TKwthen
.color
;
3093 idtype18
= type_nullable__nit__TKwthen
.id
;
3094 if(var_tkwthennode4
== NULL
) {
3097 if(cltype17
>= var_tkwthennode4
->type
->table_size
) {
3100 var16
= var_tkwthennode4
->type
->type_table
[cltype17
] == idtype18
;
3103 if (unlikely(!var16
)) {
3104 PRINT_ERROR("Runtime error: %s", "Assert failed");
3105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7641);
3108 var_pexprnode5
= var_nodearraylist7
;
3109 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
3110 cltype20
= type_nullable__nit__AExpr
.color
;
3111 idtype21
= type_nullable__nit__AExpr
.id
;
3112 if(var_pexprnode5
== NULL
) {
3115 if(cltype20
>= var_pexprnode5
->type
->table_size
) {
3118 var19
= var_pexprnode5
->type
->type_table
[cltype20
] == idtype21
;
3121 if (unlikely(!var19
)) {
3122 PRINT_ERROR("Runtime error: %s", "Assert failed");
3123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7643);
3126 var_tkwelsenode6
= var_nodearraylist9
;
3127 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
3128 cltype23
= type_nullable__nit__TKwelse
.color
;
3129 idtype24
= type_nullable__nit__TKwelse
.id
;
3130 if(var_tkwelsenode6
== NULL
) {
3133 if(cltype23
>= var_tkwelsenode6
->type
->table_size
) {
3136 var22
= var_tkwelsenode6
->type
->type_table
[cltype23
] == idtype24
;
3139 if (unlikely(!var22
)) {
3140 PRINT_ERROR("Runtime error: %s", "Assert failed");
3141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7645);
3144 var_pexprnode7
= var_nodearraylist11
;
3145 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
3146 cltype26
= type_nullable__nit__AExpr
.color
;
3147 idtype27
= type_nullable__nit__AExpr
.id
;
3148 if(var_pexprnode7
== NULL
) {
3151 if(cltype26
>= var_pexprnode7
->type
->table_size
) {
3154 var25
= var_pexprnode7
->type
->type_table
[cltype26
] == idtype27
;
3157 if (unlikely(!var25
)) {
3158 PRINT_ERROR("Runtime error: %s", "Assert failed");
3159 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7647);
3162 var28
= NEW_nit__AIfexprExpr(&type_nit__AIfexprExpr
);
3164 nit__parser_prod___AIfexprExpr___init_aifexprexpr(var28
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on <var28:AIfexprExpr>*/
3166 var_pexprnode1
= var28
;
3167 var_node_list
= var_pexprnode1
;
3168 var29
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction270> */
3170 var30
= nit___nit__Parser___go_to(var_p
, var29
);
3173 nit___nit__Parser___push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3177 /* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */
3178 void nit__parser___nit__parser__ReduceAction272___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3179 val
* var_p
/* var p: Parser */;
3180 val
* var
/* : null */;
3181 val
* var_node_list
/* var node_list: nullable Object */;
3182 val
* var1
/* : nullable Object */;
3183 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3184 val
* var2
/* : nullable Object */;
3185 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3186 val
* var3
/* : nullable Object */;
3187 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3188 val
* var4
/* : nullable Object */;
3189 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3190 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3191 short int var5
/* : Bool */;
3194 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3195 short int var6
/* : Bool */;
3198 val
* var9
/* : AOrExpr */;
3199 val
* var_pexprnode1
/* var pexprnode1: nullable AOrExpr */;
3200 long var10
/* : Int */;
3201 long var11
/* : Int */;
3204 var_node_list
= var
;
3206 var1
= nit___nit__Parser___pop(var_p
);
3208 var_nodearraylist4
= var1
;
3210 var2
= nit___nit__Parser___pop(var_p
);
3212 var_nodearraylist3
= var2
;
3214 var3
= nit___nit__Parser___pop(var_p
);
3216 var_nodearraylist2
= var3
;
3218 var4
= nit___nit__Parser___pop(var_p
);
3220 var_nodearraylist1
= var4
;
3221 var_pexprnode2
= var_nodearraylist1
;
3222 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3223 cltype
= type_nullable__nit__AExpr
.color
;
3224 idtype
= type_nullable__nit__AExpr
.id
;
3225 if(var_pexprnode2
== NULL
) {
3228 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3231 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3234 if (unlikely(!var5
)) {
3235 PRINT_ERROR("Runtime error: %s", "Assert failed");
3236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7670);
3239 var_pexprnode3
= var_nodearraylist4
;
3240 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3241 cltype7
= type_nullable__nit__AExpr
.color
;
3242 idtype8
= type_nullable__nit__AExpr
.id
;
3243 if(var_pexprnode3
== NULL
) {
3246 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3249 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3252 if (unlikely(!var6
)) {
3253 PRINT_ERROR("Runtime error: %s", "Assert failed");
3254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7672);
3257 var9
= NEW_nit__AOrExpr(&type_nit__AOrExpr
);
3259 nit__parser_prod___AOrExpr___init_aorexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrExpr#init_aorexpr on <var9:AOrExpr>*/
3261 var_pexprnode1
= var9
;
3262 var_node_list
= var_pexprnode1
;
3263 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction272> */
3265 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3268 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3272 /* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
3273 void nit__parser___nit__parser__ReduceAction273___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3274 val
* var_p
/* var p: Parser */;
3275 val
* var
/* : null */;
3276 val
* var_node_list
/* var node_list: nullable Object */;
3277 val
* var1
/* : nullable Object */;
3278 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3279 val
* var2
/* : nullable Object */;
3280 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3281 val
* var3
/* : nullable Object */;
3282 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3283 val
* var4
/* : nullable Object */;
3284 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3285 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3286 short int var5
/* : Bool */;
3289 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3290 short int var6
/* : Bool */;
3293 val
* var9
/* : AAndExpr */;
3294 val
* var_pexprnode1
/* var pexprnode1: nullable AAndExpr */;
3295 long var10
/* : Int */;
3296 long var11
/* : Int */;
3299 var_node_list
= var
;
3301 var1
= nit___nit__Parser___pop(var_p
);
3303 var_nodearraylist4
= var1
;
3305 var2
= nit___nit__Parser___pop(var_p
);
3307 var_nodearraylist3
= var2
;
3309 var3
= nit___nit__Parser___pop(var_p
);
3311 var_nodearraylist2
= var3
;
3313 var4
= nit___nit__Parser___pop(var_p
);
3315 var_nodearraylist1
= var4
;
3316 var_pexprnode2
= var_nodearraylist1
;
3317 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3318 cltype
= type_nullable__nit__AExpr
.color
;
3319 idtype
= type_nullable__nit__AExpr
.id
;
3320 if(var_pexprnode2
== NULL
) {
3323 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3326 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3329 if (unlikely(!var5
)) {
3330 PRINT_ERROR("Runtime error: %s", "Assert failed");
3331 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7691);
3334 var_pexprnode3
= var_nodearraylist4
;
3335 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3336 cltype7
= type_nullable__nit__AExpr
.color
;
3337 idtype8
= type_nullable__nit__AExpr
.id
;
3338 if(var_pexprnode3
== NULL
) {
3341 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3344 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3347 if (unlikely(!var6
)) {
3348 PRINT_ERROR("Runtime error: %s", "Assert failed");
3349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7693);
3352 var9
= NEW_nit__AAndExpr(&type_nit__AAndExpr
);
3354 nit__parser_prod___AAndExpr___init_aandexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AAndExpr#init_aandexpr on <var9:AAndExpr>*/
3356 var_pexprnode1
= var9
;
3357 var_node_list
= var_pexprnode1
;
3358 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction273> */
3360 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3363 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3367 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
3368 void nit__parser___nit__parser__ReduceAction274___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3369 val
* var_p
/* var p: Parser */;
3370 val
* var
/* : null */;
3371 val
* var_node_list
/* var node_list: nullable Object */;
3372 val
* var1
/* : nullable Object */;
3373 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3374 val
* var2
/* : nullable Object */;
3375 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3376 val
* var3
/* : nullable Object */;
3377 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3378 val
* var4
/* : nullable Object */;
3379 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3380 val
* var5
/* : nullable Object */;
3381 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3382 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3383 short int var6
/* : Bool */;
3386 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3387 short int var7
/* : Bool */;
3390 val
* var10
/* : AOrElseExpr */;
3391 val
* var_pexprnode1
/* var pexprnode1: nullable AOrElseExpr */;
3392 long var11
/* : Int */;
3393 long var12
/* : Int */;
3396 var_node_list
= var
;
3398 var1
= nit___nit__Parser___pop(var_p
);
3400 var_nodearraylist5
= var1
;
3402 var2
= nit___nit__Parser___pop(var_p
);
3404 var_nodearraylist4
= var2
;
3406 var3
= nit___nit__Parser___pop(var_p
);
3408 var_nodearraylist3
= var3
;
3410 var4
= nit___nit__Parser___pop(var_p
);
3412 var_nodearraylist2
= var4
;
3414 var5
= nit___nit__Parser___pop(var_p
);
3416 var_nodearraylist1
= var5
;
3417 var_pexprnode2
= var_nodearraylist1
;
3418 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3419 cltype
= type_nullable__nit__AExpr
.color
;
3420 idtype
= type_nullable__nit__AExpr
.id
;
3421 if(var_pexprnode2
== NULL
) {
3424 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3427 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3430 if (unlikely(!var6
)) {
3431 PRINT_ERROR("Runtime error: %s", "Assert failed");
3432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7713);
3435 var_pexprnode3
= var_nodearraylist5
;
3436 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3437 cltype8
= type_nullable__nit__AExpr
.color
;
3438 idtype9
= type_nullable__nit__AExpr
.id
;
3439 if(var_pexprnode3
== NULL
) {
3442 if(cltype8
>= var_pexprnode3
->type
->table_size
) {
3445 var7
= var_pexprnode3
->type
->type_table
[cltype8
] == idtype9
;
3448 if (unlikely(!var7
)) {
3449 PRINT_ERROR("Runtime error: %s", "Assert failed");
3450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7715);
3453 var10
= NEW_nit__AOrElseExpr(&type_nit__AOrElseExpr
);
3455 nit__parser_prod___AOrElseExpr___init_aorelseexpr(var10
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <var10:AOrElseExpr>*/
3457 var_pexprnode1
= var10
;
3458 var_node_list
= var_pexprnode1
;
3459 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction274> */
3461 var12
= nit___nit__Parser___go_to(var_p
, var11
);
3464 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3468 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
3469 void nit__parser___nit__parser__ReduceAction275___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3470 val
* var_p
/* var p: Parser */;
3471 val
* var
/* : null */;
3472 val
* var_node_list
/* var node_list: nullable Object */;
3473 val
* var1
/* : nullable Object */;
3474 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3475 val
* var2
/* : nullable Object */;
3476 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3477 val
* var3
/* : nullable Object */;
3478 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3479 val
* var4
/* : nullable Object */;
3480 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3481 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3482 short int var5
/* : Bool */;
3485 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3486 short int var6
/* : Bool */;
3489 val
* var9
/* : AImpliesExpr */;
3490 val
* var_pexprnode1
/* var pexprnode1: nullable AImpliesExpr */;
3491 long var10
/* : Int */;
3492 long var11
/* : Int */;
3495 var_node_list
= var
;
3497 var1
= nit___nit__Parser___pop(var_p
);
3499 var_nodearraylist4
= var1
;
3501 var2
= nit___nit__Parser___pop(var_p
);
3503 var_nodearraylist3
= var2
;
3505 var3
= nit___nit__Parser___pop(var_p
);
3507 var_nodearraylist2
= var3
;
3509 var4
= nit___nit__Parser___pop(var_p
);
3511 var_nodearraylist1
= var4
;
3512 var_pexprnode2
= var_nodearraylist1
;
3513 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3514 cltype
= type_nullable__nit__AExpr
.color
;
3515 idtype
= type_nullable__nit__AExpr
.id
;
3516 if(var_pexprnode2
== NULL
) {
3519 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3522 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3525 if (unlikely(!var5
)) {
3526 PRINT_ERROR("Runtime error: %s", "Assert failed");
3527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7734);
3530 var_pexprnode3
= var_nodearraylist4
;
3531 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3532 cltype7
= type_nullable__nit__AExpr
.color
;
3533 idtype8
= type_nullable__nit__AExpr
.id
;
3534 if(var_pexprnode3
== NULL
) {
3537 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3540 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3543 if (unlikely(!var6
)) {
3544 PRINT_ERROR("Runtime error: %s", "Assert failed");
3545 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7736);
3548 var9
= NEW_nit__AImpliesExpr(&type_nit__AImpliesExpr
);
3550 nit__parser_prod___AImpliesExpr___init_aimpliesexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <var9:AImpliesExpr>*/
3552 var_pexprnode1
= var9
;
3553 var_node_list
= var_pexprnode1
;
3554 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction275> */
3556 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3559 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3563 /* method parser#ReduceAction277#action for (self: ReduceAction277, Parser) */
3564 void nit__parser___nit__parser__ReduceAction277___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3565 val
* var_p
/* var p: Parser */;
3566 val
* var
/* : null */;
3567 val
* var_node_list
/* var node_list: nullable Object */;
3568 val
* var1
/* : nullable Object */;
3569 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3570 val
* var2
/* : nullable Object */;
3571 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3572 val
* var3
/* : nullable Object */;
3573 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3574 val
* var_tkwnotnode2
/* var tkwnotnode2: nullable Object */;
3575 short int var4
/* : Bool */;
3578 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3579 short int var5
/* : Bool */;
3582 val
* var8
/* : ANotExpr */;
3583 val
* var_pexprnode1
/* var pexprnode1: nullable ANotExpr */;
3584 long var9
/* : Int */;
3585 long var10
/* : Int */;
3588 var_node_list
= var
;
3590 var1
= nit___nit__Parser___pop(var_p
);
3592 var_nodearraylist3
= var1
;
3594 var2
= nit___nit__Parser___pop(var_p
);
3596 var_nodearraylist2
= var2
;
3598 var3
= nit___nit__Parser___pop(var_p
);
3600 var_nodearraylist1
= var3
;
3601 var_tkwnotnode2
= var_nodearraylist1
;
3602 /* <var_tkwnotnode2:nullable Object> isa nullable TKwnot */
3603 cltype
= type_nullable__nit__TKwnot
.color
;
3604 idtype
= type_nullable__nit__TKwnot
.id
;
3605 if(var_tkwnotnode2
== NULL
) {
3608 if(cltype
>= var_tkwnotnode2
->type
->table_size
) {
3611 var4
= var_tkwnotnode2
->type
->type_table
[cltype
] == idtype
;
3614 if (unlikely(!var4
)) {
3615 PRINT_ERROR("Runtime error: %s", "Assert failed");
3616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7754);
3619 var_pexprnode3
= var_nodearraylist3
;
3620 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3621 cltype6
= type_nullable__nit__AExpr
.color
;
3622 idtype7
= type_nullable__nit__AExpr
.id
;
3623 if(var_pexprnode3
== NULL
) {
3626 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
3629 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
3632 if (unlikely(!var5
)) {
3633 PRINT_ERROR("Runtime error: %s", "Assert failed");
3634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7756);
3637 var8
= NEW_nit__ANotExpr(&type_nit__ANotExpr
);
3639 nit__parser_prod___ANotExpr___init_anotexpr(var8
, var_tkwnotnode2
, var_pexprnode3
); /* Direct call parser_prod#ANotExpr#init_anotexpr on <var8:ANotExpr>*/
3641 var_pexprnode1
= var8
;
3642 var_node_list
= var_pexprnode1
;
3643 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction277> */
3645 var10
= nit___nit__Parser___go_to(var_p
, var9
);
3648 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3652 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
3653 void nit__parser___nit__parser__ReduceAction279___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3654 val
* var_p
/* var p: Parser */;
3655 val
* var
/* : null */;
3656 val
* var_node_list
/* var node_list: nullable Object */;
3657 val
* var1
/* : nullable Object */;
3658 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3659 val
* var2
/* : nullable Object */;
3660 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3661 val
* var3
/* : nullable Object */;
3662 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3663 val
* var4
/* : nullable Object */;
3664 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3665 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3666 short int var5
/* : Bool */;
3669 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3670 short int var6
/* : Bool */;
3673 val
* var9
/* : AEqExpr */;
3674 val
* var_pexprnode1
/* var pexprnode1: nullable AEqExpr */;
3675 long var10
/* : Int */;
3676 long var11
/* : Int */;
3679 var_node_list
= var
;
3681 var1
= nit___nit__Parser___pop(var_p
);
3683 var_nodearraylist4
= var1
;
3685 var2
= nit___nit__Parser___pop(var_p
);
3687 var_nodearraylist3
= var2
;
3689 var3
= nit___nit__Parser___pop(var_p
);
3691 var_nodearraylist2
= var3
;
3693 var4
= nit___nit__Parser___pop(var_p
);
3695 var_nodearraylist1
= var4
;
3696 var_pexprnode2
= var_nodearraylist1
;
3697 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3698 cltype
= type_nullable__nit__AExpr
.color
;
3699 idtype
= type_nullable__nit__AExpr
.id
;
3700 if(var_pexprnode2
== NULL
) {
3703 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3706 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3709 if (unlikely(!var5
)) {
3710 PRINT_ERROR("Runtime error: %s", "Assert failed");
3711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7775);
3714 var_pexprnode3
= var_nodearraylist4
;
3715 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3716 cltype7
= type_nullable__nit__AExpr
.color
;
3717 idtype8
= type_nullable__nit__AExpr
.id
;
3718 if(var_pexprnode3
== NULL
) {
3721 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3724 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3727 if (unlikely(!var6
)) {
3728 PRINT_ERROR("Runtime error: %s", "Assert failed");
3729 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7777);
3732 var9
= NEW_nit__AEqExpr(&type_nit__AEqExpr
);
3734 nit__parser_prod___AEqExpr___init_aeqexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <var9:AEqExpr>*/
3736 var_pexprnode1
= var9
;
3737 var_node_list
= var_pexprnode1
;
3738 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction279> */
3740 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3743 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3747 /* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */
3748 void nit__parser___nit__parser__ReduceAction280___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3749 val
* var_p
/* var p: Parser */;
3750 val
* var
/* : null */;
3751 val
* var_node_list
/* var node_list: nullable Object */;
3752 val
* var1
/* : nullable Object */;
3753 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3754 val
* var2
/* : nullable Object */;
3755 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3756 val
* var3
/* : nullable Object */;
3757 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3758 val
* var4
/* : nullable Object */;
3759 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3760 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3761 short int var5
/* : Bool */;
3764 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3765 short int var6
/* : Bool */;
3768 val
* var9
/* : ANeExpr */;
3769 val
* var_pexprnode1
/* var pexprnode1: nullable ANeExpr */;
3770 long var10
/* : Int */;
3771 long var11
/* : Int */;
3774 var_node_list
= var
;
3776 var1
= nit___nit__Parser___pop(var_p
);
3778 var_nodearraylist4
= var1
;
3780 var2
= nit___nit__Parser___pop(var_p
);
3782 var_nodearraylist3
= var2
;
3784 var3
= nit___nit__Parser___pop(var_p
);
3786 var_nodearraylist2
= var3
;
3788 var4
= nit___nit__Parser___pop(var_p
);
3790 var_nodearraylist1
= var4
;
3791 var_pexprnode2
= var_nodearraylist1
;
3792 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3793 cltype
= type_nullable__nit__AExpr
.color
;
3794 idtype
= type_nullable__nit__AExpr
.id
;
3795 if(var_pexprnode2
== NULL
) {
3798 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3801 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3804 if (unlikely(!var5
)) {
3805 PRINT_ERROR("Runtime error: %s", "Assert failed");
3806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7796);
3809 var_pexprnode3
= var_nodearraylist4
;
3810 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3811 cltype7
= type_nullable__nit__AExpr
.color
;
3812 idtype8
= type_nullable__nit__AExpr
.id
;
3813 if(var_pexprnode3
== NULL
) {
3816 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3819 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3822 if (unlikely(!var6
)) {
3823 PRINT_ERROR("Runtime error: %s", "Assert failed");
3824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7798);
3827 var9
= NEW_nit__ANeExpr(&type_nit__ANeExpr
);
3829 nit__parser_prod___ANeExpr___init_aneexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ANeExpr#init_aneexpr on <var9:ANeExpr>*/
3831 var_pexprnode1
= var9
;
3832 var_node_list
= var_pexprnode1
;
3833 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction280> */
3835 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3838 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3842 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
3843 void nit__parser___nit__parser__ReduceAction281___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3844 val
* var_p
/* var p: Parser */;
3845 val
* var
/* : null */;
3846 val
* var_node_list
/* var node_list: nullable Object */;
3847 val
* var1
/* : nullable Object */;
3848 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3849 val
* var2
/* : nullable Object */;
3850 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3851 val
* var3
/* : nullable Object */;
3852 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3853 val
* var4
/* : nullable Object */;
3854 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3855 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3856 short int var5
/* : Bool */;
3859 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3860 short int var6
/* : Bool */;
3863 val
* var9
/* : ALtExpr */;
3864 val
* var_pexprnode1
/* var pexprnode1: nullable ALtExpr */;
3865 long var10
/* : Int */;
3866 long var11
/* : Int */;
3869 var_node_list
= var
;
3871 var1
= nit___nit__Parser___pop(var_p
);
3873 var_nodearraylist4
= var1
;
3875 var2
= nit___nit__Parser___pop(var_p
);
3877 var_nodearraylist3
= var2
;
3879 var3
= nit___nit__Parser___pop(var_p
);
3881 var_nodearraylist2
= var3
;
3883 var4
= nit___nit__Parser___pop(var_p
);
3885 var_nodearraylist1
= var4
;
3886 var_pexprnode2
= var_nodearraylist1
;
3887 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3888 cltype
= type_nullable__nit__AExpr
.color
;
3889 idtype
= type_nullable__nit__AExpr
.id
;
3890 if(var_pexprnode2
== NULL
) {
3893 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3896 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3899 if (unlikely(!var5
)) {
3900 PRINT_ERROR("Runtime error: %s", "Assert failed");
3901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7817);
3904 var_pexprnode3
= var_nodearraylist4
;
3905 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3906 cltype7
= type_nullable__nit__AExpr
.color
;
3907 idtype8
= type_nullable__nit__AExpr
.id
;
3908 if(var_pexprnode3
== NULL
) {
3911 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3914 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3917 if (unlikely(!var6
)) {
3918 PRINT_ERROR("Runtime error: %s", "Assert failed");
3919 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7819);
3922 var9
= NEW_nit__ALtExpr(&type_nit__ALtExpr
);
3924 nit__parser_prod___ALtExpr___init_altexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALtExpr#init_altexpr on <var9:ALtExpr>*/
3926 var_pexprnode1
= var9
;
3927 var_node_list
= var_pexprnode1
;
3928 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction281> */
3930 var11
= nit___nit__Parser___go_to(var_p
, var10
);
3933 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3937 /* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */
3938 void nit__parser___nit__parser__ReduceAction282___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3939 val
* var_p
/* var p: Parser */;
3940 val
* var
/* : null */;
3941 val
* var_node_list
/* var node_list: nullable Object */;
3942 val
* var1
/* : nullable Object */;
3943 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3944 val
* var2
/* : nullable Object */;
3945 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3946 val
* var3
/* : nullable Object */;
3947 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3948 val
* var4
/* : nullable Object */;
3949 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3950 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3951 short int var5
/* : Bool */;
3954 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3955 short int var6
/* : Bool */;
3958 val
* var9
/* : ALeExpr */;
3959 val
* var_pexprnode1
/* var pexprnode1: nullable ALeExpr */;
3960 long var10
/* : Int */;
3961 long var11
/* : Int */;
3964 var_node_list
= var
;
3966 var1
= nit___nit__Parser___pop(var_p
);
3968 var_nodearraylist4
= var1
;
3970 var2
= nit___nit__Parser___pop(var_p
);
3972 var_nodearraylist3
= var2
;
3974 var3
= nit___nit__Parser___pop(var_p
);
3976 var_nodearraylist2
= var3
;
3978 var4
= nit___nit__Parser___pop(var_p
);
3980 var_nodearraylist1
= var4
;
3981 var_pexprnode2
= var_nodearraylist1
;
3982 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3983 cltype
= type_nullable__nit__AExpr
.color
;
3984 idtype
= type_nullable__nit__AExpr
.id
;
3985 if(var_pexprnode2
== NULL
) {
3988 if(cltype
>= var_pexprnode2
->type
->table_size
) {
3991 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
3994 if (unlikely(!var5
)) {
3995 PRINT_ERROR("Runtime error: %s", "Assert failed");
3996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7838);
3999 var_pexprnode3
= var_nodearraylist4
;
4000 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4001 cltype7
= type_nullable__nit__AExpr
.color
;
4002 idtype8
= type_nullable__nit__AExpr
.id
;
4003 if(var_pexprnode3
== NULL
) {
4006 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4009 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4012 if (unlikely(!var6
)) {
4013 PRINT_ERROR("Runtime error: %s", "Assert failed");
4014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7840);
4017 var9
= NEW_nit__ALeExpr(&type_nit__ALeExpr
);
4019 nit__parser_prod___ALeExpr___init_aleexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALeExpr#init_aleexpr on <var9:ALeExpr>*/
4021 var_pexprnode1
= var9
;
4022 var_node_list
= var_pexprnode1
;
4023 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction282> */
4025 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4028 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4032 /* method parser#ReduceAction283#action for (self: ReduceAction283, Parser) */
4033 void nit__parser___nit__parser__ReduceAction283___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4034 val
* var_p
/* var p: Parser */;
4035 val
* var
/* : null */;
4036 val
* var_node_list
/* var node_list: nullable Object */;
4037 val
* var1
/* : nullable Object */;
4038 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4039 val
* var2
/* : nullable Object */;
4040 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4041 val
* var3
/* : nullable Object */;
4042 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4043 val
* var4
/* : nullable Object */;
4044 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4045 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4046 short int var5
/* : Bool */;
4049 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4050 short int var6
/* : Bool */;
4053 val
* var9
/* : ALlExpr */;
4054 val
* var_pexprnode1
/* var pexprnode1: nullable ALlExpr */;
4055 long var10
/* : Int */;
4056 long var11
/* : Int */;
4059 var_node_list
= var
;
4061 var1
= nit___nit__Parser___pop(var_p
);
4063 var_nodearraylist4
= var1
;
4065 var2
= nit___nit__Parser___pop(var_p
);
4067 var_nodearraylist3
= var2
;
4069 var3
= nit___nit__Parser___pop(var_p
);
4071 var_nodearraylist2
= var3
;
4073 var4
= nit___nit__Parser___pop(var_p
);
4075 var_nodearraylist1
= var4
;
4076 var_pexprnode2
= var_nodearraylist1
;
4077 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4078 cltype
= type_nullable__nit__AExpr
.color
;
4079 idtype
= type_nullable__nit__AExpr
.id
;
4080 if(var_pexprnode2
== NULL
) {
4083 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4086 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4089 if (unlikely(!var5
)) {
4090 PRINT_ERROR("Runtime error: %s", "Assert failed");
4091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7859);
4094 var_pexprnode3
= var_nodearraylist4
;
4095 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4096 cltype7
= type_nullable__nit__AExpr
.color
;
4097 idtype8
= type_nullable__nit__AExpr
.id
;
4098 if(var_pexprnode3
== NULL
) {
4101 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4104 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4107 if (unlikely(!var6
)) {
4108 PRINT_ERROR("Runtime error: %s", "Assert failed");
4109 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7861);
4112 var9
= NEW_nit__ALlExpr(&type_nit__ALlExpr
);
4114 nit__parser_prod___ALlExpr___init_allexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ALlExpr#init_allexpr on <var9:ALlExpr>*/
4116 var_pexprnode1
= var9
;
4117 var_node_list
= var_pexprnode1
;
4118 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction283> */
4120 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4123 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4127 /* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */
4128 void nit__parser___nit__parser__ReduceAction284___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4129 val
* var_p
/* var p: Parser */;
4130 val
* var
/* : null */;
4131 val
* var_node_list
/* var node_list: nullable Object */;
4132 val
* var1
/* : nullable Object */;
4133 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4134 val
* var2
/* : nullable Object */;
4135 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4136 val
* var3
/* : nullable Object */;
4137 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4138 val
* var4
/* : nullable Object */;
4139 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4140 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4141 short int var5
/* : Bool */;
4144 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4145 short int var6
/* : Bool */;
4148 val
* var9
/* : AGtExpr */;
4149 val
* var_pexprnode1
/* var pexprnode1: nullable AGtExpr */;
4150 long var10
/* : Int */;
4151 long var11
/* : Int */;
4154 var_node_list
= var
;
4156 var1
= nit___nit__Parser___pop(var_p
);
4158 var_nodearraylist4
= var1
;
4160 var2
= nit___nit__Parser___pop(var_p
);
4162 var_nodearraylist3
= var2
;
4164 var3
= nit___nit__Parser___pop(var_p
);
4166 var_nodearraylist2
= var3
;
4168 var4
= nit___nit__Parser___pop(var_p
);
4170 var_nodearraylist1
= var4
;
4171 var_pexprnode2
= var_nodearraylist1
;
4172 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4173 cltype
= type_nullable__nit__AExpr
.color
;
4174 idtype
= type_nullable__nit__AExpr
.id
;
4175 if(var_pexprnode2
== NULL
) {
4178 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4181 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4184 if (unlikely(!var5
)) {
4185 PRINT_ERROR("Runtime error: %s", "Assert failed");
4186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7880);
4189 var_pexprnode3
= var_nodearraylist4
;
4190 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4191 cltype7
= type_nullable__nit__AExpr
.color
;
4192 idtype8
= type_nullable__nit__AExpr
.id
;
4193 if(var_pexprnode3
== NULL
) {
4196 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4199 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4202 if (unlikely(!var6
)) {
4203 PRINT_ERROR("Runtime error: %s", "Assert failed");
4204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7882);
4207 var9
= NEW_nit__AGtExpr(&type_nit__AGtExpr
);
4209 nit__parser_prod___AGtExpr___init_agtexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGtExpr#init_agtexpr on <var9:AGtExpr>*/
4211 var_pexprnode1
= var9
;
4212 var_node_list
= var_pexprnode1
;
4213 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction284> */
4215 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4218 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4222 /* method parser#ReduceAction285#action for (self: ReduceAction285, Parser) */
4223 void nit__parser___nit__parser__ReduceAction285___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4224 val
* var_p
/* var p: Parser */;
4225 val
* var
/* : null */;
4226 val
* var_node_list
/* var node_list: nullable Object */;
4227 val
* var1
/* : nullable Object */;
4228 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4229 val
* var2
/* : nullable Object */;
4230 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4231 val
* var3
/* : nullable Object */;
4232 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4233 val
* var4
/* : nullable Object */;
4234 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4235 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4236 short int var5
/* : Bool */;
4239 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4240 short int var6
/* : Bool */;
4243 val
* var9
/* : AGeExpr */;
4244 val
* var_pexprnode1
/* var pexprnode1: nullable AGeExpr */;
4245 long var10
/* : Int */;
4246 long var11
/* : Int */;
4249 var_node_list
= var
;
4251 var1
= nit___nit__Parser___pop(var_p
);
4253 var_nodearraylist4
= var1
;
4255 var2
= nit___nit__Parser___pop(var_p
);
4257 var_nodearraylist3
= var2
;
4259 var3
= nit___nit__Parser___pop(var_p
);
4261 var_nodearraylist2
= var3
;
4263 var4
= nit___nit__Parser___pop(var_p
);
4265 var_nodearraylist1
= var4
;
4266 var_pexprnode2
= var_nodearraylist1
;
4267 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4268 cltype
= type_nullable__nit__AExpr
.color
;
4269 idtype
= type_nullable__nit__AExpr
.id
;
4270 if(var_pexprnode2
== NULL
) {
4273 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4276 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4279 if (unlikely(!var5
)) {
4280 PRINT_ERROR("Runtime error: %s", "Assert failed");
4281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7901);
4284 var_pexprnode3
= var_nodearraylist4
;
4285 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4286 cltype7
= type_nullable__nit__AExpr
.color
;
4287 idtype8
= type_nullable__nit__AExpr
.id
;
4288 if(var_pexprnode3
== NULL
) {
4291 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4294 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4297 if (unlikely(!var6
)) {
4298 PRINT_ERROR("Runtime error: %s", "Assert failed");
4299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7903);
4302 var9
= NEW_nit__AGeExpr(&type_nit__AGeExpr
);
4304 nit__parser_prod___AGeExpr___init_ageexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGeExpr#init_ageexpr on <var9:AGeExpr>*/
4306 var_pexprnode1
= var9
;
4307 var_node_list
= var_pexprnode1
;
4308 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction285> */
4310 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4313 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4317 /* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */
4318 void nit__parser___nit__parser__ReduceAction286___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4319 val
* var_p
/* var p: Parser */;
4320 val
* var
/* : null */;
4321 val
* var_node_list
/* var node_list: nullable Object */;
4322 val
* var1
/* : nullable Object */;
4323 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4324 val
* var2
/* : nullable Object */;
4325 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4326 val
* var3
/* : nullable Object */;
4327 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4328 val
* var4
/* : nullable Object */;
4329 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4330 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4331 short int var5
/* : Bool */;
4334 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4335 short int var6
/* : Bool */;
4338 val
* var9
/* : AGgExpr */;
4339 val
* var_pexprnode1
/* var pexprnode1: nullable AGgExpr */;
4340 long var10
/* : Int */;
4341 long var11
/* : Int */;
4344 var_node_list
= var
;
4346 var1
= nit___nit__Parser___pop(var_p
);
4348 var_nodearraylist4
= var1
;
4350 var2
= nit___nit__Parser___pop(var_p
);
4352 var_nodearraylist3
= var2
;
4354 var3
= nit___nit__Parser___pop(var_p
);
4356 var_nodearraylist2
= var3
;
4358 var4
= nit___nit__Parser___pop(var_p
);
4360 var_nodearraylist1
= var4
;
4361 var_pexprnode2
= var_nodearraylist1
;
4362 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4363 cltype
= type_nullable__nit__AExpr
.color
;
4364 idtype
= type_nullable__nit__AExpr
.id
;
4365 if(var_pexprnode2
== NULL
) {
4368 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4371 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4374 if (unlikely(!var5
)) {
4375 PRINT_ERROR("Runtime error: %s", "Assert failed");
4376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7922);
4379 var_pexprnode3
= var_nodearraylist4
;
4380 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4381 cltype7
= type_nullable__nit__AExpr
.color
;
4382 idtype8
= type_nullable__nit__AExpr
.id
;
4383 if(var_pexprnode3
== NULL
) {
4386 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4389 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4392 if (unlikely(!var6
)) {
4393 PRINT_ERROR("Runtime error: %s", "Assert failed");
4394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7924);
4397 var9
= NEW_nit__AGgExpr(&type_nit__AGgExpr
);
4399 nit__parser_prod___AGgExpr___init_aggexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AGgExpr#init_aggexpr on <var9:AGgExpr>*/
4401 var_pexprnode1
= var9
;
4402 var_node_list
= var_pexprnode1
;
4403 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction286> */
4405 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4408 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4412 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
4413 void nit__parser___nit__parser__ReduceAction287___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4414 val
* var_p
/* var p: Parser */;
4415 val
* var
/* : null */;
4416 val
* var_node_list
/* var node_list: nullable Object */;
4417 val
* var1
/* : nullable Object */;
4418 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4419 val
* var2
/* : nullable Object */;
4420 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4421 val
* var3
/* : nullable Object */;
4422 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4423 val
* var4
/* : nullable Object */;
4424 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4425 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4426 short int var5
/* : Bool */;
4429 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4430 short int var6
/* : Bool */;
4433 val
* var9
/* : AStarshipExpr */;
4434 val
* var_pexprnode1
/* var pexprnode1: nullable AStarshipExpr */;
4435 long var10
/* : Int */;
4436 long var11
/* : Int */;
4439 var_node_list
= var
;
4441 var1
= nit___nit__Parser___pop(var_p
);
4443 var_nodearraylist4
= var1
;
4445 var2
= nit___nit__Parser___pop(var_p
);
4447 var_nodearraylist3
= var2
;
4449 var3
= nit___nit__Parser___pop(var_p
);
4451 var_nodearraylist2
= var3
;
4453 var4
= nit___nit__Parser___pop(var_p
);
4455 var_nodearraylist1
= var4
;
4456 var_pexprnode2
= var_nodearraylist1
;
4457 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4458 cltype
= type_nullable__nit__AExpr
.color
;
4459 idtype
= type_nullable__nit__AExpr
.id
;
4460 if(var_pexprnode2
== NULL
) {
4463 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4466 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4469 if (unlikely(!var5
)) {
4470 PRINT_ERROR("Runtime error: %s", "Assert failed");
4471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7943);
4474 var_pexprnode3
= var_nodearraylist4
;
4475 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4476 cltype7
= type_nullable__nit__AExpr
.color
;
4477 idtype8
= type_nullable__nit__AExpr
.id
;
4478 if(var_pexprnode3
== NULL
) {
4481 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4484 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4487 if (unlikely(!var6
)) {
4488 PRINT_ERROR("Runtime error: %s", "Assert failed");
4489 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7945);
4492 var9
= NEW_nit__AStarshipExpr(&type_nit__AStarshipExpr
);
4494 nit__parser_prod___AStarshipExpr___init_astarshipexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on <var9:AStarshipExpr>*/
4496 var_pexprnode1
= var9
;
4497 var_node_list
= var_pexprnode1
;
4498 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction287> */
4500 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4503 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4507 /* method parser#ReduceAction288#action for (self: ReduceAction288, Parser) */
4508 void nit__parser___nit__parser__ReduceAction288___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4509 val
* var_p
/* var p: Parser */;
4510 val
* var
/* : null */;
4511 val
* var_node_list
/* var node_list: nullable Object */;
4512 val
* var1
/* : nullable Object */;
4513 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4514 val
* var2
/* : nullable Object */;
4515 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4516 val
* var3
/* : nullable Object */;
4517 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4518 val
* var4
/* : nullable Object */;
4519 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4520 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4521 short int var5
/* : Bool */;
4524 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
4525 short int var6
/* : Bool */;
4528 val
* var9
/* : AIsaExpr */;
4529 val
* var_pexprnode1
/* var pexprnode1: nullable AIsaExpr */;
4530 long var10
/* : Int */;
4531 long var11
/* : Int */;
4534 var_node_list
= var
;
4536 var1
= nit___nit__Parser___pop(var_p
);
4538 var_nodearraylist4
= var1
;
4540 var2
= nit___nit__Parser___pop(var_p
);
4542 var_nodearraylist3
= var2
;
4544 var3
= nit___nit__Parser___pop(var_p
);
4546 var_nodearraylist2
= var3
;
4548 var4
= nit___nit__Parser___pop(var_p
);
4550 var_nodearraylist1
= var4
;
4551 var_pexprnode2
= var_nodearraylist1
;
4552 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4553 cltype
= type_nullable__nit__AExpr
.color
;
4554 idtype
= type_nullable__nit__AExpr
.id
;
4555 if(var_pexprnode2
== NULL
) {
4558 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4561 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4564 if (unlikely(!var5
)) {
4565 PRINT_ERROR("Runtime error: %s", "Assert failed");
4566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7964);
4569 var_ptypenode3
= var_nodearraylist4
;
4570 /* <var_ptypenode3:nullable Object> isa nullable AType */
4571 cltype7
= type_nullable__nit__AType
.color
;
4572 idtype8
= type_nullable__nit__AType
.id
;
4573 if(var_ptypenode3
== NULL
) {
4576 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
4579 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
4582 if (unlikely(!var6
)) {
4583 PRINT_ERROR("Runtime error: %s", "Assert failed");
4584 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7966);
4587 var9
= NEW_nit__AIsaExpr(&type_nit__AIsaExpr
);
4589 nit__parser_prod___AIsaExpr___init_aisaexpr(var9
, var_pexprnode2
, var_ptypenode3
); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on <var9:AIsaExpr>*/
4591 var_pexprnode1
= var9
;
4592 var_node_list
= var_pexprnode1
;
4593 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction288> */
4595 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4598 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4602 /* method parser#ReduceAction290#action for (self: ReduceAction290, Parser) */
4603 void nit__parser___nit__parser__ReduceAction290___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4604 val
* var_p
/* var p: Parser */;
4605 val
* var
/* : null */;
4606 val
* var_node_list
/* var node_list: nullable Object */;
4607 val
* var1
/* : nullable Object */;
4608 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4609 val
* var2
/* : nullable Object */;
4610 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4611 val
* var3
/* : nullable Object */;
4612 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4613 val
* var4
/* : nullable Object */;
4614 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4615 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4616 short int var5
/* : Bool */;
4619 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4620 short int var6
/* : Bool */;
4623 val
* var9
/* : APlusExpr */;
4624 val
* var_pexprnode1
/* var pexprnode1: nullable APlusExpr */;
4625 long var10
/* : Int */;
4626 long var11
/* : Int */;
4629 var_node_list
= var
;
4631 var1
= nit___nit__Parser___pop(var_p
);
4633 var_nodearraylist4
= var1
;
4635 var2
= nit___nit__Parser___pop(var_p
);
4637 var_nodearraylist3
= var2
;
4639 var3
= nit___nit__Parser___pop(var_p
);
4641 var_nodearraylist2
= var3
;
4643 var4
= nit___nit__Parser___pop(var_p
);
4645 var_nodearraylist1
= var4
;
4646 var_pexprnode2
= var_nodearraylist1
;
4647 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4648 cltype
= type_nullable__nit__AExpr
.color
;
4649 idtype
= type_nullable__nit__AExpr
.id
;
4650 if(var_pexprnode2
== NULL
) {
4653 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4656 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4659 if (unlikely(!var5
)) {
4660 PRINT_ERROR("Runtime error: %s", "Assert failed");
4661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7985);
4664 var_pexprnode3
= var_nodearraylist4
;
4665 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4666 cltype7
= type_nullable__nit__AExpr
.color
;
4667 idtype8
= type_nullable__nit__AExpr
.id
;
4668 if(var_pexprnode3
== NULL
) {
4671 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4674 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4677 if (unlikely(!var6
)) {
4678 PRINT_ERROR("Runtime error: %s", "Assert failed");
4679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7987);
4682 var9
= NEW_nit__APlusExpr(&type_nit__APlusExpr
);
4684 nit__parser_prod___APlusExpr___init_aplusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APlusExpr#init_aplusexpr on <var9:APlusExpr>*/
4686 var_pexprnode1
= var9
;
4687 var_node_list
= var_pexprnode1
;
4688 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction290> */
4690 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4693 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4697 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
4698 void nit__parser___nit__parser__ReduceAction291___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4699 val
* var_p
/* var p: Parser */;
4700 val
* var
/* : null */;
4701 val
* var_node_list
/* var node_list: nullable Object */;
4702 val
* var1
/* : nullable Object */;
4703 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4704 val
* var2
/* : nullable Object */;
4705 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4706 val
* var3
/* : nullable Object */;
4707 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4708 val
* var4
/* : nullable Object */;
4709 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4710 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4711 short int var5
/* : Bool */;
4714 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4715 short int var6
/* : Bool */;
4718 val
* var9
/* : AMinusExpr */;
4719 val
* var_pexprnode1
/* var pexprnode1: nullable AMinusExpr */;
4720 long var10
/* : Int */;
4721 long var11
/* : Int */;
4724 var_node_list
= var
;
4726 var1
= nit___nit__Parser___pop(var_p
);
4728 var_nodearraylist4
= var1
;
4730 var2
= nit___nit__Parser___pop(var_p
);
4732 var_nodearraylist3
= var2
;
4734 var3
= nit___nit__Parser___pop(var_p
);
4736 var_nodearraylist2
= var3
;
4738 var4
= nit___nit__Parser___pop(var_p
);
4740 var_nodearraylist1
= var4
;
4741 var_pexprnode2
= var_nodearraylist1
;
4742 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4743 cltype
= type_nullable__nit__AExpr
.color
;
4744 idtype
= type_nullable__nit__AExpr
.id
;
4745 if(var_pexprnode2
== NULL
) {
4748 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4751 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4754 if (unlikely(!var5
)) {
4755 PRINT_ERROR("Runtime error: %s", "Assert failed");
4756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8006);
4759 var_pexprnode3
= var_nodearraylist4
;
4760 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4761 cltype7
= type_nullable__nit__AExpr
.color
;
4762 idtype8
= type_nullable__nit__AExpr
.id
;
4763 if(var_pexprnode3
== NULL
) {
4766 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4769 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4772 if (unlikely(!var6
)) {
4773 PRINT_ERROR("Runtime error: %s", "Assert failed");
4774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8008);
4777 var9
= NEW_nit__AMinusExpr(&type_nit__AMinusExpr
);
4779 nit__parser_prod___AMinusExpr___init_aminusexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on <var9:AMinusExpr>*/
4781 var_pexprnode1
= var9
;
4782 var_node_list
= var_pexprnode1
;
4783 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction291> */
4785 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4788 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4792 /* method parser#ReduceAction293#action for (self: ReduceAction293, Parser) */
4793 void nit__parser___nit__parser__ReduceAction293___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4794 val
* var_p
/* var p: Parser */;
4795 val
* var
/* : null */;
4796 val
* var_node_list
/* var node_list: nullable Object */;
4797 val
* var1
/* : nullable Object */;
4798 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4799 val
* var2
/* : nullable Object */;
4800 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4801 val
* var3
/* : nullable Object */;
4802 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4803 val
* var4
/* : nullable Object */;
4804 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4805 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4806 short int var5
/* : Bool */;
4809 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4810 short int var6
/* : Bool */;
4813 val
* var9
/* : AStarExpr */;
4814 val
* var_pexprnode1
/* var pexprnode1: nullable AStarExpr */;
4815 long var10
/* : Int */;
4816 long var11
/* : Int */;
4819 var_node_list
= var
;
4821 var1
= nit___nit__Parser___pop(var_p
);
4823 var_nodearraylist4
= var1
;
4825 var2
= nit___nit__Parser___pop(var_p
);
4827 var_nodearraylist3
= var2
;
4829 var3
= nit___nit__Parser___pop(var_p
);
4831 var_nodearraylist2
= var3
;
4833 var4
= nit___nit__Parser___pop(var_p
);
4835 var_nodearraylist1
= var4
;
4836 var_pexprnode2
= var_nodearraylist1
;
4837 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4838 cltype
= type_nullable__nit__AExpr
.color
;
4839 idtype
= type_nullable__nit__AExpr
.id
;
4840 if(var_pexprnode2
== NULL
) {
4843 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4846 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4849 if (unlikely(!var5
)) {
4850 PRINT_ERROR("Runtime error: %s", "Assert failed");
4851 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8027);
4854 var_pexprnode3
= var_nodearraylist4
;
4855 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4856 cltype7
= type_nullable__nit__AExpr
.color
;
4857 idtype8
= type_nullable__nit__AExpr
.id
;
4858 if(var_pexprnode3
== NULL
) {
4861 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4864 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4867 if (unlikely(!var6
)) {
4868 PRINT_ERROR("Runtime error: %s", "Assert failed");
4869 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8029);
4872 var9
= NEW_nit__AStarExpr(&type_nit__AStarExpr
);
4874 nit__parser_prod___AStarExpr___init_astarexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarExpr#init_astarexpr on <var9:AStarExpr>*/
4876 var_pexprnode1
= var9
;
4877 var_node_list
= var_pexprnode1
;
4878 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction293> */
4880 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4883 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4887 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
4888 void nit__parser___nit__parser__ReduceAction294___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4889 val
* var_p
/* var p: Parser */;
4890 val
* var
/* : null */;
4891 val
* var_node_list
/* var node_list: nullable Object */;
4892 val
* var1
/* : nullable Object */;
4893 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4894 val
* var2
/* : nullable Object */;
4895 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4896 val
* var3
/* : nullable Object */;
4897 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4898 val
* var4
/* : nullable Object */;
4899 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4900 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4901 short int var5
/* : Bool */;
4904 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4905 short int var6
/* : Bool */;
4908 val
* var9
/* : ASlashExpr */;
4909 val
* var_pexprnode1
/* var pexprnode1: nullable ASlashExpr */;
4910 long var10
/* : Int */;
4911 long var11
/* : Int */;
4914 var_node_list
= var
;
4916 var1
= nit___nit__Parser___pop(var_p
);
4918 var_nodearraylist4
= var1
;
4920 var2
= nit___nit__Parser___pop(var_p
);
4922 var_nodearraylist3
= var2
;
4924 var3
= nit___nit__Parser___pop(var_p
);
4926 var_nodearraylist2
= var3
;
4928 var4
= nit___nit__Parser___pop(var_p
);
4930 var_nodearraylist1
= var4
;
4931 var_pexprnode2
= var_nodearraylist1
;
4932 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4933 cltype
= type_nullable__nit__AExpr
.color
;
4934 idtype
= type_nullable__nit__AExpr
.id
;
4935 if(var_pexprnode2
== NULL
) {
4938 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4941 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4944 if (unlikely(!var5
)) {
4945 PRINT_ERROR("Runtime error: %s", "Assert failed");
4946 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8048);
4949 var_pexprnode3
= var_nodearraylist4
;
4950 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4951 cltype7
= type_nullable__nit__AExpr
.color
;
4952 idtype8
= type_nullable__nit__AExpr
.id
;
4953 if(var_pexprnode3
== NULL
) {
4956 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
4959 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
4962 if (unlikely(!var6
)) {
4963 PRINT_ERROR("Runtime error: %s", "Assert failed");
4964 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8050);
4967 var9
= NEW_nit__ASlashExpr(&type_nit__ASlashExpr
);
4969 nit__parser_prod___ASlashExpr___init_aslashexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on <var9:ASlashExpr>*/
4971 var_pexprnode1
= var9
;
4972 var_node_list
= var_pexprnode1
;
4973 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction294> */
4975 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4978 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4982 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
4983 void nit__parser___nit__parser__ReduceAction295___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4984 val
* var_p
/* var p: Parser */;
4985 val
* var
/* : null */;
4986 val
* var_node_list
/* var node_list: nullable Object */;
4987 val
* var1
/* : nullable Object */;
4988 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4989 val
* var2
/* : nullable Object */;
4990 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4991 val
* var3
/* : nullable Object */;
4992 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4993 val
* var4
/* : nullable Object */;
4994 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4995 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4996 short int var5
/* : Bool */;
4999 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5000 short int var6
/* : Bool */;
5003 val
* var9
/* : APercentExpr */;
5004 val
* var_pexprnode1
/* var pexprnode1: nullable APercentExpr */;
5005 long var10
/* : Int */;
5006 long var11
/* : Int */;
5009 var_node_list
= var
;
5011 var1
= nit___nit__Parser___pop(var_p
);
5013 var_nodearraylist4
= var1
;
5015 var2
= nit___nit__Parser___pop(var_p
);
5017 var_nodearraylist3
= var2
;
5019 var3
= nit___nit__Parser___pop(var_p
);
5021 var_nodearraylist2
= var3
;
5023 var4
= nit___nit__Parser___pop(var_p
);
5025 var_nodearraylist1
= var4
;
5026 var_pexprnode2
= var_nodearraylist1
;
5027 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5028 cltype
= type_nullable__nit__AExpr
.color
;
5029 idtype
= type_nullable__nit__AExpr
.id
;
5030 if(var_pexprnode2
== NULL
) {
5033 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5036 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5039 if (unlikely(!var5
)) {
5040 PRINT_ERROR("Runtime error: %s", "Assert failed");
5041 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8069);
5044 var_pexprnode3
= var_nodearraylist4
;
5045 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5046 cltype7
= type_nullable__nit__AExpr
.color
;
5047 idtype8
= type_nullable__nit__AExpr
.id
;
5048 if(var_pexprnode3
== NULL
) {
5051 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
5054 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
5057 if (unlikely(!var6
)) {
5058 PRINT_ERROR("Runtime error: %s", "Assert failed");
5059 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8071);
5062 var9
= NEW_nit__APercentExpr(&type_nit__APercentExpr
);
5064 nit__parser_prod___APercentExpr___init_apercentexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#APercentExpr#init_apercentexpr on <var9:APercentExpr>*/
5066 var_pexprnode1
= var9
;
5067 var_node_list
= var_pexprnode1
;
5068 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction295> */
5070 var11
= nit___nit__Parser___go_to(var_p
, var10
);
5073 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5077 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
5078 void nit__parser___nit__parser__ReduceAction297___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5079 val
* var_p
/* var p: Parser */;
5080 val
* var
/* : null */;
5081 val
* var_node_list
/* var node_list: nullable Object */;
5082 val
* var1
/* : nullable Object */;
5083 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5084 val
* var2
/* : nullable Object */;
5085 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5086 val
* var3
/* : nullable Object */;
5087 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5088 val
* var4
/* : nullable Object */;
5089 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5090 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5091 short int var5
/* : Bool */;
5094 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5095 short int var6
/* : Bool */;
5098 val
* var9
/* : AStarstarExpr */;
5099 val
* var_pexprnode1
/* var pexprnode1: nullable AStarstarExpr */;
5100 long var10
/* : Int */;
5101 long var11
/* : Int */;
5104 var_node_list
= var
;
5106 var1
= nit___nit__Parser___pop(var_p
);
5108 var_nodearraylist4
= var1
;
5110 var2
= nit___nit__Parser___pop(var_p
);
5112 var_nodearraylist3
= var2
;
5114 var3
= nit___nit__Parser___pop(var_p
);
5116 var_nodearraylist2
= var3
;
5118 var4
= nit___nit__Parser___pop(var_p
);
5120 var_nodearraylist1
= var4
;
5121 var_pexprnode2
= var_nodearraylist1
;
5122 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5123 cltype
= type_nullable__nit__AExpr
.color
;
5124 idtype
= type_nullable__nit__AExpr
.id
;
5125 if(var_pexprnode2
== NULL
) {
5128 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5131 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5134 if (unlikely(!var5
)) {
5135 PRINT_ERROR("Runtime error: %s", "Assert failed");
5136 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8090);
5139 var_pexprnode3
= var_nodearraylist4
;
5140 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5141 cltype7
= type_nullable__nit__AExpr
.color
;
5142 idtype8
= type_nullable__nit__AExpr
.id
;
5143 if(var_pexprnode3
== NULL
) {
5146 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
5149 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
5152 if (unlikely(!var6
)) {
5153 PRINT_ERROR("Runtime error: %s", "Assert failed");
5154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8092);
5157 var9
= NEW_nit__AStarstarExpr(&type_nit__AStarstarExpr
);
5159 nit__parser_prod___AStarstarExpr___init_astarstarexpr(var9
, var_pexprnode2
, var_pexprnode3
); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on <var9:AStarstarExpr>*/
5161 var_pexprnode1
= var9
;
5162 var_node_list
= var_pexprnode1
;
5163 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction297> */
5165 var11
= nit___nit__Parser___go_to(var_p
, var10
);
5168 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5172 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
5173 void nit__parser___nit__parser__ReduceAction299___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5174 val
* var_p
/* var p: Parser */;
5175 val
* var
/* : null */;
5176 val
* var_node_list
/* var node_list: nullable Object */;
5177 val
* var1
/* : nullable Object */;
5178 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5179 val
* var2
/* : nullable Object */;
5180 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5181 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
5182 short int var3
/* : Bool */;
5185 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5186 short int var4
/* : Bool */;
5189 val
* var7
/* : AUminusExpr */;
5190 val
* var_pexprnode1
/* var pexprnode1: nullable AUminusExpr */;
5191 long var8
/* : Int */;
5192 long var9
/* : Int */;
5195 var_node_list
= var
;
5197 var1
= nit___nit__Parser___pop(var_p
);
5199 var_nodearraylist2
= var1
;
5201 var2
= nit___nit__Parser___pop(var_p
);
5203 var_nodearraylist1
= var2
;
5204 var_tminusnode2
= var_nodearraylist1
;
5205 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
5206 cltype
= type_nullable__nit__TMinus
.color
;
5207 idtype
= type_nullable__nit__TMinus
.id
;
5208 if(var_tminusnode2
== NULL
) {
5211 if(cltype
>= var_tminusnode2
->type
->table_size
) {
5214 var3
= var_tminusnode2
->type
->type_table
[cltype
] == idtype
;
5217 if (unlikely(!var3
)) {
5218 PRINT_ERROR("Runtime error: %s", "Assert failed");
5219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8109);
5222 var_pexprnode3
= var_nodearraylist2
;
5223 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5224 cltype5
= type_nullable__nit__AExpr
.color
;
5225 idtype6
= type_nullable__nit__AExpr
.id
;
5226 if(var_pexprnode3
== NULL
) {
5229 if(cltype5
>= var_pexprnode3
->type
->table_size
) {
5232 var4
= var_pexprnode3
->type
->type_table
[cltype5
] == idtype6
;
5235 if (unlikely(!var4
)) {
5236 PRINT_ERROR("Runtime error: %s", "Assert failed");
5237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8111);
5240 var7
= NEW_nit__AUminusExpr(&type_nit__AUminusExpr
);
5242 nit__parser_prod___AUminusExpr___init_auminusexpr(var7
, var_tminusnode2
, var_pexprnode3
); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on <var7:AUminusExpr>*/
5244 var_pexprnode1
= var7
;
5245 var_node_list
= var_pexprnode1
;
5246 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction299> */
5248 var9
= nit___nit__Parser___go_to(var_p
, var8
);
5251 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5255 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
5256 void nit__parser___nit__parser__ReduceAction300___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5257 val
* var_p
/* var p: Parser */;
5258 val
* var
/* : null */;
5259 val
* var_node_list
/* var node_list: nullable Object */;
5260 val
* var1
/* : nullable Object */;
5261 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5262 val
* var2
/* : nullable Object */;
5263 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5264 val
* var3
/* : nullable Object */;
5265 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5266 val
* var_tkwoncenode2
/* var tkwoncenode2: nullable Object */;
5267 short int var4
/* : Bool */;
5270 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5271 short int var5
/* : Bool */;
5274 val
* var8
/* : AOnceExpr */;
5275 val
* var_pexprnode1
/* var pexprnode1: nullable AOnceExpr */;
5276 long var9
/* : Int */;
5277 long var10
/* : Int */;
5280 var_node_list
= var
;
5282 var1
= nit___nit__Parser___pop(var_p
);
5284 var_nodearraylist3
= var1
;
5286 var2
= nit___nit__Parser___pop(var_p
);
5288 var_nodearraylist2
= var2
;
5290 var3
= nit___nit__Parser___pop(var_p
);
5292 var_nodearraylist1
= var3
;
5293 var_tkwoncenode2
= var_nodearraylist1
;
5294 /* <var_tkwoncenode2:nullable Object> isa nullable TKwonce */
5295 cltype
= type_nullable__nit__TKwonce
.color
;
5296 idtype
= type_nullable__nit__TKwonce
.id
;
5297 if(var_tkwoncenode2
== NULL
) {
5300 if(cltype
>= var_tkwoncenode2
->type
->table_size
) {
5303 var4
= var_tkwoncenode2
->type
->type_table
[cltype
] == idtype
;
5306 if (unlikely(!var4
)) {
5307 PRINT_ERROR("Runtime error: %s", "Assert failed");
5308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8129);
5311 var_pexprnode3
= var_nodearraylist3
;
5312 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5313 cltype6
= type_nullable__nit__AExpr
.color
;
5314 idtype7
= type_nullable__nit__AExpr
.id
;
5315 if(var_pexprnode3
== NULL
) {
5318 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
5321 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
5324 if (unlikely(!var5
)) {
5325 PRINT_ERROR("Runtime error: %s", "Assert failed");
5326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8131);
5329 var8
= NEW_nit__AOnceExpr(&type_nit__AOnceExpr
);
5331 nit__parser_prod___AOnceExpr___init_aonceexpr(var8
, var_tkwoncenode2
, var_pexprnode3
); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <var8:AOnceExpr>*/
5333 var_pexprnode1
= var8
;
5334 var_node_list
= var_pexprnode1
;
5335 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction300> */
5337 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5340 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5344 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
5345 void nit__parser___nit__parser__ReduceAction302___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5346 val
* var_p
/* var p: Parser */;
5347 val
* var
/* : null */;
5348 val
* var_node_list
/* var node_list: nullable Object */;
5349 val
* var1
/* : nullable Object */;
5350 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5351 val
* var2
/* : nullable Object */;
5352 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5353 val
* var3
/* : nullable Object */;
5354 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5355 val
* var4
/* : nullable Object */;
5356 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5357 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
5358 short int var5
/* : Bool */;
5361 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
5362 short int var6
/* : Bool */;
5365 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
5366 short int var9
/* : Bool */;
5369 val
* var12
/* : ANewExpr */;
5370 val
* var13
/* : null */;
5371 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
5372 long var14
/* : Int */;
5373 long var15
/* : Int */;
5376 var_node_list
= var
;
5378 var1
= nit___nit__Parser___pop(var_p
);
5380 var_nodearraylist4
= var1
;
5382 var2
= nit___nit__Parser___pop(var_p
);
5384 var_nodearraylist3
= var2
;
5386 var3
= nit___nit__Parser___pop(var_p
);
5388 var_nodearraylist2
= var3
;
5390 var4
= nit___nit__Parser___pop(var_p
);
5392 var_nodearraylist1
= var4
;
5393 var_tkwnewnode2
= var_nodearraylist1
;
5394 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
5395 cltype
= type_nullable__nit__TKwnew
.color
;
5396 idtype
= type_nullable__nit__TKwnew
.id
;
5397 if(var_tkwnewnode2
== NULL
) {
5400 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
5403 var5
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
5406 if (unlikely(!var5
)) {
5407 PRINT_ERROR("Runtime error: %s", "Assert failed");
5408 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8150);
5411 var_ptypenode3
= var_nodearraylist3
;
5412 /* <var_ptypenode3:nullable Object> isa nullable AType */
5413 cltype7
= type_nullable__nit__AType
.color
;
5414 idtype8
= type_nullable__nit__AType
.id
;
5415 if(var_ptypenode3
== NULL
) {
5418 if(cltype7
>= var_ptypenode3
->type
->table_size
) {
5421 var6
= var_ptypenode3
->type
->type_table
[cltype7
] == idtype8
;
5424 if (unlikely(!var6
)) {
5425 PRINT_ERROR("Runtime error: %s", "Assert failed");
5426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8152);
5429 var_pexprsnode5
= var_nodearraylist4
;
5430 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
5431 cltype10
= type_nullable__nit__AExprs
.color
;
5432 idtype11
= type_nullable__nit__AExprs
.id
;
5433 if(var_pexprsnode5
== NULL
) {
5436 if(cltype10
>= var_pexprsnode5
->type
->table_size
) {
5439 var9
= var_pexprsnode5
->type
->type_table
[cltype10
] == idtype11
;
5442 if (unlikely(!var9
)) {
5443 PRINT_ERROR("Runtime error: %s", "Assert failed");
5444 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8154);
5447 var12
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
5450 nit__parser_prod___ANewExpr___init_anewexpr(var12
, var_tkwnewnode2
, var_ptypenode3
, var13
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var12:ANewExpr>*/
5452 var_pexprnode1
= var12
;
5453 var_node_list
= var_pexprnode1
;
5454 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction302> */
5456 var15
= nit___nit__Parser___go_to(var_p
, var14
);
5459 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5463 /* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */
5464 void nit__parser___nit__parser__ReduceAction303___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5465 val
* var_p
/* var p: Parser */;
5466 val
* var
/* : null */;
5467 val
* var_node_list
/* var node_list: nullable Object */;
5468 val
* var1
/* : nullable Object */;
5469 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5470 val
* var2
/* : nullable Object */;
5471 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5472 val
* var3
/* : nullable Object */;
5473 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5474 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
5475 short int var4
/* : Bool */;
5478 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
5479 short int var5
/* : Bool */;
5482 val
* var8
/* : Array[Object] */;
5483 val
* var_listnode6
/* var listnode6: Array[Object] */;
5484 val
* var9
/* : AListExprs */;
5485 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
5486 val
* var10
/* : ANewExpr */;
5487 val
* var11
/* : null */;
5488 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
5489 long var12
/* : Int */;
5490 long var13
/* : Int */;
5493 var_node_list
= var
;
5495 var1
= nit___nit__Parser___pop(var_p
);
5497 var_nodearraylist3
= var1
;
5499 var2
= nit___nit__Parser___pop(var_p
);
5501 var_nodearraylist2
= var2
;
5503 var3
= nit___nit__Parser___pop(var_p
);
5505 var_nodearraylist1
= var3
;
5506 var_tkwnewnode2
= var_nodearraylist1
;
5507 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
5508 cltype
= type_nullable__nit__TKwnew
.color
;
5509 idtype
= type_nullable__nit__TKwnew
.id
;
5510 if(var_tkwnewnode2
== NULL
) {
5513 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
5516 var4
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
5519 if (unlikely(!var4
)) {
5520 PRINT_ERROR("Runtime error: %s", "Assert failed");
5521 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8174);
5524 var_ptypenode3
= var_nodearraylist3
;
5525 /* <var_ptypenode3:nullable Object> isa nullable AType */
5526 cltype6
= type_nullable__nit__AType
.color
;
5527 idtype7
= type_nullable__nit__AType
.id
;
5528 if(var_ptypenode3
== NULL
) {
5531 if(cltype6
>= var_ptypenode3
->type
->table_size
) {
5534 var5
= var_ptypenode3
->type
->type_table
[cltype6
] == idtype7
;
5537 if (unlikely(!var5
)) {
5538 PRINT_ERROR("Runtime error: %s", "Assert failed");
5539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8176);
5542 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5544 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
5546 var_listnode6
= var8
;
5547 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5549 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
5551 var_pexprsnode5
= var9
;
5552 var10
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
5555 nit__parser_prod___ANewExpr___init_anewexpr(var10
, var_tkwnewnode2
, var_ptypenode3
, var11
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var10:ANewExpr>*/
5557 var_pexprnode1
= var10
;
5558 var_node_list
= var_pexprnode1
;
5559 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction303> */
5561 var13
= nit___nit__Parser___go_to(var_p
, var12
);
5564 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5568 /* method parser#ReduceAction304#action for (self: ReduceAction304, Parser) */
5569 void nit__parser___nit__parser__ReduceAction304___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5570 val
* var_p
/* var p: Parser */;
5571 val
* var
/* : null */;
5572 val
* var_node_list
/* var node_list: nullable Object */;
5573 val
* var1
/* : nullable Object */;
5574 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5575 val
* var2
/* : nullable Object */;
5576 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5577 val
* var3
/* : nullable Object */;
5578 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5579 val
* var4
/* : nullable Object */;
5580 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5581 val
* var5
/* : nullable Object */;
5582 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5583 val
* var6
/* : nullable Object */;
5584 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5585 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
5586 short int var7
/* : Bool */;
5589 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
5590 short int var8
/* : Bool */;
5593 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
5594 short int var11
/* : Bool */;
5597 val
* var14
/* : AIssetAttrExpr */;
5598 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
5599 long var15
/* : Int */;
5600 long var16
/* : Int */;
5603 var_node_list
= var
;
5605 var1
= nit___nit__Parser___pop(var_p
);
5607 var_nodearraylist6
= var1
;
5609 var2
= nit___nit__Parser___pop(var_p
);
5611 var_nodearraylist5
= var2
;
5613 var3
= nit___nit__Parser___pop(var_p
);
5615 var_nodearraylist4
= var3
;
5617 var4
= nit___nit__Parser___pop(var_p
);
5619 var_nodearraylist3
= var4
;
5621 var5
= nit___nit__Parser___pop(var_p
);
5623 var_nodearraylist2
= var5
;
5625 var6
= nit___nit__Parser___pop(var_p
);
5627 var_nodearraylist1
= var6
;
5628 var_tkwissetnode2
= var_nodearraylist1
;
5629 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
5630 cltype
= type_nullable__nit__TKwisset
.color
;
5631 idtype
= type_nullable__nit__TKwisset
.id
;
5632 if(var_tkwissetnode2
== NULL
) {
5635 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
5638 var7
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
5641 if (unlikely(!var7
)) {
5642 PRINT_ERROR("Runtime error: %s", "Assert failed");
5643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8203);
5646 var_pexprnode3
= var_nodearraylist2
;
5647 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
5648 cltype9
= type_nullable__nit__AExpr
.color
;
5649 idtype10
= type_nullable__nit__AExpr
.id
;
5650 if(var_pexprnode3
== NULL
) {
5653 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
5656 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
5659 if (unlikely(!var8
)) {
5660 PRINT_ERROR("Runtime error: %s", "Assert failed");
5661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8205);
5664 var_tattridnode4
= var_nodearraylist6
;
5665 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
5666 cltype12
= type_nullable__nit__TAttrid
.color
;
5667 idtype13
= type_nullable__nit__TAttrid
.id
;
5668 if(var_tattridnode4
== NULL
) {
5671 if(cltype12
>= var_tattridnode4
->type
->table_size
) {
5674 var11
= var_tattridnode4
->type
->type_table
[cltype12
] == idtype13
;
5677 if (unlikely(!var11
)) {
5678 PRINT_ERROR("Runtime error: %s", "Assert failed");
5679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8207);
5682 var14
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
5684 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var14
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var14:AIssetAttrExpr>*/
5686 var_pexprnode1
= var14
;
5687 var_node_list
= var_pexprnode1
;
5688 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction304> */
5690 var16
= nit___nit__Parser___go_to(var_p
, var15
);
5693 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5697 /* method parser#ReduceAction305#action for (self: ReduceAction305, Parser) */
5698 void nit__parser___nit__parser__ReduceAction305___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5699 val
* var_p
/* var p: Parser */;
5700 val
* var
/* : null */;
5701 val
* var_node_list
/* var node_list: nullable Object */;
5702 val
* var1
/* : nullable Object */;
5703 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5704 val
* var2
/* : nullable Object */;
5705 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5706 val
* var3
/* : nullable Object */;
5707 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5708 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
5709 short int var4
/* : Bool */;
5712 val
* var5
/* : AImplicitSelfExpr */;
5713 val
* var_pexprnode3
/* var pexprnode3: nullable AImplicitSelfExpr */;
5714 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
5715 short int var7
/* : Bool */;
5718 val
* var10
/* : AIssetAttrExpr */;
5719 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
5720 long var11
/* : Int */;
5721 long var12
/* : Int */;
5724 var_node_list
= var
;
5726 var1
= nit___nit__Parser___pop(var_p
);
5728 var_nodearraylist3
= var1
;
5730 var2
= nit___nit__Parser___pop(var_p
);
5732 var_nodearraylist2
= var2
;
5734 var3
= nit___nit__Parser___pop(var_p
);
5736 var_nodearraylist1
= var3
;
5737 var_tkwissetnode2
= var_nodearraylist1
;
5738 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
5739 cltype
= type_nullable__nit__TKwisset
.color
;
5740 idtype
= type_nullable__nit__TKwisset
.id
;
5741 if(var_tkwissetnode2
== NULL
) {
5744 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
5747 var4
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
5750 if (unlikely(!var4
)) {
5751 PRINT_ERROR("Runtime error: %s", "Assert failed");
5752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8226);
5755 var5
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5757 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on <var5:AImplicitSelfExpr> */
5761 var_pexprnode3
= var5
;
5762 var_tattridnode4
= var_nodearraylist3
;
5763 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
5764 cltype8
= type_nullable__nit__TAttrid
.color
;
5765 idtype9
= type_nullable__nit__TAttrid
.id
;
5766 if(var_tattridnode4
== NULL
) {
5769 if(cltype8
>= var_tattridnode4
->type
->table_size
) {
5772 var7
= var_tattridnode4
->type
->type_table
[cltype8
] == idtype9
;
5775 if (unlikely(!var7
)) {
5776 PRINT_ERROR("Runtime error: %s", "Assert failed");
5777 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8229);
5780 var10
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
5782 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var10
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var10:AIssetAttrExpr>*/
5784 var_pexprnode1
= var10
;
5785 var_node_list
= var_pexprnode1
;
5786 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction305> */
5788 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5791 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5795 /* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */
5796 void nit__parser___nit__parser__ReduceAction307___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5797 val
* var_p
/* var p: Parser */;
5798 val
* var
/* : null */;
5799 val
* var_node_list
/* var node_list: nullable Object */;
5800 val
* var1
/* : nullable Object */;
5801 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5802 val
* var2
/* : nullable Object */;
5803 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5804 val
* var3
/* : nullable Object */;
5805 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5806 val
* var4
/* : nullable Object */;
5807 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5808 val
* var5
/* : nullable Object */;
5809 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5810 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5811 short int var6
/* : Bool */;
5814 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5815 short int var7
/* : Bool */;
5818 val
* var10
/* : AAttrExpr */;
5819 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
5820 long var11
/* : Int */;
5821 long var12
/* : Int */;
5824 var_node_list
= var
;
5826 var1
= nit___nit__Parser___pop(var_p
);
5828 var_nodearraylist5
= var1
;
5830 var2
= nit___nit__Parser___pop(var_p
);
5832 var_nodearraylist4
= var2
;
5834 var3
= nit___nit__Parser___pop(var_p
);
5836 var_nodearraylist3
= var3
;
5838 var4
= nit___nit__Parser___pop(var_p
);
5840 var_nodearraylist2
= var4
;
5842 var5
= nit___nit__Parser___pop(var_p
);
5844 var_nodearraylist1
= var5
;
5845 var_pexprnode2
= var_nodearraylist1
;
5846 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5847 cltype
= type_nullable__nit__AExpr
.color
;
5848 idtype
= type_nullable__nit__AExpr
.id
;
5849 if(var_pexprnode2
== NULL
) {
5852 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5855 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5858 if (unlikely(!var6
)) {
5859 PRINT_ERROR("Runtime error: %s", "Assert failed");
5860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8250);
5863 var_tattridnode3
= var_nodearraylist5
;
5864 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5865 cltype8
= type_nullable__nit__TAttrid
.color
;
5866 idtype9
= type_nullable__nit__TAttrid
.id
;
5867 if(var_tattridnode3
== NULL
) {
5870 if(cltype8
>= var_tattridnode3
->type
->table_size
) {
5873 var7
= var_tattridnode3
->type
->type_table
[cltype8
] == idtype9
;
5876 if (unlikely(!var7
)) {
5877 PRINT_ERROR("Runtime error: %s", "Assert failed");
5878 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8252);
5881 var10
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
5883 nit__parser_prod___AAttrExpr___init_aattrexpr(var10
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var10:AAttrExpr>*/
5885 var_pexprnode1
= var10
;
5886 var_node_list
= var_pexprnode1
;
5887 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction307> */
5889 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5892 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5896 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
5897 void nit__parser___nit__parser__ReduceAction308___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5898 val
* var_p
/* var p: Parser */;
5899 val
* var
/* : null */;
5900 val
* var_node_list
/* var node_list: nullable Object */;
5901 val
* var1
/* : nullable Object */;
5902 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5903 val
* var2
/* : nullable Object */;
5904 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5905 val
* var3
/* : AImplicitSelfExpr */;
5906 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5907 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5908 short int var5
/* : Bool */;
5911 val
* var6
/* : AAttrExpr */;
5912 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
5913 long var7
/* : Int */;
5914 long var8
/* : Int */;
5917 var_node_list
= var
;
5919 var1
= nit___nit__Parser___pop(var_p
);
5921 var_nodearraylist2
= var1
;
5923 var2
= nit___nit__Parser___pop(var_p
);
5925 var_nodearraylist1
= var2
;
5926 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5928 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
5932 var_pexprnode2
= var3
;
5933 var_tattridnode3
= var_nodearraylist2
;
5934 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5935 cltype
= type_nullable__nit__TAttrid
.color
;
5936 idtype
= type_nullable__nit__TAttrid
.id
;
5937 if(var_tattridnode3
== NULL
) {
5940 if(cltype
>= var_tattridnode3
->type
->table_size
) {
5943 var5
= var_tattridnode3
->type
->type_table
[cltype
] == idtype
;
5946 if (unlikely(!var5
)) {
5947 PRINT_ERROR("Runtime error: %s", "Assert failed");
5948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8270);
5951 var6
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
5953 nit__parser_prod___AAttrExpr___init_aattrexpr(var6
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var6:AAttrExpr>*/
5955 var_pexprnode1
= var6
;
5956 var_node_list
= var_pexprnode1
;
5957 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction308> */
5959 var8
= nit___nit__Parser___go_to(var_p
, var7
);
5962 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5966 /* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */
5967 void nit__parser___nit__parser__ReduceAction310___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5968 val
* var_p
/* var p: Parser */;
5969 val
* var
/* : null */;
5970 val
* var_node_list
/* var node_list: nullable Object */;
5971 val
* var1
/* : nullable Object */;
5972 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5973 val
* var2
/* : nullable Object */;
5974 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5975 val
* var3
/* : nullable Object */;
5976 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5977 val
* var4
/* : nullable Object */;
5978 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5979 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5980 short int var5
/* : Bool */;
5983 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5984 short int var6
/* : Bool */;
5987 val
* var9
/* : Array[Object] */;
5988 val
* var_listnode5
/* var listnode5: Array[Object] */;
5989 val
* var10
/* : AListExprs */;
5990 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5991 val
* var11
/* : ACallExpr */;
5992 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5993 long var12
/* : Int */;
5994 long var13
/* : Int */;
5997 var_node_list
= var
;
5999 var1
= nit___nit__Parser___pop(var_p
);
6001 var_nodearraylist4
= var1
;
6003 var2
= nit___nit__Parser___pop(var_p
);
6005 var_nodearraylist3
= var2
;
6007 var3
= nit___nit__Parser___pop(var_p
);
6009 var_nodearraylist2
= var3
;
6011 var4
= nit___nit__Parser___pop(var_p
);
6013 var_nodearraylist1
= var4
;
6014 var_pexprnode2
= var_nodearraylist1
;
6015 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6016 cltype
= type_nullable__nit__AExpr
.color
;
6017 idtype
= type_nullable__nit__AExpr
.id
;
6018 if(var_pexprnode2
== NULL
) {
6021 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6024 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6027 if (unlikely(!var5
)) {
6028 PRINT_ERROR("Runtime error: %s", "Assert failed");
6029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8289);
6032 var_tidnode3
= var_nodearraylist4
;
6033 /* <var_tidnode3:nullable Object> isa nullable TId */
6034 cltype7
= type_nullable__nit__TId
.color
;
6035 idtype8
= type_nullable__nit__TId
.id
;
6036 if(var_tidnode3
== NULL
) {
6039 if(cltype7
>= var_tidnode3
->type
->table_size
) {
6042 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
6045 if (unlikely(!var6
)) {
6046 PRINT_ERROR("Runtime error: %s", "Assert failed");
6047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8291);
6050 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6052 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
6054 var_listnode5
= var9
;
6055 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6057 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
6059 var_pexprsnode4
= var10
;
6060 var11
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6062 nit__parser_prod___ACallExpr___init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
6064 var_pexprnode1
= var11
;
6065 var_node_list
= var_pexprnode1
;
6066 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction310> */
6068 var13
= nit___nit__Parser___go_to(var_p
, var12
);
6071 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6075 /* method parser#ReduceAction312#action for (self: ReduceAction312, Parser) */
6076 void nit__parser___nit__parser__ReduceAction312___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6077 val
* var_p
/* var p: Parser */;
6078 val
* var
/* : null */;
6079 val
* var_node_list
/* var node_list: nullable Object */;
6080 val
* var1
/* : nullable Object */;
6081 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6082 val
* var2
/* : nullable Object */;
6083 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6084 val
* var3
/* : nullable Object */;
6085 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6086 val
* var4
/* : nullable Object */;
6087 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6088 val
* var5
/* : nullable Object */;
6089 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6090 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6091 short int var6
/* : Bool */;
6094 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6095 short int var7
/* : Bool */;
6098 val
* var10
/* : Array[Object] */;
6099 val
* var_listnode5
/* var listnode5: Array[Object] */;
6100 val
* var11
/* : AListExprs */;
6101 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6102 val
* var12
/* : ACallExpr */;
6103 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6104 long var13
/* : Int */;
6105 long var14
/* : Int */;
6108 var_node_list
= var
;
6110 var1
= nit___nit__Parser___pop(var_p
);
6112 var_nodearraylist5
= var1
;
6114 var2
= nit___nit__Parser___pop(var_p
);
6116 var_nodearraylist4
= var2
;
6118 var3
= nit___nit__Parser___pop(var_p
);
6120 var_nodearraylist3
= var3
;
6122 var4
= nit___nit__Parser___pop(var_p
);
6124 var_nodearraylist2
= var4
;
6126 var5
= nit___nit__Parser___pop(var_p
);
6128 var_nodearraylist1
= var5
;
6129 var_pexprnode2
= var_nodearraylist1
;
6130 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6131 cltype
= type_nullable__nit__AExpr
.color
;
6132 idtype
= type_nullable__nit__AExpr
.id
;
6133 if(var_pexprnode2
== NULL
) {
6136 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6139 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6142 if (unlikely(!var6
)) {
6143 PRINT_ERROR("Runtime error: %s", "Assert failed");
6144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8316);
6147 var_tidnode3
= var_nodearraylist5
;
6148 /* <var_tidnode3:nullable Object> isa nullable TId */
6149 cltype8
= type_nullable__nit__TId
.color
;
6150 idtype9
= type_nullable__nit__TId
.id
;
6151 if(var_tidnode3
== NULL
) {
6154 if(cltype8
>= var_tidnode3
->type
->table_size
) {
6157 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
6160 if (unlikely(!var7
)) {
6161 PRINT_ERROR("Runtime error: %s", "Assert failed");
6162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8318);
6165 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6167 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
6169 var_listnode5
= var10
;
6170 var11
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6172 nit__parser_prod___AListExprs___init_alistexprs(var11
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
6174 var_pexprsnode4
= var11
;
6175 var12
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6177 nit__parser_prod___ACallExpr___init_acallexpr(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var12:ACallExpr>*/
6179 var_pexprnode1
= var12
;
6180 var_node_list
= var_pexprnode1
;
6181 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction312> */
6183 var14
= nit___nit__Parser___go_to(var_p
, var13
);
6186 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6190 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
6191 void nit__parser___nit__parser__ReduceAction314___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6192 val
* var_p
/* var p: Parser */;
6193 val
* var
/* : null */;
6194 val
* var_node_list
/* var node_list: nullable Object */;
6195 val
* var1
/* : nullable Object */;
6196 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6197 val
* var2
/* : nullable Object */;
6198 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6199 val
* var3
/* : nullable Object */;
6200 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6201 val
* var4
/* : nullable Object */;
6202 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6203 val
* var5
/* : nullable Object */;
6204 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6205 val
* var6
/* : nullable Object */;
6206 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6207 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6208 short int var7
/* : Bool */;
6211 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6212 short int var8
/* : Bool */;
6215 val
* var11
/* : Array[Object] */;
6216 val
* var_listnode5
/* var listnode5: Array[Object] */;
6217 val
* var12
/* : AListExprs */;
6218 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6219 val
* var13
/* : ACallExpr */;
6220 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6221 long var14
/* : Int */;
6222 long var15
/* : Int */;
6225 var_node_list
= var
;
6227 var1
= nit___nit__Parser___pop(var_p
);
6229 var_nodearraylist6
= var1
;
6231 var2
= nit___nit__Parser___pop(var_p
);
6233 var_nodearraylist5
= var2
;
6235 var3
= nit___nit__Parser___pop(var_p
);
6237 var_nodearraylist4
= var3
;
6239 var4
= nit___nit__Parser___pop(var_p
);
6241 var_nodearraylist3
= var4
;
6243 var5
= nit___nit__Parser___pop(var_p
);
6245 var_nodearraylist2
= var5
;
6247 var6
= nit___nit__Parser___pop(var_p
);
6249 var_nodearraylist1
= var6
;
6250 var_pexprnode2
= var_nodearraylist1
;
6251 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6252 cltype
= type_nullable__nit__AExpr
.color
;
6253 idtype
= type_nullable__nit__AExpr
.id
;
6254 if(var_pexprnode2
== NULL
) {
6257 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6260 var7
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6263 if (unlikely(!var7
)) {
6264 PRINT_ERROR("Runtime error: %s", "Assert failed");
6265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8344);
6268 var_tidnode3
= var_nodearraylist6
;
6269 /* <var_tidnode3:nullable Object> isa nullable TId */
6270 cltype9
= type_nullable__nit__TId
.color
;
6271 idtype10
= type_nullable__nit__TId
.id
;
6272 if(var_tidnode3
== NULL
) {
6275 if(cltype9
>= var_tidnode3
->type
->table_size
) {
6278 var8
= var_tidnode3
->type
->type_table
[cltype9
] == idtype10
;
6281 if (unlikely(!var8
)) {
6282 PRINT_ERROR("Runtime error: %s", "Assert failed");
6283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8346);
6286 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6288 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
6290 var_listnode5
= var11
;
6291 var12
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6293 nit__parser_prod___AListExprs___init_alistexprs(var12
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var12:AListExprs>*/
6295 var_pexprsnode4
= var12
;
6296 var13
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6298 nit__parser_prod___ACallExpr___init_acallexpr(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var13:ACallExpr>*/
6300 var_pexprnode1
= var13
;
6301 var_node_list
= var_pexprnode1
;
6302 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction314> */
6304 var15
= nit___nit__Parser___go_to(var_p
, var14
);
6307 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6311 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
6312 void nit__parser___nit__parser__ReduceAction318___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6313 val
* var_p
/* var p: Parser */;
6314 val
* var
/* : null */;
6315 val
* var_node_list
/* var node_list: nullable Object */;
6316 val
* var1
/* : nullable Object */;
6317 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6318 val
* var2
/* : AImplicitSelfExpr */;
6319 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6320 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6321 short int var4
/* : Bool */;
6324 val
* var5
/* : Array[Object] */;
6325 val
* var_listnode5
/* var listnode5: Array[Object] */;
6326 val
* var6
/* : AListExprs */;
6327 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6328 val
* var7
/* : ACallExpr */;
6329 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6330 long var8
/* : Int */;
6331 long var9
/* : Int */;
6334 var_node_list
= var
;
6336 var1
= nit___nit__Parser___pop(var_p
);
6338 var_nodearraylist1
= var1
;
6339 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6341 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on <var2:AImplicitSelfExpr> */
6345 var_pexprnode2
= var2
;
6346 var_tidnode3
= var_nodearraylist1
;
6347 /* <var_tidnode3:nullable Object> isa nullable TId */
6348 cltype
= type_nullable__nit__TId
.color
;
6349 idtype
= type_nullable__nit__TId
.id
;
6350 if(var_tidnode3
== NULL
) {
6353 if(cltype
>= var_tidnode3
->type
->table_size
) {
6356 var4
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6359 if (unlikely(!var4
)) {
6360 PRINT_ERROR("Runtime error: %s", "Assert failed");
6361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8368);
6364 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6366 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
6368 var_listnode5
= var5
;
6369 var6
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6371 nit__parser_prod___AListExprs___init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
6373 var_pexprsnode4
= var6
;
6374 var7
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6376 nit__parser_prod___ACallExpr___init_acallexpr(var7
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var7:ACallExpr>*/
6378 var_pexprnode1
= var7
;
6379 var_node_list
= var_pexprnode1
;
6380 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction318> */
6382 var9
= nit___nit__Parser___go_to(var_p
, var8
);
6385 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6389 /* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */
6390 void nit__parser___nit__parser__ReduceAction320___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6391 val
* var_p
/* var p: Parser */;
6392 val
* var
/* : null */;
6393 val
* var_node_list
/* var node_list: nullable Object */;
6394 val
* var1
/* : nullable Object */;
6395 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6396 val
* var2
/* : nullable Object */;
6397 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6398 val
* var3
/* : AImplicitSelfExpr */;
6399 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6400 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6401 short int var5
/* : Bool */;
6404 val
* var6
/* : Array[Object] */;
6405 val
* var_listnode5
/* var listnode5: Array[Object] */;
6406 val
* var7
/* : AListExprs */;
6407 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6408 val
* var8
/* : ACallExpr */;
6409 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6410 long var9
/* : Int */;
6411 long var10
/* : Int */;
6414 var_node_list
= var
;
6416 var1
= nit___nit__Parser___pop(var_p
);
6418 var_nodearraylist2
= var1
;
6420 var2
= nit___nit__Parser___pop(var_p
);
6422 var_nodearraylist1
= var2
;
6423 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6425 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on <var3:AImplicitSelfExpr> */
6429 var_pexprnode2
= var3
;
6430 var_tidnode3
= var_nodearraylist2
;
6431 /* <var_tidnode3:nullable Object> isa nullable TId */
6432 cltype
= type_nullable__nit__TId
.color
;
6433 idtype
= type_nullable__nit__TId
.id
;
6434 if(var_tidnode3
== NULL
) {
6437 if(cltype
>= var_tidnode3
->type
->table_size
) {
6440 var5
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6443 if (unlikely(!var5
)) {
6444 PRINT_ERROR("Runtime error: %s", "Assert failed");
6445 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8391);
6448 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6450 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
6452 var_listnode5
= var6
;
6453 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6455 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
6457 var_pexprsnode4
= var7
;
6458 var8
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6460 nit__parser_prod___ACallExpr___init_acallexpr(var8
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var8:ACallExpr>*/
6462 var_pexprnode1
= var8
;
6463 var_node_list
= var_pexprnode1
;
6464 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction320> */
6466 var10
= nit___nit__Parser___go_to(var_p
, var9
);
6469 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6473 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
6474 void nit__parser___nit__parser__ReduceAction322___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6475 val
* var_p
/* var p: Parser */;
6476 val
* var
/* : null */;
6477 val
* var_node_list
/* var node_list: nullable Object */;
6478 val
* var1
/* : nullable Object */;
6479 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6480 val
* var2
/* : nullable Object */;
6481 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6482 val
* var3
/* : nullable Object */;
6483 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6484 val
* var4
/* : AImplicitSelfExpr */;
6485 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6486 val
* var_tidnode3
/* var tidnode3: nullable Object */;
6487 short int var6
/* : Bool */;
6490 val
* var7
/* : Array[Object] */;
6491 val
* var_listnode5
/* var listnode5: Array[Object] */;
6492 val
* var8
/* : AListExprs */;
6493 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6494 val
* var9
/* : ACallExpr */;
6495 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
6496 long var10
/* : Int */;
6497 long var11
/* : Int */;
6500 var_node_list
= var
;
6502 var1
= nit___nit__Parser___pop(var_p
);
6504 var_nodearraylist3
= var1
;
6506 var2
= nit___nit__Parser___pop(var_p
);
6508 var_nodearraylist2
= var2
;
6510 var3
= nit___nit__Parser___pop(var_p
);
6512 var_nodearraylist1
= var3
;
6513 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6515 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on <var4:AImplicitSelfExpr> */
6519 var_pexprnode2
= var4
;
6520 var_tidnode3
= var_nodearraylist3
;
6521 /* <var_tidnode3:nullable Object> isa nullable TId */
6522 cltype
= type_nullable__nit__TId
.color
;
6523 idtype
= type_nullable__nit__TId
.id
;
6524 if(var_tidnode3
== NULL
) {
6527 if(cltype
>= var_tidnode3
->type
->table_size
) {
6530 var6
= var_tidnode3
->type
->type_table
[cltype
] == idtype
;
6533 if (unlikely(!var6
)) {
6534 PRINT_ERROR("Runtime error: %s", "Assert failed");
6535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8415);
6538 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6540 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6542 var_listnode5
= var7
;
6543 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6545 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6547 var_pexprsnode4
= var8
;
6548 var9
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
6550 nit__parser_prod___ACallExpr___init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
6552 var_pexprnode1
= var9
;
6553 var_node_list
= var_pexprnode1
;
6554 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction322> */
6556 var11
= nit___nit__Parser___go_to(var_p
, var10
);
6559 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6563 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
6564 void nit__parser___nit__parser__ReduceAction326___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6565 val
* var_p
/* var p: Parser */;
6566 val
* var
/* : null */;
6567 val
* var_node_list
/* var node_list: nullable Object */;
6568 val
* var1
/* : nullable Object */;
6569 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6570 val
* var2
/* : nullable Object */;
6571 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6572 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
6573 short int var3
/* : Bool */;
6576 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
6577 short int var4
/* : Bool */;
6580 val
* var7
/* : Array[Object] */;
6581 val
* var_listnode5
/* var listnode5: Array[Object] */;
6582 val
* var8
/* : AListExprs */;
6583 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6584 val
* var9
/* : ASuperExpr */;
6585 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
6586 long var10
/* : Int */;
6587 long var11
/* : Int */;
6590 var_node_list
= var
;
6592 var1
= nit___nit__Parser___pop(var_p
);
6594 var_nodearraylist2
= var1
;
6596 var2
= nit___nit__Parser___pop(var_p
);
6598 var_nodearraylist1
= var2
;
6599 var_pqualifiednode2
= var_nodearraylist1
;
6600 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
6601 cltype
= type_nullable__nit__AQualified
.color
;
6602 idtype
= type_nullable__nit__AQualified
.id
;
6603 if(var_pqualifiednode2
== NULL
) {
6606 if(cltype
>= var_pqualifiednode2
->type
->table_size
) {
6609 var3
= var_pqualifiednode2
->type
->type_table
[cltype
] == idtype
;
6612 if (unlikely(!var3
)) {
6613 PRINT_ERROR("Runtime error: %s", "Assert failed");
6614 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8437);
6617 var_tkwsupernode3
= var_nodearraylist2
;
6618 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
6619 cltype5
= type_nullable__nit__TKwsuper
.color
;
6620 idtype6
= type_nullable__nit__TKwsuper
.id
;
6621 if(var_tkwsupernode3
== NULL
) {
6624 if(cltype5
>= var_tkwsupernode3
->type
->table_size
) {
6627 var4
= var_tkwsupernode3
->type
->type_table
[cltype5
] == idtype6
;
6630 if (unlikely(!var4
)) {
6631 PRINT_ERROR("Runtime error: %s", "Assert failed");
6632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8439);
6635 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6637 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
6639 var_listnode5
= var7
;
6640 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6642 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
6644 var_pexprsnode4
= var8
;
6645 var9
= NEW_nit__ASuperExpr(&type_nit__ASuperExpr
);
6647 nit__parser_prod___ASuperExpr___init_asuperexpr(var9
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var9:ASuperExpr>*/
6649 var_pexprnode1
= var9
;
6650 var_node_list
= var_pexprnode1
;
6651 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction326> */
6653 var11
= nit___nit__Parser___go_to(var_p
, var10
);
6656 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6660 /* method parser#ReduceAction328#action for (self: ReduceAction328, Parser) */
6661 void nit__parser___nit__parser__ReduceAction328___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6662 val
* var_p
/* var p: Parser */;
6663 val
* var
/* : null */;
6664 val
* var_node_list
/* var node_list: nullable Object */;
6665 val
* var1
/* : nullable Object */;
6666 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6667 val
* var2
/* : nullable Object */;
6668 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6669 val
* var3
/* : nullable Object */;
6670 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6671 val
* var4
/* : nullable Object */;
6672 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6673 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6674 short int var5
/* : Bool */;
6677 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6678 short int var6
/* : Bool */;
6681 val
* var9
/* : Array[Object] */;
6682 val
* var_listnode5
/* var listnode5: Array[Object] */;
6683 val
* var10
/* : AListExprs */;
6684 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6685 val
* var11
/* : AInitExpr */;
6686 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6687 long var12
/* : Int */;
6688 long var13
/* : Int */;
6691 var_node_list
= var
;
6693 var1
= nit___nit__Parser___pop(var_p
);
6695 var_nodearraylist4
= var1
;
6697 var2
= nit___nit__Parser___pop(var_p
);
6699 var_nodearraylist3
= var2
;
6701 var3
= nit___nit__Parser___pop(var_p
);
6703 var_nodearraylist2
= var3
;
6705 var4
= nit___nit__Parser___pop(var_p
);
6707 var_nodearraylist1
= var4
;
6708 var_pexprnode2
= var_nodearraylist1
;
6709 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6710 cltype
= type_nullable__nit__AExpr
.color
;
6711 idtype
= type_nullable__nit__AExpr
.id
;
6712 if(var_pexprnode2
== NULL
) {
6715 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6718 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6721 if (unlikely(!var5
)) {
6722 PRINT_ERROR("Runtime error: %s", "Assert failed");
6723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8463);
6726 var_tkwinitnode3
= var_nodearraylist4
;
6727 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6728 cltype7
= type_nullable__nit__TKwinit
.color
;
6729 idtype8
= type_nullable__nit__TKwinit
.id
;
6730 if(var_tkwinitnode3
== NULL
) {
6733 if(cltype7
>= var_tkwinitnode3
->type
->table_size
) {
6736 var6
= var_tkwinitnode3
->type
->type_table
[cltype7
] == idtype8
;
6739 if (unlikely(!var6
)) {
6740 PRINT_ERROR("Runtime error: %s", "Assert failed");
6741 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8465);
6744 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6746 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
6748 var_listnode5
= var9
;
6749 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6751 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
6753 var_pexprsnode4
= var10
;
6754 var11
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
6756 nit__parser_prod___AInitExpr___init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
6758 var_pexprnode1
= var11
;
6759 var_node_list
= var_pexprnode1
;
6760 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction328> */
6762 var13
= nit___nit__Parser___go_to(var_p
, var12
);
6765 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6769 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
6770 void nit__parser___nit__parser__ReduceAction330___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6771 val
* var_p
/* var p: Parser */;
6772 val
* var
/* : null */;
6773 val
* var_node_list
/* var node_list: nullable Object */;
6774 val
* var1
/* : nullable Object */;
6775 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6776 val
* var2
/* : AImplicitSelfExpr */;
6777 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
6778 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
6779 short int var4
/* : Bool */;
6782 val
* var5
/* : Array[Object] */;
6783 val
* var_listnode5
/* var listnode5: Array[Object] */;
6784 val
* var6
/* : AListExprs */;
6785 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
6786 val
* var7
/* : AInitExpr */;
6787 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
6788 long var8
/* : Int */;
6789 long var9
/* : Int */;
6792 var_node_list
= var
;
6794 var1
= nit___nit__Parser___pop(var_p
);
6796 var_nodearraylist1
= var1
;
6797 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
6799 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on <var2:AImplicitSelfExpr> */
6803 var_pexprnode2
= var2
;
6804 var_tkwinitnode3
= var_nodearraylist1
;
6805 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
6806 cltype
= type_nullable__nit__TKwinit
.color
;
6807 idtype
= type_nullable__nit__TKwinit
.id
;
6808 if(var_tkwinitnode3
== NULL
) {
6811 if(cltype
>= var_tkwinitnode3
->type
->table_size
) {
6814 var4
= var_tkwinitnode3
->type
->type_table
[cltype
] == idtype
;
6817 if (unlikely(!var4
)) {
6818 PRINT_ERROR("Runtime error: %s", "Assert failed");
6819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8487);
6822 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6824 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
6826 var_listnode5
= var5
;
6827 var6
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6829 nit__parser_prod___AListExprs___init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
6831 var_pexprsnode4
= var6
;
6832 var7
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
6834 nit__parser_prod___AInitExpr___init_ainitexpr(var7
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var7:AInitExpr>*/
6836 var_pexprnode1
= var7
;
6837 var_node_list
= var_pexprnode1
;
6838 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction330> */
6840 var9
= nit___nit__Parser___go_to(var_p
, var8
);
6843 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6847 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
6848 void nit__parser___nit__parser__ReduceAction331___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6849 val
* var_p
/* var p: Parser */;
6850 val
* var
/* : null */;
6851 val
* var_node_list
/* var node_list: nullable Object */;
6852 val
* var1
/* : nullable Object */;
6853 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6854 val
* var2
/* : nullable Object */;
6855 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6856 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6857 short int var3
/* : Bool */;
6860 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
6861 short int var4
/* : Bool */;
6864 val
* var7
/* : ABraExpr */;
6865 val
* var_pexprnode1
/* var pexprnode1: nullable ABraExpr */;
6866 long var8
/* : Int */;
6867 long var9
/* : Int */;
6870 var_node_list
= var
;
6872 var1
= nit___nit__Parser___pop(var_p
);
6874 var_nodearraylist2
= var1
;
6876 var2
= nit___nit__Parser___pop(var_p
);
6878 var_nodearraylist1
= var2
;
6879 var_pexprnode2
= var_nodearraylist1
;
6880 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6881 cltype
= type_nullable__nit__AExpr
.color
;
6882 idtype
= type_nullable__nit__AExpr
.id
;
6883 if(var_pexprnode2
== NULL
) {
6886 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6889 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6892 if (unlikely(!var3
)) {
6893 PRINT_ERROR("Runtime error: %s", "Assert failed");
6894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8509);
6897 var_pexprsnode3
= var_nodearraylist2
;
6898 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
6899 cltype5
= type_nullable__nit__AExprs
.color
;
6900 idtype6
= type_nullable__nit__AExprs
.id
;
6901 if(var_pexprsnode3
== NULL
) {
6904 if(cltype5
>= var_pexprsnode3
->type
->table_size
) {
6907 var4
= var_pexprsnode3
->type
->type_table
[cltype5
] == idtype6
;
6910 if (unlikely(!var4
)) {
6911 PRINT_ERROR("Runtime error: %s", "Assert failed");
6912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8511);
6915 var7
= NEW_nit__ABraExpr(&type_nit__ABraExpr
);
6917 nit__parser_prod___ABraExpr___init_abraexpr(var7
, var_pexprnode2
, var_pexprsnode3
); /* Direct call parser_prod#ABraExpr#init_abraexpr on <var7:ABraExpr>*/
6919 var_pexprnode1
= var7
;
6920 var_node_list
= var_pexprnode1
;
6921 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction331> */
6923 var9
= nit___nit__Parser___go_to(var_p
, var8
);
6926 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6930 /* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */
6931 void nit__parser___nit__parser__ReduceAction332___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6932 val
* var_p
/* var p: Parser */;
6933 val
* var
/* : null */;
6934 val
* var_node_list
/* var node_list: nullable Object */;
6935 val
* var1
/* : nullable Object */;
6936 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6937 val
* var2
/* : nullable Object */;
6938 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6939 val
* var3
/* : nullable Object */;
6940 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6941 val
* var4
/* : nullable Object */;
6942 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6943 val
* var5
/* : nullable Object */;
6944 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6945 val
* var6
/* : nullable Object */;
6946 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6947 val
* var7
/* : nullable Object */;
6948 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6949 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6950 short int var8
/* : Bool */;
6953 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6954 short int var9
/* : Bool */;
6957 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6958 short int var12
/* : Bool */;
6961 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6962 short int var15
/* : Bool */;
6965 val
* var18
/* : ANewExpr */;
6966 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6967 long var19
/* : Int */;
6968 long var20
/* : Int */;
6971 var_node_list
= var
;
6973 var1
= nit___nit__Parser___pop(var_p
);
6975 var_nodearraylist7
= var1
;
6977 var2
= nit___nit__Parser___pop(var_p
);
6979 var_nodearraylist6
= var2
;
6981 var3
= nit___nit__Parser___pop(var_p
);
6983 var_nodearraylist5
= var3
;
6985 var4
= nit___nit__Parser___pop(var_p
);
6987 var_nodearraylist4
= var4
;
6989 var5
= nit___nit__Parser___pop(var_p
);
6991 var_nodearraylist3
= var5
;
6993 var6
= nit___nit__Parser___pop(var_p
);
6995 var_nodearraylist2
= var6
;
6997 var7
= nit___nit__Parser___pop(var_p
);
6999 var_nodearraylist1
= var7
;
7000 var_tkwnewnode2
= var_nodearraylist1
;
7001 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7002 cltype
= type_nullable__nit__TKwnew
.color
;
7003 idtype
= type_nullable__nit__TKwnew
.id
;
7004 if(var_tkwnewnode2
== NULL
) {
7007 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7010 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7013 if (unlikely(!var8
)) {
7014 PRINT_ERROR("Runtime error: %s", "Assert failed");
7015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8533);
7018 var_ptypenode3
= var_nodearraylist3
;
7019 /* <var_ptypenode3:nullable Object> isa nullable AType */
7020 cltype10
= type_nullable__nit__AType
.color
;
7021 idtype11
= type_nullable__nit__AType
.id
;
7022 if(var_ptypenode3
== NULL
) {
7025 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
7028 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
7031 if (unlikely(!var9
)) {
7032 PRINT_ERROR("Runtime error: %s", "Assert failed");
7033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8535);
7036 var_tidnode4
= var_nodearraylist6
;
7037 /* <var_tidnode4:nullable Object> isa nullable TId */
7038 cltype13
= type_nullable__nit__TId
.color
;
7039 idtype14
= type_nullable__nit__TId
.id
;
7040 if(var_tidnode4
== NULL
) {
7043 if(cltype13
>= var_tidnode4
->type
->table_size
) {
7046 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
7049 if (unlikely(!var12
)) {
7050 PRINT_ERROR("Runtime error: %s", "Assert failed");
7051 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8537);
7054 var_pexprsnode5
= var_nodearraylist7
;
7055 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
7056 cltype16
= type_nullable__nit__AExprs
.color
;
7057 idtype17
= type_nullable__nit__AExprs
.id
;
7058 if(var_pexprsnode5
== NULL
) {
7061 if(cltype16
>= var_pexprsnode5
->type
->table_size
) {
7064 var15
= var_pexprsnode5
->type
->type_table
[cltype16
] == idtype17
;
7067 if (unlikely(!var15
)) {
7068 PRINT_ERROR("Runtime error: %s", "Assert failed");
7069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8539);
7072 var18
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7074 nit__parser_prod___ANewExpr___init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
7076 var_pexprnode1
= var18
;
7077 var_node_list
= var_pexprnode1
;
7078 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction332> */
7080 var20
= nit___nit__Parser___go_to(var_p
, var19
);
7083 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7087 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
7088 void nit__parser___nit__parser__ReduceAction333___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7089 val
* var_p
/* var p: Parser */;
7090 val
* var
/* : null */;
7091 val
* var_node_list
/* var node_list: nullable Object */;
7092 val
* var1
/* : nullable Object */;
7093 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7094 val
* var2
/* : nullable Object */;
7095 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7096 val
* var3
/* : nullable Object */;
7097 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7098 val
* var4
/* : nullable Object */;
7099 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7100 val
* var5
/* : nullable Object */;
7101 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7102 val
* var6
/* : nullable Object */;
7103 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7104 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7105 short int var7
/* : Bool */;
7108 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7109 short int var8
/* : Bool */;
7112 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7113 short int var11
/* : Bool */;
7116 val
* var14
/* : Array[Object] */;
7117 val
* var_listnode6
/* var listnode6: Array[Object] */;
7118 val
* var15
/* : AListExprs */;
7119 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
7120 val
* var16
/* : ANewExpr */;
7121 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7122 long var17
/* : Int */;
7123 long var18
/* : Int */;
7126 var_node_list
= var
;
7128 var1
= nit___nit__Parser___pop(var_p
);
7130 var_nodearraylist6
= var1
;
7132 var2
= nit___nit__Parser___pop(var_p
);
7134 var_nodearraylist5
= var2
;
7136 var3
= nit___nit__Parser___pop(var_p
);
7138 var_nodearraylist4
= var3
;
7140 var4
= nit___nit__Parser___pop(var_p
);
7142 var_nodearraylist3
= var4
;
7144 var5
= nit___nit__Parser___pop(var_p
);
7146 var_nodearraylist2
= var5
;
7148 var6
= nit___nit__Parser___pop(var_p
);
7150 var_nodearraylist1
= var6
;
7151 var_tkwnewnode2
= var_nodearraylist1
;
7152 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7153 cltype
= type_nullable__nit__TKwnew
.color
;
7154 idtype
= type_nullable__nit__TKwnew
.id
;
7155 if(var_tkwnewnode2
== NULL
) {
7158 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7161 var7
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7164 if (unlikely(!var7
)) {
7165 PRINT_ERROR("Runtime error: %s", "Assert failed");
7166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8562);
7169 var_ptypenode3
= var_nodearraylist3
;
7170 /* <var_ptypenode3:nullable Object> isa nullable AType */
7171 cltype9
= type_nullable__nit__AType
.color
;
7172 idtype10
= type_nullable__nit__AType
.id
;
7173 if(var_ptypenode3
== NULL
) {
7176 if(cltype9
>= var_ptypenode3
->type
->table_size
) {
7179 var8
= var_ptypenode3
->type
->type_table
[cltype9
] == idtype10
;
7182 if (unlikely(!var8
)) {
7183 PRINT_ERROR("Runtime error: %s", "Assert failed");
7184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8564);
7187 var_tidnode4
= var_nodearraylist6
;
7188 /* <var_tidnode4:nullable Object> isa nullable TId */
7189 cltype12
= type_nullable__nit__TId
.color
;
7190 idtype13
= type_nullable__nit__TId
.id
;
7191 if(var_tidnode4
== NULL
) {
7194 if(cltype12
>= var_tidnode4
->type
->table_size
) {
7197 var11
= var_tidnode4
->type
->type_table
[cltype12
] == idtype13
;
7200 if (unlikely(!var11
)) {
7201 PRINT_ERROR("Runtime error: %s", "Assert failed");
7202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8566);
7205 var14
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7207 standard___standard__Array___standard__kernel__Object__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
7209 var_listnode6
= var14
;
7210 var15
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7212 nit__parser_prod___AListExprs___init_alistexprs(var15
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var15:AListExprs>*/
7214 var_pexprsnode5
= var15
;
7215 var16
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7217 nit__parser_prod___ANewExpr___init_anewexpr(var16
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var16:ANewExpr>*/
7219 var_pexprnode1
= var16
;
7220 var_node_list
= var_pexprnode1
;
7221 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction333> */
7223 var18
= nit___nit__Parser___go_to(var_p
, var17
);
7226 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7230 /* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */
7231 void nit__parser___nit__parser__ReduceAction334___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7232 val
* var_p
/* var p: Parser */;
7233 val
* var
/* : null */;
7234 val
* var_node_list
/* var node_list: nullable Object */;
7235 val
* var1
/* : nullable Object */;
7236 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7237 val
* var2
/* : nullable Object */;
7238 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7239 val
* var3
/* : nullable Object */;
7240 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7241 val
* var4
/* : nullable Object */;
7242 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7243 val
* var5
/* : nullable Object */;
7244 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7245 val
* var6
/* : nullable Object */;
7246 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7247 val
* var7
/* : nullable Object */;
7248 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7249 val
* var8
/* : nullable Object */;
7250 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7251 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7252 short int var9
/* : Bool */;
7255 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7256 short int var10
/* : Bool */;
7259 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7260 short int var13
/* : Bool */;
7263 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
7264 short int var16
/* : Bool */;
7267 val
* var19
/* : ANewExpr */;
7268 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7269 long var20
/* : Int */;
7270 long var21
/* : Int */;
7273 var_node_list
= var
;
7275 var1
= nit___nit__Parser___pop(var_p
);
7277 var_nodearraylist8
= var1
;
7279 var2
= nit___nit__Parser___pop(var_p
);
7281 var_nodearraylist7
= var2
;
7283 var3
= nit___nit__Parser___pop(var_p
);
7285 var_nodearraylist6
= var3
;
7287 var4
= nit___nit__Parser___pop(var_p
);
7289 var_nodearraylist5
= var4
;
7291 var5
= nit___nit__Parser___pop(var_p
);
7293 var_nodearraylist4
= var5
;
7295 var6
= nit___nit__Parser___pop(var_p
);
7297 var_nodearraylist3
= var6
;
7299 var7
= nit___nit__Parser___pop(var_p
);
7301 var_nodearraylist2
= var7
;
7303 var8
= nit___nit__Parser___pop(var_p
);
7305 var_nodearraylist1
= var8
;
7306 var_tkwnewnode2
= var_nodearraylist1
;
7307 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7308 cltype
= type_nullable__nit__TKwnew
.color
;
7309 idtype
= type_nullable__nit__TKwnew
.id
;
7310 if(var_tkwnewnode2
== NULL
) {
7313 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7316 var9
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7319 if (unlikely(!var9
)) {
7320 PRINT_ERROR("Runtime error: %s", "Assert failed");
7321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8595);
7324 var_ptypenode3
= var_nodearraylist3
;
7325 /* <var_ptypenode3:nullable Object> isa nullable AType */
7326 cltype11
= type_nullable__nit__AType
.color
;
7327 idtype12
= type_nullable__nit__AType
.id
;
7328 if(var_ptypenode3
== NULL
) {
7331 if(cltype11
>= var_ptypenode3
->type
->table_size
) {
7334 var10
= var_ptypenode3
->type
->type_table
[cltype11
] == idtype12
;
7337 if (unlikely(!var10
)) {
7338 PRINT_ERROR("Runtime error: %s", "Assert failed");
7339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8597);
7342 var_tidnode4
= var_nodearraylist7
;
7343 /* <var_tidnode4:nullable Object> isa nullable TId */
7344 cltype14
= type_nullable__nit__TId
.color
;
7345 idtype15
= type_nullable__nit__TId
.id
;
7346 if(var_tidnode4
== NULL
) {
7349 if(cltype14
>= var_tidnode4
->type
->table_size
) {
7352 var13
= var_tidnode4
->type
->type_table
[cltype14
] == idtype15
;
7355 if (unlikely(!var13
)) {
7356 PRINT_ERROR("Runtime error: %s", "Assert failed");
7357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8599);
7360 var_pexprsnode5
= var_nodearraylist8
;
7361 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
7362 cltype17
= type_nullable__nit__AExprs
.color
;
7363 idtype18
= type_nullable__nit__AExprs
.id
;
7364 if(var_pexprsnode5
== NULL
) {
7367 if(cltype17
>= var_pexprsnode5
->type
->table_size
) {
7370 var16
= var_pexprsnode5
->type
->type_table
[cltype17
] == idtype18
;
7373 if (unlikely(!var16
)) {
7374 PRINT_ERROR("Runtime error: %s", "Assert failed");
7375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8601);
7378 var19
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7380 nit__parser_prod___ANewExpr___init_anewexpr(var19
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var19:ANewExpr>*/
7382 var_pexprnode1
= var19
;
7383 var_node_list
= var_pexprnode1
;
7384 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction334> */
7386 var21
= nit___nit__Parser___go_to(var_p
, var20
);
7389 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7393 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
7394 void nit__parser___nit__parser__ReduceAction335___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7395 val
* var_p
/* var p: Parser */;
7396 val
* var
/* : null */;
7397 val
* var_node_list
/* var node_list: nullable Object */;
7398 val
* var1
/* : nullable Object */;
7399 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7400 val
* var2
/* : nullable Object */;
7401 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7402 val
* var3
/* : nullable Object */;
7403 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7404 val
* var4
/* : nullable Object */;
7405 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7406 val
* var5
/* : nullable Object */;
7407 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7408 val
* var6
/* : nullable Object */;
7409 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7410 val
* var7
/* : nullable Object */;
7411 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7412 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7413 short int var8
/* : Bool */;
7416 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7417 short int var9
/* : Bool */;
7420 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7421 short int var12
/* : Bool */;
7424 val
* var15
/* : Array[Object] */;
7425 val
* var_listnode6
/* var listnode6: Array[Object] */;
7426 val
* var16
/* : AListExprs */;
7427 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
7428 val
* var17
/* : ANewExpr */;
7429 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7430 long var18
/* : Int */;
7431 long var19
/* : Int */;
7434 var_node_list
= var
;
7436 var1
= nit___nit__Parser___pop(var_p
);
7438 var_nodearraylist7
= var1
;
7440 var2
= nit___nit__Parser___pop(var_p
);
7442 var_nodearraylist6
= var2
;
7444 var3
= nit___nit__Parser___pop(var_p
);
7446 var_nodearraylist5
= var3
;
7448 var4
= nit___nit__Parser___pop(var_p
);
7450 var_nodearraylist4
= var4
;
7452 var5
= nit___nit__Parser___pop(var_p
);
7454 var_nodearraylist3
= var5
;
7456 var6
= nit___nit__Parser___pop(var_p
);
7458 var_nodearraylist2
= var6
;
7460 var7
= nit___nit__Parser___pop(var_p
);
7462 var_nodearraylist1
= var7
;
7463 var_tkwnewnode2
= var_nodearraylist1
;
7464 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7465 cltype
= type_nullable__nit__TKwnew
.color
;
7466 idtype
= type_nullable__nit__TKwnew
.id
;
7467 if(var_tkwnewnode2
== NULL
) {
7470 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7473 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7476 if (unlikely(!var8
)) {
7477 PRINT_ERROR("Runtime error: %s", "Assert failed");
7478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8625);
7481 var_ptypenode3
= var_nodearraylist3
;
7482 /* <var_ptypenode3:nullable Object> isa nullable AType */
7483 cltype10
= type_nullable__nit__AType
.color
;
7484 idtype11
= type_nullable__nit__AType
.id
;
7485 if(var_ptypenode3
== NULL
) {
7488 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
7491 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
7494 if (unlikely(!var9
)) {
7495 PRINT_ERROR("Runtime error: %s", "Assert failed");
7496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8627);
7499 var_tidnode4
= var_nodearraylist7
;
7500 /* <var_tidnode4:nullable Object> isa nullable TId */
7501 cltype13
= type_nullable__nit__TId
.color
;
7502 idtype14
= type_nullable__nit__TId
.id
;
7503 if(var_tidnode4
== NULL
) {
7506 if(cltype13
>= var_tidnode4
->type
->table_size
) {
7509 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
7512 if (unlikely(!var12
)) {
7513 PRINT_ERROR("Runtime error: %s", "Assert failed");
7514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8629);
7517 var15
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7519 standard___standard__Array___standard__kernel__Object__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
7521 var_listnode6
= var15
;
7522 var16
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7524 nit__parser_prod___AListExprs___init_alistexprs(var16
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var16:AListExprs>*/
7526 var_pexprsnode5
= var16
;
7527 var17
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7529 nit__parser_prod___ANewExpr___init_anewexpr(var17
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var17:ANewExpr>*/
7531 var_pexprnode1
= var17
;
7532 var_node_list
= var_pexprnode1
;
7533 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction335> */
7535 var19
= nit___nit__Parser___go_to(var_p
, var18
);
7538 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7542 /* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */
7543 void nit__parser___nit__parser__ReduceAction336___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7544 val
* var_p
/* var p: Parser */;
7545 val
* var
/* : null */;
7546 val
* var_node_list
/* var node_list: nullable Object */;
7547 val
* var1
/* : nullable Object */;
7548 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7549 val
* var2
/* : nullable Object */;
7550 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7551 val
* var3
/* : nullable Object */;
7552 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7553 val
* var4
/* : nullable Object */;
7554 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7555 val
* var5
/* : nullable Object */;
7556 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7557 val
* var6
/* : nullable Object */;
7558 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7559 val
* var7
/* : nullable Object */;
7560 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7561 val
* var8
/* : nullable Object */;
7562 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7563 val
* var9
/* : nullable Object */;
7564 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7565 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7566 short int var10
/* : Bool */;
7569 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7570 short int var11
/* : Bool */;
7573 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7574 short int var14
/* : Bool */;
7577 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
7578 short int var17
/* : Bool */;
7581 val
* var20
/* : ANewExpr */;
7582 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7583 long var21
/* : Int */;
7584 long var22
/* : Int */;
7587 var_node_list
= var
;
7589 var1
= nit___nit__Parser___pop(var_p
);
7591 var_nodearraylist9
= var1
;
7593 var2
= nit___nit__Parser___pop(var_p
);
7595 var_nodearraylist8
= var2
;
7597 var3
= nit___nit__Parser___pop(var_p
);
7599 var_nodearraylist7
= var3
;
7601 var4
= nit___nit__Parser___pop(var_p
);
7603 var_nodearraylist6
= var4
;
7605 var5
= nit___nit__Parser___pop(var_p
);
7607 var_nodearraylist5
= var5
;
7609 var6
= nit___nit__Parser___pop(var_p
);
7611 var_nodearraylist4
= var6
;
7613 var7
= nit___nit__Parser___pop(var_p
);
7615 var_nodearraylist3
= var7
;
7617 var8
= nit___nit__Parser___pop(var_p
);
7619 var_nodearraylist2
= var8
;
7621 var9
= nit___nit__Parser___pop(var_p
);
7623 var_nodearraylist1
= var9
;
7624 var_tkwnewnode2
= var_nodearraylist1
;
7625 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7626 cltype
= type_nullable__nit__TKwnew
.color
;
7627 idtype
= type_nullable__nit__TKwnew
.id
;
7628 if(var_tkwnewnode2
== NULL
) {
7631 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7634 var10
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7637 if (unlikely(!var10
)) {
7638 PRINT_ERROR("Runtime error: %s", "Assert failed");
7639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8659);
7642 var_ptypenode3
= var_nodearraylist3
;
7643 /* <var_ptypenode3:nullable Object> isa nullable AType */
7644 cltype12
= type_nullable__nit__AType
.color
;
7645 idtype13
= type_nullable__nit__AType
.id
;
7646 if(var_ptypenode3
== NULL
) {
7649 if(cltype12
>= var_ptypenode3
->type
->table_size
) {
7652 var11
= var_ptypenode3
->type
->type_table
[cltype12
] == idtype13
;
7655 if (unlikely(!var11
)) {
7656 PRINT_ERROR("Runtime error: %s", "Assert failed");
7657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8661);
7660 var_tidnode4
= var_nodearraylist8
;
7661 /* <var_tidnode4:nullable Object> isa nullable TId */
7662 cltype15
= type_nullable__nit__TId
.color
;
7663 idtype16
= type_nullable__nit__TId
.id
;
7664 if(var_tidnode4
== NULL
) {
7667 if(cltype15
>= var_tidnode4
->type
->table_size
) {
7670 var14
= var_tidnode4
->type
->type_table
[cltype15
] == idtype16
;
7673 if (unlikely(!var14
)) {
7674 PRINT_ERROR("Runtime error: %s", "Assert failed");
7675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8663);
7678 var_pexprsnode5
= var_nodearraylist9
;
7679 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
7680 cltype18
= type_nullable__nit__AExprs
.color
;
7681 idtype19
= type_nullable__nit__AExprs
.id
;
7682 if(var_pexprsnode5
== NULL
) {
7685 if(cltype18
>= var_pexprsnode5
->type
->table_size
) {
7688 var17
= var_pexprsnode5
->type
->type_table
[cltype18
] == idtype19
;
7691 if (unlikely(!var17
)) {
7692 PRINT_ERROR("Runtime error: %s", "Assert failed");
7693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8665);
7696 var20
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7698 nit__parser_prod___ANewExpr___init_anewexpr(var20
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var20:ANewExpr>*/
7700 var_pexprnode1
= var20
;
7701 var_node_list
= var_pexprnode1
;
7702 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction336> */
7704 var22
= nit___nit__Parser___go_to(var_p
, var21
);
7707 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7711 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
7712 void nit__parser___nit__parser__ReduceAction337___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7713 val
* var_p
/* var p: Parser */;
7714 val
* var
/* : null */;
7715 val
* var_node_list
/* var node_list: nullable Object */;
7716 val
* var1
/* : nullable Object */;
7717 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7718 val
* var2
/* : nullable Object */;
7719 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7720 val
* var3
/* : nullable Object */;
7721 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7722 val
* var4
/* : nullable Object */;
7723 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7724 val
* var5
/* : nullable Object */;
7725 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7726 val
* var6
/* : nullable Object */;
7727 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7728 val
* var7
/* : nullable Object */;
7729 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7730 val
* var8
/* : nullable Object */;
7731 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7732 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
7733 short int var9
/* : Bool */;
7736 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
7737 short int var10
/* : Bool */;
7740 val
* var_tidnode4
/* var tidnode4: nullable Object */;
7741 short int var13
/* : Bool */;
7744 val
* var16
/* : Array[Object] */;
7745 val
* var_listnode6
/* var listnode6: Array[Object] */;
7746 val
* var17
/* : AListExprs */;
7747 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
7748 val
* var18
/* : ANewExpr */;
7749 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
7750 long var19
/* : Int */;
7751 long var20
/* : Int */;
7754 var_node_list
= var
;
7756 var1
= nit___nit__Parser___pop(var_p
);
7758 var_nodearraylist8
= var1
;
7760 var2
= nit___nit__Parser___pop(var_p
);
7762 var_nodearraylist7
= var2
;
7764 var3
= nit___nit__Parser___pop(var_p
);
7766 var_nodearraylist6
= var3
;
7768 var4
= nit___nit__Parser___pop(var_p
);
7770 var_nodearraylist5
= var4
;
7772 var5
= nit___nit__Parser___pop(var_p
);
7774 var_nodearraylist4
= var5
;
7776 var6
= nit___nit__Parser___pop(var_p
);
7778 var_nodearraylist3
= var6
;
7780 var7
= nit___nit__Parser___pop(var_p
);
7782 var_nodearraylist2
= var7
;
7784 var8
= nit___nit__Parser___pop(var_p
);
7786 var_nodearraylist1
= var8
;
7787 var_tkwnewnode2
= var_nodearraylist1
;
7788 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
7789 cltype
= type_nullable__nit__TKwnew
.color
;
7790 idtype
= type_nullable__nit__TKwnew
.id
;
7791 if(var_tkwnewnode2
== NULL
) {
7794 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
7797 var9
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
7800 if (unlikely(!var9
)) {
7801 PRINT_ERROR("Runtime error: %s", "Assert failed");
7802 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8690);
7805 var_ptypenode3
= var_nodearraylist3
;
7806 /* <var_ptypenode3:nullable Object> isa nullable AType */
7807 cltype11
= type_nullable__nit__AType
.color
;
7808 idtype12
= type_nullable__nit__AType
.id
;
7809 if(var_ptypenode3
== NULL
) {
7812 if(cltype11
>= var_ptypenode3
->type
->table_size
) {
7815 var10
= var_ptypenode3
->type
->type_table
[cltype11
] == idtype12
;
7818 if (unlikely(!var10
)) {
7819 PRINT_ERROR("Runtime error: %s", "Assert failed");
7820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8692);
7823 var_tidnode4
= var_nodearraylist8
;
7824 /* <var_tidnode4:nullable Object> isa nullable TId */
7825 cltype14
= type_nullable__nit__TId
.color
;
7826 idtype15
= type_nullable__nit__TId
.id
;
7827 if(var_tidnode4
== NULL
) {
7830 if(cltype14
>= var_tidnode4
->type
->table_size
) {
7833 var13
= var_tidnode4
->type
->type_table
[cltype14
] == idtype15
;
7836 if (unlikely(!var13
)) {
7837 PRINT_ERROR("Runtime error: %s", "Assert failed");
7838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8694);
7841 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7843 standard___standard__Array___standard__kernel__Object__init(var16
); /* Direct call array#Array#init on <var16:Array[Object]>*/
7845 var_listnode6
= var16
;
7846 var17
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7848 nit__parser_prod___AListExprs___init_alistexprs(var17
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var17:AListExprs>*/
7850 var_pexprsnode5
= var17
;
7851 var18
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
7853 nit__parser_prod___ANewExpr___init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
7855 var_pexprnode1
= var18
;
7856 var_node_list
= var_pexprnode1
;
7857 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction337> */
7859 var20
= nit___nit__Parser___go_to(var_p
, var19
);
7862 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7866 /* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */
7867 void nit__parser___nit__parser__ReduceAction340___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7868 val
* var_p
/* var p: Parser */;
7869 val
* var
/* : null */;
7870 val
* var_node_list
/* var node_list: nullable Object */;
7871 val
* var1
/* : nullable Object */;
7872 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7873 val
* var2
/* : nullable Object */;
7874 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7875 val
* var3
/* : nullable Object */;
7876 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7877 val
* var4
/* : nullable Object */;
7878 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7879 val
* var5
/* : nullable Object */;
7880 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7881 val
* var6
/* : nullable Object */;
7882 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7883 val
* var7
/* : nullable Object */;
7884 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7885 val
* var8
/* : nullable Object */;
7886 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7887 val
* var9
/* : nullable Object */;
7888 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7889 val
* var10
/* : nullable Object */;
7890 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7891 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7892 short int var11
/* : Bool */;
7895 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7896 short int var12
/* : Bool */;
7899 val
* var_toparnode4
/* var toparnode4: nullable Object */;
7900 short int var15
/* : Bool */;
7903 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
7904 short int var18
/* : Bool */;
7907 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
7908 short int var21
/* : Bool */;
7911 val
* var24
/* : AAsCastExpr */;
7912 val
* var_pexprnode1
/* var pexprnode1: nullable AAsCastExpr */;
7913 long var25
/* : Int */;
7914 long var26
/* : Int */;
7917 var_node_list
= var
;
7919 var1
= nit___nit__Parser___pop(var_p
);
7921 var_nodearraylist10
= var1
;
7923 var2
= nit___nit__Parser___pop(var_p
);
7925 var_nodearraylist9
= var2
;
7927 var3
= nit___nit__Parser___pop(var_p
);
7929 var_nodearraylist8
= var3
;
7931 var4
= nit___nit__Parser___pop(var_p
);
7933 var_nodearraylist7
= var4
;
7935 var5
= nit___nit__Parser___pop(var_p
);
7937 var_nodearraylist6
= var5
;
7939 var6
= nit___nit__Parser___pop(var_p
);
7941 var_nodearraylist5
= var6
;
7943 var7
= nit___nit__Parser___pop(var_p
);
7945 var_nodearraylist4
= var7
;
7947 var8
= nit___nit__Parser___pop(var_p
);
7949 var_nodearraylist3
= var8
;
7951 var9
= nit___nit__Parser___pop(var_p
);
7953 var_nodearraylist2
= var9
;
7955 var10
= nit___nit__Parser___pop(var_p
);
7957 var_nodearraylist1
= var10
;
7958 var_pexprnode2
= var_nodearraylist1
;
7959 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7960 cltype
= type_nullable__nit__AExpr
.color
;
7961 idtype
= type_nullable__nit__AExpr
.id
;
7962 if(var_pexprnode2
== NULL
) {
7965 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7968 var11
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7971 if (unlikely(!var11
)) {
7972 PRINT_ERROR("Runtime error: %s", "Assert failed");
7973 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8725);
7976 var_tkwasnode3
= var_nodearraylist4
;
7977 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7978 cltype13
= type_nullable__nit__TKwas
.color
;
7979 idtype14
= type_nullable__nit__TKwas
.id
;
7980 if(var_tkwasnode3
== NULL
) {
7983 if(cltype13
>= var_tkwasnode3
->type
->table_size
) {
7986 var12
= var_tkwasnode3
->type
->type_table
[cltype13
] == idtype14
;
7989 if (unlikely(!var12
)) {
7990 PRINT_ERROR("Runtime error: %s", "Assert failed");
7991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8727);
7994 var_toparnode4
= var_nodearraylist6
;
7995 /* <var_toparnode4:nullable Object> isa nullable TOpar */
7996 cltype16
= type_nullable__nit__TOpar
.color
;
7997 idtype17
= type_nullable__nit__TOpar
.id
;
7998 if(var_toparnode4
== NULL
) {
8001 if(cltype16
>= var_toparnode4
->type
->table_size
) {
8004 var15
= var_toparnode4
->type
->type_table
[cltype16
] == idtype17
;
8007 if (unlikely(!var15
)) {
8008 PRINT_ERROR("Runtime error: %s", "Assert failed");
8009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8729);
8012 var_ptypenode5
= var_nodearraylist8
;
8013 /* <var_ptypenode5:nullable Object> isa nullable AType */
8014 cltype19
= type_nullable__nit__AType
.color
;
8015 idtype20
= type_nullable__nit__AType
.id
;
8016 if(var_ptypenode5
== NULL
) {
8019 if(cltype19
>= var_ptypenode5
->type
->table_size
) {
8022 var18
= var_ptypenode5
->type
->type_table
[cltype19
] == idtype20
;
8025 if (unlikely(!var18
)) {
8026 PRINT_ERROR("Runtime error: %s", "Assert failed");
8027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8731);
8030 var_tcparnode6
= var_nodearraylist10
;
8031 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
8032 cltype22
= type_nullable__nit__TCpar
.color
;
8033 idtype23
= type_nullable__nit__TCpar
.id
;
8034 if(var_tcparnode6
== NULL
) {
8037 if(cltype22
>= var_tcparnode6
->type
->table_size
) {
8040 var21
= var_tcparnode6
->type
->type_table
[cltype22
] == idtype23
;
8043 if (unlikely(!var21
)) {
8044 PRINT_ERROR("Runtime error: %s", "Assert failed");
8045 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8733);
8048 var24
= NEW_nit__AAsCastExpr(&type_nit__AAsCastExpr
);
8050 nit__parser_prod___AAsCastExpr___init_aascastexpr(var24
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_ptypenode5
, var_tcparnode6
); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on <var24:AAsCastExpr>*/
8052 var_pexprnode1
= var24
;
8053 var_node_list
= var_pexprnode1
;
8054 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction340> */
8056 var26
= nit___nit__Parser___go_to(var_p
, var25
);
8059 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8063 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
8064 void nit__parser___nit__parser__ReduceAction341___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8065 val
* var_p
/* var p: Parser */;
8066 val
* var
/* : null */;
8067 val
* var_node_list
/* var node_list: nullable Object */;
8068 val
* var1
/* : nullable Object */;
8069 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
8070 val
* var2
/* : nullable Object */;
8071 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
8072 val
* var3
/* : nullable Object */;
8073 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8074 val
* var4
/* : nullable Object */;
8075 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8076 val
* var5
/* : nullable Object */;
8077 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8078 val
* var6
/* : nullable Object */;
8079 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8080 val
* var7
/* : nullable Object */;
8081 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8082 val
* var8
/* : nullable Object */;
8083 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8084 val
* var9
/* : nullable Object */;
8085 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8086 val
* var10
/* : nullable Object */;
8087 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8088 val
* var11
/* : nullable Object */;
8089 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8090 val
* var12
/* : nullable Object */;
8091 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8092 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8093 short int var13
/* : Bool */;
8096 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
8097 short int var14
/* : Bool */;
8100 val
* var_toparnode4
/* var toparnode4: nullable Object */;
8101 short int var17
/* : Bool */;
8104 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
8105 short int var20
/* : Bool */;
8108 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
8109 short int var23
/* : Bool */;
8112 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
8113 short int var26
/* : Bool */;
8116 val
* var29
/* : AAsNotnullExpr */;
8117 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
8118 long var30
/* : Int */;
8119 long var31
/* : Int */;
8122 var_node_list
= var
;
8124 var1
= nit___nit__Parser___pop(var_p
);
8126 var_nodearraylist12
= var1
;
8128 var2
= nit___nit__Parser___pop(var_p
);
8130 var_nodearraylist11
= var2
;
8132 var3
= nit___nit__Parser___pop(var_p
);
8134 var_nodearraylist10
= var3
;
8136 var4
= nit___nit__Parser___pop(var_p
);
8138 var_nodearraylist9
= var4
;
8140 var5
= nit___nit__Parser___pop(var_p
);
8142 var_nodearraylist8
= var5
;
8144 var6
= nit___nit__Parser___pop(var_p
);
8146 var_nodearraylist7
= var6
;
8148 var7
= nit___nit__Parser___pop(var_p
);
8150 var_nodearraylist6
= var7
;
8152 var8
= nit___nit__Parser___pop(var_p
);
8154 var_nodearraylist5
= var8
;
8156 var9
= nit___nit__Parser___pop(var_p
);
8158 var_nodearraylist4
= var9
;
8160 var10
= nit___nit__Parser___pop(var_p
);
8162 var_nodearraylist3
= var10
;
8164 var11
= nit___nit__Parser___pop(var_p
);
8166 var_nodearraylist2
= var11
;
8168 var12
= nit___nit__Parser___pop(var_p
);
8170 var_nodearraylist1
= var12
;
8171 var_pexprnode2
= var_nodearraylist1
;
8172 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8173 cltype
= type_nullable__nit__AExpr
.color
;
8174 idtype
= type_nullable__nit__AExpr
.id
;
8175 if(var_pexprnode2
== NULL
) {
8178 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8181 var13
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8184 if (unlikely(!var13
)) {
8185 PRINT_ERROR("Runtime error: %s", "Assert failed");
8186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8763);
8189 var_tkwasnode3
= var_nodearraylist4
;
8190 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
8191 cltype15
= type_nullable__nit__TKwas
.color
;
8192 idtype16
= type_nullable__nit__TKwas
.id
;
8193 if(var_tkwasnode3
== NULL
) {
8196 if(cltype15
>= var_tkwasnode3
->type
->table_size
) {
8199 var14
= var_tkwasnode3
->type
->type_table
[cltype15
] == idtype16
;
8202 if (unlikely(!var14
)) {
8203 PRINT_ERROR("Runtime error: %s", "Assert failed");
8204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8765);
8207 var_toparnode4
= var_nodearraylist6
;
8208 /* <var_toparnode4:nullable Object> isa nullable TOpar */
8209 cltype18
= type_nullable__nit__TOpar
.color
;
8210 idtype19
= type_nullable__nit__TOpar
.id
;
8211 if(var_toparnode4
== NULL
) {
8214 if(cltype18
>= var_toparnode4
->type
->table_size
) {
8217 var17
= var_toparnode4
->type
->type_table
[cltype18
] == idtype19
;
8220 if (unlikely(!var17
)) {
8221 PRINT_ERROR("Runtime error: %s", "Assert failed");
8222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8767);
8225 var_tkwnotnode5
= var_nodearraylist8
;
8226 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
8227 cltype21
= type_nullable__nit__TKwnot
.color
;
8228 idtype22
= type_nullable__nit__TKwnot
.id
;
8229 if(var_tkwnotnode5
== NULL
) {
8232 if(cltype21
>= var_tkwnotnode5
->type
->table_size
) {
8235 var20
= var_tkwnotnode5
->type
->type_table
[cltype21
] == idtype22
;
8238 if (unlikely(!var20
)) {
8239 PRINT_ERROR("Runtime error: %s", "Assert failed");
8240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8769);
8243 var_tkwnullnode6
= var_nodearraylist10
;
8244 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
8245 cltype24
= type_nullable__nit__TKwnull
.color
;
8246 idtype25
= type_nullable__nit__TKwnull
.id
;
8247 if(var_tkwnullnode6
== NULL
) {
8250 if(cltype24
>= var_tkwnullnode6
->type
->table_size
) {
8253 var23
= var_tkwnullnode6
->type
->type_table
[cltype24
] == idtype25
;
8256 if (unlikely(!var23
)) {
8257 PRINT_ERROR("Runtime error: %s", "Assert failed");
8258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8771);
8261 var_tcparnode7
= var_nodearraylist12
;
8262 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
8263 cltype27
= type_nullable__nit__TCpar
.color
;
8264 idtype28
= type_nullable__nit__TCpar
.id
;
8265 if(var_tcparnode7
== NULL
) {
8268 if(cltype27
>= var_tcparnode7
->type
->table_size
) {
8271 var26
= var_tcparnode7
->type
->type_table
[cltype27
] == idtype28
;
8274 if (unlikely(!var26
)) {
8275 PRINT_ERROR("Runtime error: %s", "Assert failed");
8276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8773);
8279 var29
= NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr
);
8281 nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var29
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_tkwnotnode5
, var_tkwnullnode6
, var_tcparnode7
); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var29:AAsNotnullExpr>*/
8283 var_pexprnode1
= var29
;
8284 var_node_list
= var_pexprnode1
;
8285 var30
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction341> */
8287 var31
= nit___nit__Parser___go_to(var_p
, var30
);
8290 nit___nit__Parser___push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8294 /* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */
8295 void nit__parser___nit__parser__ReduceAction342___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8296 val
* var_p
/* var p: Parser */;
8297 val
* var
/* : null */;
8298 val
* var_node_list
/* var node_list: nullable Object */;
8299 val
* var1
/* : nullable Object */;
8300 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8301 val
* var2
/* : nullable Object */;
8302 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8303 val
* var3
/* : nullable Object */;
8304 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8305 val
* var4
/* : nullable Object */;
8306 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8307 val
* var5
/* : nullable Object */;
8308 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8309 val
* var6
/* : nullable Object */;
8310 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8311 val
* var7
/* : nullable Object */;
8312 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8313 val
* var8
/* : nullable Object */;
8314 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8315 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8316 short int var9
/* : Bool */;
8319 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
8320 short int var10
/* : Bool */;
8323 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
8324 short int var13
/* : Bool */;
8327 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
8328 short int var16
/* : Bool */;
8331 val
* var19
/* : AAsNotnullExpr */;
8332 val
* var20
/* : null */;
8333 val
* var21
/* : null */;
8334 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
8335 long var22
/* : Int */;
8336 long var23
/* : Int */;
8339 var_node_list
= var
;
8341 var1
= nit___nit__Parser___pop(var_p
);
8343 var_nodearraylist8
= var1
;
8345 var2
= nit___nit__Parser___pop(var_p
);
8347 var_nodearraylist7
= var2
;
8349 var3
= nit___nit__Parser___pop(var_p
);
8351 var_nodearraylist6
= var3
;
8353 var4
= nit___nit__Parser___pop(var_p
);
8355 var_nodearraylist5
= var4
;
8357 var5
= nit___nit__Parser___pop(var_p
);
8359 var_nodearraylist4
= var5
;
8361 var6
= nit___nit__Parser___pop(var_p
);
8363 var_nodearraylist3
= var6
;
8365 var7
= nit___nit__Parser___pop(var_p
);
8367 var_nodearraylist2
= var7
;
8369 var8
= nit___nit__Parser___pop(var_p
);
8371 var_nodearraylist1
= var8
;
8372 var_pexprnode2
= var_nodearraylist1
;
8373 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8374 cltype
= type_nullable__nit__AExpr
.color
;
8375 idtype
= type_nullable__nit__AExpr
.id
;
8376 if(var_pexprnode2
== NULL
) {
8379 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8382 var9
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8385 if (unlikely(!var9
)) {
8386 PRINT_ERROR("Runtime error: %s", "Assert failed");
8387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8800);
8390 var_tkwasnode3
= var_nodearraylist4
;
8391 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
8392 cltype11
= type_nullable__nit__TKwas
.color
;
8393 idtype12
= type_nullable__nit__TKwas
.id
;
8394 if(var_tkwasnode3
== NULL
) {
8397 if(cltype11
>= var_tkwasnode3
->type
->table_size
) {
8400 var10
= var_tkwasnode3
->type
->type_table
[cltype11
] == idtype12
;
8403 if (unlikely(!var10
)) {
8404 PRINT_ERROR("Runtime error: %s", "Assert failed");
8405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8802);
8408 var_tkwnotnode5
= var_nodearraylist6
;
8409 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
8410 cltype14
= type_nullable__nit__TKwnot
.color
;
8411 idtype15
= type_nullable__nit__TKwnot
.id
;
8412 if(var_tkwnotnode5
== NULL
) {
8415 if(cltype14
>= var_tkwnotnode5
->type
->table_size
) {
8418 var13
= var_tkwnotnode5
->type
->type_table
[cltype14
] == idtype15
;
8421 if (unlikely(!var13
)) {
8422 PRINT_ERROR("Runtime error: %s", "Assert failed");
8423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8804);
8426 var_tkwnullnode6
= var_nodearraylist8
;
8427 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
8428 cltype17
= type_nullable__nit__TKwnull
.color
;
8429 idtype18
= type_nullable__nit__TKwnull
.id
;
8430 if(var_tkwnullnode6
== NULL
) {
8433 if(cltype17
>= var_tkwnullnode6
->type
->table_size
) {
8436 var16
= var_tkwnullnode6
->type
->type_table
[cltype17
] == idtype18
;
8439 if (unlikely(!var16
)) {
8440 PRINT_ERROR("Runtime error: %s", "Assert failed");
8441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8806);
8444 var19
= NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr
);
8448 nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var19
, var_pexprnode2
, var_tkwasnode3
, var20
, var_tkwnotnode5
, var_tkwnullnode6
, var21
); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var19:AAsNotnullExpr>*/
8450 var_pexprnode1
= var19
;
8451 var_node_list
= var_pexprnode1
;
8452 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction342> */
8454 var23
= nit___nit__Parser___go_to(var_p
, var22
);
8457 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8461 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
8462 void nit__parser___nit__parser__ReduceAction343___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8463 val
* var_p
/* var p: Parser */;
8464 val
* var
/* : null */;
8465 val
* var_node_list
/* var node_list: nullable Object */;
8466 val
* var1
/* : nullable Object */;
8467 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8468 val
* var2
/* : nullable Object */;
8469 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8470 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8471 short int var3
/* : Bool */;
8474 val
* var_tdotdotdotnode3
/* var tdotdotdotnode3: nullable Object */;
8475 short int var4
/* : Bool */;
8478 val
* var7
/* : AVarargExpr */;
8479 val
* var_pexprnode1
/* var pexprnode1: nullable AVarargExpr */;
8480 long var8
/* : Int */;
8481 long var9
/* : Int */;
8484 var_node_list
= var
;
8486 var1
= nit___nit__Parser___pop(var_p
);
8488 var_nodearraylist2
= var1
;
8490 var2
= nit___nit__Parser___pop(var_p
);
8492 var_nodearraylist1
= var2
;
8493 var_pexprnode2
= var_nodearraylist1
;
8494 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8495 cltype
= type_nullable__nit__AExpr
.color
;
8496 idtype
= type_nullable__nit__AExpr
.id
;
8497 if(var_pexprnode2
== NULL
) {
8500 if(cltype
>= var_pexprnode2
->type
->table_size
) {
8503 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
8506 if (unlikely(!var3
)) {
8507 PRINT_ERROR("Runtime error: %s", "Assert failed");
8508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8827);
8511 var_tdotdotdotnode3
= var_nodearraylist2
;
8512 /* <var_tdotdotdotnode3:nullable Object> isa nullable TDotdotdot */
8513 cltype5
= type_nullable__nit__TDotdotdot
.color
;
8514 idtype6
= type_nullable__nit__TDotdotdot
.id
;
8515 if(var_tdotdotdotnode3
== NULL
) {
8518 if(cltype5
>= var_tdotdotdotnode3
->type
->table_size
) {
8521 var4
= var_tdotdotdotnode3
->type
->type_table
[cltype5
] == idtype6
;
8524 if (unlikely(!var4
)) {
8525 PRINT_ERROR("Runtime error: %s", "Assert failed");
8526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8829);
8529 var7
= NEW_nit__AVarargExpr(&type_nit__AVarargExpr
);
8531 nit__parser_prod___AVarargExpr___init_avarargexpr(var7
, var_pexprnode2
, var_tdotdotdotnode3
); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on <var7:AVarargExpr>*/
8533 var_pexprnode1
= var7
;
8534 var_node_list
= var_pexprnode1
;
8535 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction343> */
8537 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8540 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8544 /* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */
8545 void nit__parser___nit__parser__ReduceAction344___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8546 val
* var_p
/* var p: Parser */;
8547 val
* var
/* : null */;
8548 val
* var_node_list
/* var node_list: nullable Object */;
8549 val
* var1
/* : nullable Object */;
8550 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8551 val
* var2
/* : nullable Object */;
8552 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8553 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
8554 short int var3
/* : Bool */;
8557 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8558 short int var4
/* : Bool */;
8561 val
* var7
/* : ASelfExpr */;
8562 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
8563 long var8
/* : Int */;
8564 long var9
/* : Int */;
8567 var_node_list
= var
;
8569 var1
= nit___nit__Parser___pop(var_p
);
8571 var_nodearraylist2
= var1
;
8573 var2
= nit___nit__Parser___pop(var_p
);
8575 var_nodearraylist1
= var2
;
8576 var_tkwselfnode2
= var_nodearraylist1
;
8577 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
8578 cltype
= type_nullable__nit__TKwself
.color
;
8579 idtype
= type_nullable__nit__TKwself
.id
;
8580 if(var_tkwselfnode2
== NULL
) {
8583 if(cltype
>= var_tkwselfnode2
->type
->table_size
) {
8586 var3
= var_tkwselfnode2
->type
->type_table
[cltype
] == idtype
;
8589 if (unlikely(!var3
)) {
8590 PRINT_ERROR("Runtime error: %s", "Assert failed");
8591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8846);
8594 var_pannotationsnode3
= var_nodearraylist2
;
8595 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8596 cltype5
= type_nullable__nit__AAnnotations
.color
;
8597 idtype6
= type_nullable__nit__AAnnotations
.id
;
8598 if(var_pannotationsnode3
== NULL
) {
8601 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8604 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8607 if (unlikely(!var4
)) {
8608 PRINT_ERROR("Runtime error: %s", "Assert failed");
8609 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8848);
8612 var7
= NEW_nit__ASelfExpr(&type_nit__ASelfExpr
);
8614 nit__parser_prod___ASelfExpr___init_aselfexpr(var7
, var_tkwselfnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on <var7:ASelfExpr>*/
8616 var_pexprnode1
= var7
;
8617 var_node_list
= var_pexprnode1
;
8618 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction344> */
8620 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8623 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8627 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
8628 void nit__parser___nit__parser__ReduceAction345___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8629 val
* var_p
/* var p: Parser */;
8630 val
* var
/* : null */;
8631 val
* var_node_list
/* var node_list: nullable Object */;
8632 val
* var1
/* : nullable Object */;
8633 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8634 val
* var2
/* : nullable Object */;
8635 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8636 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
8637 short int var3
/* : Bool */;
8640 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8641 short int var4
/* : Bool */;
8644 val
* var7
/* : ATrueExpr */;
8645 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
8646 long var8
/* : Int */;
8647 long var9
/* : Int */;
8650 var_node_list
= var
;
8652 var1
= nit___nit__Parser___pop(var_p
);
8654 var_nodearraylist2
= var1
;
8656 var2
= nit___nit__Parser___pop(var_p
);
8658 var_nodearraylist1
= var2
;
8659 var_tkwtruenode2
= var_nodearraylist1
;
8660 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
8661 cltype
= type_nullable__nit__TKwtrue
.color
;
8662 idtype
= type_nullable__nit__TKwtrue
.id
;
8663 if(var_tkwtruenode2
== NULL
) {
8666 if(cltype
>= var_tkwtruenode2
->type
->table_size
) {
8669 var3
= var_tkwtruenode2
->type
->type_table
[cltype
] == idtype
;
8672 if (unlikely(!var3
)) {
8673 PRINT_ERROR("Runtime error: %s", "Assert failed");
8674 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8865);
8677 var_pannotationsnode3
= var_nodearraylist2
;
8678 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8679 cltype5
= type_nullable__nit__AAnnotations
.color
;
8680 idtype6
= type_nullable__nit__AAnnotations
.id
;
8681 if(var_pannotationsnode3
== NULL
) {
8684 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8687 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8690 if (unlikely(!var4
)) {
8691 PRINT_ERROR("Runtime error: %s", "Assert failed");
8692 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8867);
8695 var7
= NEW_nit__ATrueExpr(&type_nit__ATrueExpr
);
8697 nit__parser_prod___ATrueExpr___init_atrueexpr(var7
, var_tkwtruenode2
, var_pannotationsnode3
); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on <var7:ATrueExpr>*/
8699 var_pexprnode1
= var7
;
8700 var_node_list
= var_pexprnode1
;
8701 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction345> */
8703 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8706 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8710 /* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */
8711 void nit__parser___nit__parser__ReduceAction346___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8712 val
* var_p
/* var p: Parser */;
8713 val
* var
/* : null */;
8714 val
* var_node_list
/* var node_list: nullable Object */;
8715 val
* var1
/* : nullable Object */;
8716 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8717 val
* var2
/* : nullable Object */;
8718 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8719 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
8720 short int var3
/* : Bool */;
8723 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8724 short int var4
/* : Bool */;
8727 val
* var7
/* : AFalseExpr */;
8728 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
8729 long var8
/* : Int */;
8730 long var9
/* : Int */;
8733 var_node_list
= var
;
8735 var1
= nit___nit__Parser___pop(var_p
);
8737 var_nodearraylist2
= var1
;
8739 var2
= nit___nit__Parser___pop(var_p
);
8741 var_nodearraylist1
= var2
;
8742 var_tkwfalsenode2
= var_nodearraylist1
;
8743 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
8744 cltype
= type_nullable__nit__TKwfalse
.color
;
8745 idtype
= type_nullable__nit__TKwfalse
.id
;
8746 if(var_tkwfalsenode2
== NULL
) {
8749 if(cltype
>= var_tkwfalsenode2
->type
->table_size
) {
8752 var3
= var_tkwfalsenode2
->type
->type_table
[cltype
] == idtype
;
8755 if (unlikely(!var3
)) {
8756 PRINT_ERROR("Runtime error: %s", "Assert failed");
8757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8884);
8760 var_pannotationsnode3
= var_nodearraylist2
;
8761 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8762 cltype5
= type_nullable__nit__AAnnotations
.color
;
8763 idtype6
= type_nullable__nit__AAnnotations
.id
;
8764 if(var_pannotationsnode3
== NULL
) {
8767 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8770 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8773 if (unlikely(!var4
)) {
8774 PRINT_ERROR("Runtime error: %s", "Assert failed");
8775 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8886);
8778 var7
= NEW_nit__AFalseExpr(&type_nit__AFalseExpr
);
8780 nit__parser_prod___AFalseExpr___init_afalseexpr(var7
, var_tkwfalsenode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on <var7:AFalseExpr>*/
8782 var_pexprnode1
= var7
;
8783 var_node_list
= var_pexprnode1
;
8784 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction346> */
8786 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8789 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8793 /* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */
8794 void nit__parser___nit__parser__ReduceAction347___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8795 val
* var_p
/* var p: Parser */;
8796 val
* var
/* : null */;
8797 val
* var_node_list
/* var node_list: nullable Object */;
8798 val
* var1
/* : nullable Object */;
8799 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8800 val
* var2
/* : nullable Object */;
8801 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8802 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
8803 short int var3
/* : Bool */;
8806 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8807 short int var4
/* : Bool */;
8810 val
* var7
/* : ANullExpr */;
8811 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
8812 long var8
/* : Int */;
8813 long var9
/* : Int */;
8816 var_node_list
= var
;
8818 var1
= nit___nit__Parser___pop(var_p
);
8820 var_nodearraylist2
= var1
;
8822 var2
= nit___nit__Parser___pop(var_p
);
8824 var_nodearraylist1
= var2
;
8825 var_tkwnullnode2
= var_nodearraylist1
;
8826 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
8827 cltype
= type_nullable__nit__TKwnull
.color
;
8828 idtype
= type_nullable__nit__TKwnull
.id
;
8829 if(var_tkwnullnode2
== NULL
) {
8832 if(cltype
>= var_tkwnullnode2
->type
->table_size
) {
8835 var3
= var_tkwnullnode2
->type
->type_table
[cltype
] == idtype
;
8838 if (unlikely(!var3
)) {
8839 PRINT_ERROR("Runtime error: %s", "Assert failed");
8840 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8903);
8843 var_pannotationsnode3
= var_nodearraylist2
;
8844 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8845 cltype5
= type_nullable__nit__AAnnotations
.color
;
8846 idtype6
= type_nullable__nit__AAnnotations
.id
;
8847 if(var_pannotationsnode3
== NULL
) {
8850 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8853 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8856 if (unlikely(!var4
)) {
8857 PRINT_ERROR("Runtime error: %s", "Assert failed");
8858 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8905);
8861 var7
= NEW_nit__ANullExpr(&type_nit__ANullExpr
);
8863 nit__parser_prod___ANullExpr___init_anullexpr(var7
, var_tkwnullnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ANullExpr#init_anullexpr on <var7:ANullExpr>*/
8865 var_pexprnode1
= var7
;
8866 var_node_list
= var_pexprnode1
;
8867 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction347> */
8869 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8872 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8876 /* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */
8877 void nit__parser___nit__parser__ReduceAction348___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8878 val
* var_p
/* var p: Parser */;
8879 val
* var
/* : null */;
8880 val
* var_node_list
/* var node_list: nullable Object */;
8881 val
* var1
/* : nullable Object */;
8882 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8883 val
* var2
/* : nullable Object */;
8884 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8885 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
8886 short int var3
/* : Bool */;
8889 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8890 short int var4
/* : Bool */;
8893 val
* var7
/* : ADecIntExpr */;
8894 val
* var_pexprnode1
/* var pexprnode1: nullable ADecIntExpr */;
8895 long var8
/* : Int */;
8896 long var9
/* : Int */;
8899 var_node_list
= var
;
8901 var1
= nit___nit__Parser___pop(var_p
);
8903 var_nodearraylist2
= var1
;
8905 var2
= nit___nit__Parser___pop(var_p
);
8907 var_nodearraylist1
= var2
;
8908 var_tnumbernode2
= var_nodearraylist1
;
8909 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
8910 cltype
= type_nullable__nit__TNumber
.color
;
8911 idtype
= type_nullable__nit__TNumber
.id
;
8912 if(var_tnumbernode2
== NULL
) {
8915 if(cltype
>= var_tnumbernode2
->type
->table_size
) {
8918 var3
= var_tnumbernode2
->type
->type_table
[cltype
] == idtype
;
8921 if (unlikely(!var3
)) {
8922 PRINT_ERROR("Runtime error: %s", "Assert failed");
8923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8922);
8926 var_pannotationsnode3
= var_nodearraylist2
;
8927 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8928 cltype5
= type_nullable__nit__AAnnotations
.color
;
8929 idtype6
= type_nullable__nit__AAnnotations
.id
;
8930 if(var_pannotationsnode3
== NULL
) {
8933 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
8936 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
8939 if (unlikely(!var4
)) {
8940 PRINT_ERROR("Runtime error: %s", "Assert failed");
8941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8924);
8944 var7
= NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr
);
8946 nit__parser_prod___ADecIntExpr___init_adecintexpr(var7
, var_tnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on <var7:ADecIntExpr>*/
8948 var_pexprnode1
= var7
;
8949 var_node_list
= var_pexprnode1
;
8950 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction348> */
8952 var9
= nit___nit__Parser___go_to(var_p
, var8
);
8955 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8959 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
8960 void nit__parser___nit__parser__ReduceAction349___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8961 val
* var_p
/* var p: Parser */;
8962 val
* var
/* : null */;
8963 val
* var_node_list
/* var node_list: nullable Object */;
8964 val
* var1
/* : nullable Object */;
8965 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8966 val
* var2
/* : nullable Object */;
8967 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8968 val
* var_thexnumbernode2
/* var thexnumbernode2: nullable Object */;
8969 short int var3
/* : Bool */;
8972 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8973 short int var4
/* : Bool */;
8976 val
* var7
/* : AHexIntExpr */;
8977 val
* var_pexprnode1
/* var pexprnode1: nullable AHexIntExpr */;
8978 long var8
/* : Int */;
8979 long var9
/* : Int */;
8982 var_node_list
= var
;
8984 var1
= nit___nit__Parser___pop(var_p
);
8986 var_nodearraylist2
= var1
;
8988 var2
= nit___nit__Parser___pop(var_p
);
8990 var_nodearraylist1
= var2
;
8991 var_thexnumbernode2
= var_nodearraylist1
;
8992 /* <var_thexnumbernode2:nullable Object> isa nullable THexNumber */
8993 cltype
= type_nullable__nit__THexNumber
.color
;
8994 idtype
= type_nullable__nit__THexNumber
.id
;
8995 if(var_thexnumbernode2
== NULL
) {
8998 if(cltype
>= var_thexnumbernode2
->type
->table_size
) {
9001 var3
= var_thexnumbernode2
->type
->type_table
[cltype
] == idtype
;
9004 if (unlikely(!var3
)) {
9005 PRINT_ERROR("Runtime error: %s", "Assert failed");
9006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8941);
9009 var_pannotationsnode3
= var_nodearraylist2
;
9010 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
9011 cltype5
= type_nullable__nit__AAnnotations
.color
;
9012 idtype6
= type_nullable__nit__AAnnotations
.id
;
9013 if(var_pannotationsnode3
== NULL
) {
9016 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
9019 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
9022 if (unlikely(!var4
)) {
9023 PRINT_ERROR("Runtime error: %s", "Assert failed");
9024 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8943);
9027 var7
= NEW_nit__AHexIntExpr(&type_nit__AHexIntExpr
);
9029 nit__parser_prod___AHexIntExpr___init_ahexintexpr(var7
, var_thexnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on <var7:AHexIntExpr>*/
9031 var_pexprnode1
= var7
;
9032 var_node_list
= var_pexprnode1
;
9033 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction349> */
9035 var9
= nit___nit__Parser___go_to(var_p
, var8
);
9038 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9042 /* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */
9043 void nit__parser___nit__parser__ReduceAction350___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9044 val
* var_p
/* var p: Parser */;
9045 val
* var
/* : null */;
9046 val
* var_node_list
/* var node_list: nullable Object */;
9047 val
* var1
/* : nullable Object */;
9048 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9049 val
* var2
/* : nullable Object */;
9050 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9051 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
9052 short int var3
/* : Bool */;
9055 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
9056 short int var4
/* : Bool */;
9059 val
* var7
/* : AFloatExpr */;
9060 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
9061 long var8
/* : Int */;
9062 long var9
/* : Int */;
9065 var_node_list
= var
;
9067 var1
= nit___nit__Parser___pop(var_p
);
9069 var_nodearraylist2
= var1
;
9071 var2
= nit___nit__Parser___pop(var_p
);
9073 var_nodearraylist1
= var2
;
9074 var_tfloatnode2
= var_nodearraylist1
;
9075 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
9076 cltype
= type_nullable__nit__TFloat
.color
;
9077 idtype
= type_nullable__nit__TFloat
.id
;
9078 if(var_tfloatnode2
== NULL
) {
9081 if(cltype
>= var_tfloatnode2
->type
->table_size
) {
9084 var3
= var_tfloatnode2
->type
->type_table
[cltype
] == idtype
;
9087 if (unlikely(!var3
)) {
9088 PRINT_ERROR("Runtime error: %s", "Assert failed");
9089 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8960);
9092 var_pannotationsnode3
= var_nodearraylist2
;
9093 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
9094 cltype5
= type_nullable__nit__AAnnotations
.color
;
9095 idtype6
= type_nullable__nit__AAnnotations
.id
;
9096 if(var_pannotationsnode3
== NULL
) {
9099 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
9102 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
9105 if (unlikely(!var4
)) {
9106 PRINT_ERROR("Runtime error: %s", "Assert failed");
9107 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8962);
9110 var7
= NEW_nit__AFloatExpr(&type_nit__AFloatExpr
);
9112 nit__parser_prod___AFloatExpr___init_afloatexpr(var7
, var_tfloatnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on <var7:AFloatExpr>*/
9114 var_pexprnode1
= var7
;
9115 var_node_list
= var_pexprnode1
;
9116 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction350> */
9118 var9
= nit___nit__Parser___go_to(var_p
, var8
);
9121 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9125 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
9126 void nit__parser___nit__parser__ReduceAction351___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9127 val
* var_p
/* var p: Parser */;
9128 val
* var
/* : null */;
9129 val
* var_node_list
/* var node_list: nullable Object */;
9130 val
* var1
/* : nullable Object */;
9131 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9132 val
* var2
/* : nullable Object */;
9133 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9134 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
9135 short int var3
/* : Bool */;
9138 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
9139 short int var4
/* : Bool */;
9142 val
* var7
/* : ACharExpr */;
9143 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
9144 long var8
/* : Int */;
9145 long var9
/* : Int */;
9148 var_node_list
= var
;
9150 var1
= nit___nit__Parser___pop(var_p
);
9152 var_nodearraylist2
= var1
;
9154 var2
= nit___nit__Parser___pop(var_p
);
9156 var_nodearraylist1
= var2
;
9157 var_tcharnode2
= var_nodearraylist1
;
9158 /* <var_tcharnode2:nullable Object> isa nullable TChar */
9159 cltype
= type_nullable__nit__TChar
.color
;
9160 idtype
= type_nullable__nit__TChar
.id
;
9161 if(var_tcharnode2
== NULL
) {
9164 if(cltype
>= var_tcharnode2
->type
->table_size
) {
9167 var3
= var_tcharnode2
->type
->type_table
[cltype
] == idtype
;
9170 if (unlikely(!var3
)) {
9171 PRINT_ERROR("Runtime error: %s", "Assert failed");
9172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8979);
9175 var_pannotationsnode3
= var_nodearraylist2
;
9176 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
9177 cltype5
= type_nullable__nit__AAnnotations
.color
;
9178 idtype6
= type_nullable__nit__AAnnotations
.id
;
9179 if(var_pannotationsnode3
== NULL
) {
9182 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
9185 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
9188 if (unlikely(!var4
)) {
9189 PRINT_ERROR("Runtime error: %s", "Assert failed");
9190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8981);
9193 var7
= NEW_nit__ACharExpr(&type_nit__ACharExpr
);
9195 nit__parser_prod___ACharExpr___init_acharexpr(var7
, var_tcharnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ACharExpr#init_acharexpr on <var7:ACharExpr>*/
9197 var_pexprnode1
= var7
;
9198 var_node_list
= var_pexprnode1
;
9199 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction351> */
9201 var9
= nit___nit__Parser___go_to(var_p
, var8
);
9204 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9208 /* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */
9209 void nit__parser___nit__parser__ReduceAction352___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9210 val
* var_p
/* var p: Parser */;
9211 val
* var
/* : null */;
9212 val
* var_node_list
/* var node_list: nullable Object */;
9213 val
* var1
/* : nullable Object */;
9214 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9215 val
* var2
/* : nullable Object */;
9216 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9217 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
9218 short int var3
/* : Bool */;
9221 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
9222 short int var4
/* : Bool */;
9225 val
* var7
/* : AStringExpr */;
9226 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
9227 long var8
/* : Int */;
9228 long var9
/* : Int */;
9231 var_node_list
= var
;
9233 var1
= nit___nit__Parser___pop(var_p
);
9235 var_nodearraylist2
= var1
;
9237 var2
= nit___nit__Parser___pop(var_p
);
9239 var_nodearraylist1
= var2
;
9240 var_tstringnode2
= var_nodearraylist1
;
9241 /* <var_tstringnode2:nullable Object> isa nullable TString */
9242 cltype
= type_nullable__nit__TString
.color
;
9243 idtype
= type_nullable__nit__TString
.id
;
9244 if(var_tstringnode2
== NULL
) {
9247 if(cltype
>= var_tstringnode2
->type
->table_size
) {
9250 var3
= var_tstringnode2
->type
->type_table
[cltype
] == idtype
;
9253 if (unlikely(!var3
)) {
9254 PRINT_ERROR("Runtime error: %s", "Assert failed");
9255 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8998);
9258 var_pannotationsnode3
= var_nodearraylist2
;
9259 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
9260 cltype5
= type_nullable__nit__AAnnotations
.color
;
9261 idtype6
= type_nullable__nit__AAnnotations
.id
;
9262 if(var_pannotationsnode3
== NULL
) {
9265 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
9268 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
9271 if (unlikely(!var4
)) {
9272 PRINT_ERROR("Runtime error: %s", "Assert failed");
9273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9000);
9276 var7
= NEW_nit__AStringExpr(&type_nit__AStringExpr
);
9278 nit__parser_prod___AStringExpr___init_astringexpr(var7
, var_tstringnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AStringExpr#init_astringexpr on <var7:AStringExpr>*/
9280 var_pexprnode1
= var7
;
9281 var_node_list
= var_pexprnode1
;
9282 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction352> */
9284 var9
= nit___nit__Parser___go_to(var_p
, var8
);
9287 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9291 /* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */
9292 void nit__parser___nit__parser__ReduceAction355___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9293 val
* var_p
/* var p: Parser */;
9294 val
* var
/* : null */;
9295 val
* var_node_list
/* var node_list: nullable Object */;
9296 val
* var1
/* : nullable Object */;
9297 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9298 val
* var2
/* : nullable Object */;
9299 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9300 val
* var3
/* : nullable Object */;
9301 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9302 val
* var4
/* : nullable Object */;
9303 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9304 val
* var5
/* : nullable Object */;
9305 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9306 val
* var6
/* : nullable Object */;
9307 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9308 val
* var7
/* : nullable Object */;
9309 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9310 val
* var8
/* : nullable Object */;
9311 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9312 val
* var9
/* : nullable Object */;
9313 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9314 val
* var10
/* : nullable Object */;
9315 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9316 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9317 short int var11
/* : Bool */;
9320 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9321 short int var12
/* : Bool */;
9324 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9325 short int var15
/* : Bool */;
9328 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
9329 short int var18
/* : Bool */;
9332 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
9333 short int var21
/* : Bool */;
9336 val
* var24
/* : ACrangeExpr */;
9337 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
9338 long var25
/* : Int */;
9339 long var26
/* : Int */;
9342 var_node_list
= var
;
9344 var1
= nit___nit__Parser___pop(var_p
);
9346 var_nodearraylist10
= var1
;
9348 var2
= nit___nit__Parser___pop(var_p
);
9350 var_nodearraylist9
= var2
;
9352 var3
= nit___nit__Parser___pop(var_p
);
9354 var_nodearraylist8
= var3
;
9356 var4
= nit___nit__Parser___pop(var_p
);
9358 var_nodearraylist7
= var4
;
9360 var5
= nit___nit__Parser___pop(var_p
);
9362 var_nodearraylist6
= var5
;
9364 var6
= nit___nit__Parser___pop(var_p
);
9366 var_nodearraylist5
= var6
;
9368 var7
= nit___nit__Parser___pop(var_p
);
9370 var_nodearraylist4
= var7
;
9372 var8
= nit___nit__Parser___pop(var_p
);
9374 var_nodearraylist3
= var8
;
9376 var9
= nit___nit__Parser___pop(var_p
);
9378 var_nodearraylist2
= var9
;
9380 var10
= nit___nit__Parser___pop(var_p
);
9382 var_nodearraylist1
= var10
;
9383 var_tobranode2
= var_nodearraylist1
;
9384 /* <var_tobranode2:nullable Object> isa nullable TObra */
9385 cltype
= type_nullable__nit__TObra
.color
;
9386 idtype
= type_nullable__nit__TObra
.id
;
9387 if(var_tobranode2
== NULL
) {
9390 if(cltype
>= var_tobranode2
->type
->table_size
) {
9393 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9396 if (unlikely(!var11
)) {
9397 PRINT_ERROR("Runtime error: %s", "Assert failed");
9398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9025);
9401 var_pexprnode3
= var_nodearraylist3
;
9402 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9403 cltype13
= type_nullable__nit__AExpr
.color
;
9404 idtype14
= type_nullable__nit__AExpr
.id
;
9405 if(var_pexprnode3
== NULL
) {
9408 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
9411 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
9414 if (unlikely(!var12
)) {
9415 PRINT_ERROR("Runtime error: %s", "Assert failed");
9416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9027);
9419 var_pexprnode4
= var_nodearraylist7
;
9420 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9421 cltype16
= type_nullable__nit__AExpr
.color
;
9422 idtype17
= type_nullable__nit__AExpr
.id
;
9423 if(var_pexprnode4
== NULL
) {
9426 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
9429 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
9432 if (unlikely(!var15
)) {
9433 PRINT_ERROR("Runtime error: %s", "Assert failed");
9434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9029);
9437 var_tcbranode5
= var_nodearraylist9
;
9438 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
9439 cltype19
= type_nullable__nit__TCbra
.color
;
9440 idtype20
= type_nullable__nit__TCbra
.id
;
9441 if(var_tcbranode5
== NULL
) {
9444 if(cltype19
>= var_tcbranode5
->type
->table_size
) {
9447 var18
= var_tcbranode5
->type
->type_table
[cltype19
] == idtype20
;
9450 if (unlikely(!var18
)) {
9451 PRINT_ERROR("Runtime error: %s", "Assert failed");
9452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9031);
9455 var_pannotationsnode6
= var_nodearraylist10
;
9456 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
9457 cltype22
= type_nullable__nit__AAnnotations
.color
;
9458 idtype23
= type_nullable__nit__AAnnotations
.id
;
9459 if(var_pannotationsnode6
== NULL
) {
9462 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
9465 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
9468 if (unlikely(!var21
)) {
9469 PRINT_ERROR("Runtime error: %s", "Assert failed");
9470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9033);
9473 var24
= NEW_nit__ACrangeExpr(&type_nit__ACrangeExpr
);
9475 nit__parser_prod___ACrangeExpr___init_acrangeexpr(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tcbranode5
, var_pannotationsnode6
); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on <var24:ACrangeExpr>*/
9477 var_pexprnode1
= var24
;
9478 var_node_list
= var_pexprnode1
;
9479 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction355> */
9481 var26
= nit___nit__Parser___go_to(var_p
, var25
);
9484 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9488 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
9489 void nit__parser___nit__parser__ReduceAction356___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9490 val
* var_p
/* var p: Parser */;
9491 val
* var
/* : null */;
9492 val
* var_node_list
/* var node_list: nullable Object */;
9493 val
* var1
/* : nullable Object */;
9494 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9495 val
* var2
/* : nullable Object */;
9496 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9497 val
* var3
/* : nullable Object */;
9498 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9499 val
* var4
/* : nullable Object */;
9500 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9501 val
* var5
/* : nullable Object */;
9502 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9503 val
* var6
/* : nullable Object */;
9504 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9505 val
* var7
/* : nullable Object */;
9506 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9507 val
* var8
/* : nullable Object */;
9508 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9509 val
* var9
/* : nullable Object */;
9510 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9511 val
* var10
/* : nullable Object */;
9512 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9513 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9514 short int var11
/* : Bool */;
9517 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9518 short int var12
/* : Bool */;
9521 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
9522 short int var15
/* : Bool */;
9525 val
* var_tobranode5
/* var tobranode5: nullable Object */;
9526 short int var18
/* : Bool */;
9529 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
9530 short int var21
/* : Bool */;
9533 val
* var24
/* : AOrangeExpr */;
9534 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
9535 long var25
/* : Int */;
9536 long var26
/* : Int */;
9539 var_node_list
= var
;
9541 var1
= nit___nit__Parser___pop(var_p
);
9543 var_nodearraylist10
= var1
;
9545 var2
= nit___nit__Parser___pop(var_p
);
9547 var_nodearraylist9
= var2
;
9549 var3
= nit___nit__Parser___pop(var_p
);
9551 var_nodearraylist8
= var3
;
9553 var4
= nit___nit__Parser___pop(var_p
);
9555 var_nodearraylist7
= var4
;
9557 var5
= nit___nit__Parser___pop(var_p
);
9559 var_nodearraylist6
= var5
;
9561 var6
= nit___nit__Parser___pop(var_p
);
9563 var_nodearraylist5
= var6
;
9565 var7
= nit___nit__Parser___pop(var_p
);
9567 var_nodearraylist4
= var7
;
9569 var8
= nit___nit__Parser___pop(var_p
);
9571 var_nodearraylist3
= var8
;
9573 var9
= nit___nit__Parser___pop(var_p
);
9575 var_nodearraylist2
= var9
;
9577 var10
= nit___nit__Parser___pop(var_p
);
9579 var_nodearraylist1
= var10
;
9580 var_tobranode2
= var_nodearraylist1
;
9581 /* <var_tobranode2:nullable Object> isa nullable TObra */
9582 cltype
= type_nullable__nit__TObra
.color
;
9583 idtype
= type_nullable__nit__TObra
.id
;
9584 if(var_tobranode2
== NULL
) {
9587 if(cltype
>= var_tobranode2
->type
->table_size
) {
9590 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9593 if (unlikely(!var11
)) {
9594 PRINT_ERROR("Runtime error: %s", "Assert failed");
9595 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9061);
9598 var_pexprnode3
= var_nodearraylist3
;
9599 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9600 cltype13
= type_nullable__nit__AExpr
.color
;
9601 idtype14
= type_nullable__nit__AExpr
.id
;
9602 if(var_pexprnode3
== NULL
) {
9605 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
9608 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
9611 if (unlikely(!var12
)) {
9612 PRINT_ERROR("Runtime error: %s", "Assert failed");
9613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9063);
9616 var_pexprnode4
= var_nodearraylist7
;
9617 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
9618 cltype16
= type_nullable__nit__AExpr
.color
;
9619 idtype17
= type_nullable__nit__AExpr
.id
;
9620 if(var_pexprnode4
== NULL
) {
9623 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
9626 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
9629 if (unlikely(!var15
)) {
9630 PRINT_ERROR("Runtime error: %s", "Assert failed");
9631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9065);
9634 var_tobranode5
= var_nodearraylist9
;
9635 /* <var_tobranode5:nullable Object> isa nullable TObra */
9636 cltype19
= type_nullable__nit__TObra
.color
;
9637 idtype20
= type_nullable__nit__TObra
.id
;
9638 if(var_tobranode5
== NULL
) {
9641 if(cltype19
>= var_tobranode5
->type
->table_size
) {
9644 var18
= var_tobranode5
->type
->type_table
[cltype19
] == idtype20
;
9647 if (unlikely(!var18
)) {
9648 PRINT_ERROR("Runtime error: %s", "Assert failed");
9649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9067);
9652 var_pannotationsnode6
= var_nodearraylist10
;
9653 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
9654 cltype22
= type_nullable__nit__AAnnotations
.color
;
9655 idtype23
= type_nullable__nit__AAnnotations
.id
;
9656 if(var_pannotationsnode6
== NULL
) {
9659 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
9662 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
9665 if (unlikely(!var21
)) {
9666 PRINT_ERROR("Runtime error: %s", "Assert failed");
9667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9069);
9670 var24
= NEW_nit__AOrangeExpr(&type_nit__AOrangeExpr
);
9672 nit__parser_prod___AOrangeExpr___init_aorangeexpr(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tobranode5
, var_pannotationsnode6
); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on <var24:AOrangeExpr>*/
9674 var_pexprnode1
= var24
;
9675 var_node_list
= var_pexprnode1
;
9676 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction356> */
9678 var26
= nit___nit__Parser___go_to(var_p
, var25
);
9681 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9685 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
9686 void nit__parser___nit__parser__ReduceAction357___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9687 val
* var_p
/* var p: Parser */;
9688 val
* var
/* : null */;
9689 val
* var_node_list
/* var node_list: nullable Object */;
9690 val
* var1
/* : nullable Object */;
9691 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9692 val
* var2
/* : nullable Object */;
9693 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9694 val
* var3
/* : nullable Object */;
9695 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9696 val
* var4
/* : nullable Object */;
9697 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9698 val
* var5
/* : nullable Object */;
9699 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9700 val
* var6
/* : nullable Object */;
9701 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9702 val
* var7
/* : Array[Object] */;
9703 val
* var_listnode4
/* var listnode4: Array[Object] */;
9704 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9705 short int var8
/* : Bool */;
9708 val
* var_listnode3
/* var listnode3: nullable Object */;
9709 short int var9
/* : Bool */;
9712 val
* var12
/* : Array[Object] */;
9713 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
9714 short int var13
/* : Bool */;
9717 val
* var_tcbranode6
/* var tcbranode6: nullable Object */;
9718 short int var16
/* : Bool */;
9721 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
9722 short int var19
/* : Bool */;
9725 val
* var22
/* : AArrayExpr */;
9726 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
9727 long var23
/* : Int */;
9728 long var24
/* : Int */;
9731 var_node_list
= var
;
9733 var1
= nit___nit__Parser___pop(var_p
);
9735 var_nodearraylist6
= var1
;
9737 var2
= nit___nit__Parser___pop(var_p
);
9739 var_nodearraylist5
= var2
;
9741 var3
= nit___nit__Parser___pop(var_p
);
9743 var_nodearraylist4
= var3
;
9745 var4
= nit___nit__Parser___pop(var_p
);
9747 var_nodearraylist3
= var4
;
9749 var5
= nit___nit__Parser___pop(var_p
);
9751 var_nodearraylist2
= var5
;
9753 var6
= nit___nit__Parser___pop(var_p
);
9755 var_nodearraylist1
= var6
;
9756 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9758 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
9760 var_listnode4
= var7
;
9761 var_tobranode2
= var_nodearraylist1
;
9762 /* <var_tobranode2:nullable Object> isa nullable TObra */
9763 cltype
= type_nullable__nit__TObra
.color
;
9764 idtype
= type_nullable__nit__TObra
.id
;
9765 if(var_tobranode2
== NULL
) {
9768 if(cltype
>= var_tobranode2
->type
->table_size
) {
9771 var8
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
9774 if (unlikely(!var8
)) {
9775 PRINT_ERROR("Runtime error: %s", "Assert failed");
9776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9094);
9779 var_listnode3
= var_nodearraylist3
;
9780 /* <var_listnode3:nullable Object> isa Array[Object] */
9781 cltype10
= type_standard__Array__standard__Object
.color
;
9782 idtype11
= type_standard__Array__standard__Object
.id
;
9783 if(var_listnode3
== NULL
) {
9786 if(cltype10
>= var_listnode3
->type
->table_size
) {
9789 var9
= var_listnode3
->type
->type_table
[cltype10
] == idtype11
;
9792 if (unlikely(!var9
)) {
9793 PRINT_ERROR("Runtime error: %s", "Assert failed");
9794 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9096);
9798 var12
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
9800 var_listnode4
= var12
;
9801 var_ptypenode5
= var_nodearraylist4
;
9802 /* <var_ptypenode5:nullable Object> isa nullable AType */
9803 cltype14
= type_nullable__nit__AType
.color
;
9804 idtype15
= type_nullable__nit__AType
.id
;
9805 if(var_ptypenode5
== NULL
) {
9808 if(cltype14
>= var_ptypenode5
->type
->table_size
) {
9811 var13
= var_ptypenode5
->type
->type_table
[cltype14
] == idtype15
;
9814 if (unlikely(!var13
)) {
9815 PRINT_ERROR("Runtime error: %s", "Assert failed");
9816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9099);
9819 var_tcbranode6
= var_nodearraylist5
;
9820 /* <var_tcbranode6:nullable Object> isa nullable TCbra */
9821 cltype17
= type_nullable__nit__TCbra
.color
;
9822 idtype18
= type_nullable__nit__TCbra
.id
;
9823 if(var_tcbranode6
== NULL
) {
9826 if(cltype17
>= var_tcbranode6
->type
->table_size
) {
9829 var16
= var_tcbranode6
->type
->type_table
[cltype17
] == idtype18
;
9832 if (unlikely(!var16
)) {
9833 PRINT_ERROR("Runtime error: %s", "Assert failed");
9834 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9101);
9837 var_pannotationsnode7
= var_nodearraylist6
;
9838 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
9839 cltype20
= type_nullable__nit__AAnnotations
.color
;
9840 idtype21
= type_nullable__nit__AAnnotations
.id
;
9841 if(var_pannotationsnode7
== NULL
) {
9844 if(cltype20
>= var_pannotationsnode7
->type
->table_size
) {
9847 var19
= var_pannotationsnode7
->type
->type_table
[cltype20
] == idtype21
;
9850 if (unlikely(!var19
)) {
9851 PRINT_ERROR("Runtime error: %s", "Assert failed");
9852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9103);
9855 var22
= NEW_nit__AArrayExpr(&type_nit__AArrayExpr
);
9857 nit__parser_prod___AArrayExpr___init_aarrayexpr(var22
, var_tobranode2
, var_listnode4
, var_ptypenode5
, var_tcbranode6
, var_pannotationsnode7
); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on <var22:AArrayExpr>*/
9859 var_pexprnode1
= var22
;
9860 var_node_list
= var_pexprnode1
;
9861 var23
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction357> */
9863 var24
= nit___nit__Parser___go_to(var_p
, var23
);
9866 nit___nit__Parser___push(var_p
, var24
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/