-val* var_listnode3 /* var listnode3: nullable Object */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-val* var12 /* : Array[Object] */;
-val* var_tkwdonode5 /* var tkwdonode5: nullable Object */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-val* var_pexprnode6 /* var pexprnode6: nullable Object */;
-short int var16 /* : Bool */;
-int cltype17;
-int idtype18;
-val* var_plabelnode7 /* var plabelnode7: nullable Object */;
-short int var19 /* : Bool */;
-int cltype20;
-int idtype21;
-val* var22 /* : AForExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AForExpr */;
-long var23 /* : Int */;
-long var24 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist7 = var;
-{
-var1 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist6 = var1;
-{
-var2 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist5 = var2;
-{
-var3 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist4 = var3;
-{
-var4 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist3 = var4;
-{
-var5 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist2 = var5;
-{
-var6 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var6;
-var7 = NEW_core__Array(&type_core__Array__core__Object);
-{
-core___core__Array___core__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
-}
-var_listnode4 = var7;
-var_tkwfornode2 = var_nodearraylist1;
-/* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
-cltype = type_nullable__nitc__TKwfor.color;
-idtype = type_nullable__nitc__TKwfor.id;
-if(var_tkwfornode2 == NULL) {
-var8 = 1;
-} else {
-if(cltype >= (((long)var_tkwfornode2&3)?type_info[((long)var_tkwfornode2&3)]:var_tkwfornode2->type)->table_size) {
-var8 = 0;
-} else {
-var8 = (((long)var_tkwfornode2&3)?type_info[((long)var_tkwfornode2&3)]:var_tkwfornode2->type)->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8041);
-fatal_exit(1);
-}
-var_listnode3 = var_nodearraylist3;
-/* <var_listnode3:nullable Object> isa Array[Object] */
-cltype10 = type_core__Array__core__Object.color;
-idtype11 = type_core__Array__core__Object.id;
-if(var_listnode3 == NULL) {
-var9 = 0;
-} else {
-if(cltype10 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) {
-var9 = 0;
-} else {
-var9 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype10] == idtype11;
-}
-}
-if (unlikely(!var9)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8043);
-fatal_exit(1);
-}
-{
-var12 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
-}
-var_listnode4 = var12;
-var_tkwdonode5 = var_nodearraylist5;
-/* <var_tkwdonode5:nullable Object> isa nullable TKwdo */
-cltype14 = type_nullable__nitc__TKwdo.color;
-idtype15 = type_nullable__nitc__TKwdo.id;
-if(var_tkwdonode5 == NULL) {
-var13 = 1;
-} else {
-if(cltype14 >= (((long)var_tkwdonode5&3)?type_info[((long)var_tkwdonode5&3)]:var_tkwdonode5->type)->table_size) {
-var13 = 0;
-} else {
-var13 = (((long)var_tkwdonode5&3)?type_info[((long)var_tkwdonode5&3)]:var_tkwdonode5->type)->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8046);
-fatal_exit(1);
-}
-var_pexprnode6 = var_nodearraylist6;
-/* <var_pexprnode6:nullable Object> isa nullable AExpr */
-cltype17 = type_nullable__nitc__AExpr.color;
-idtype18 = type_nullable__nitc__AExpr.id;
-if(var_pexprnode6 == NULL) {
-var16 = 1;
-} else {
-if(cltype17 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) {
-var16 = 0;
-} else {
-var16 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype17] == idtype18;
-}
-}
-if (unlikely(!var16)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8048);
-fatal_exit(1);
-}
-var_plabelnode7 = var_nodearraylist7;
-/* <var_plabelnode7:nullable Object> isa nullable ALabel */
-cltype20 = type_nullable__nitc__ALabel.color;
-idtype21 = type_nullable__nitc__ALabel.id;
-if(var_plabelnode7 == NULL) {
-var19 = 1;
-} else {
-if(cltype20 >= (((long)var_plabelnode7&3)?type_info[((long)var_plabelnode7&3)]:var_plabelnode7->type)->table_size) {
-var19 = 0;
-} else {
-var19 = (((long)var_plabelnode7&3)?type_info[((long)var_plabelnode7&3)]:var_plabelnode7->type)->type_table[cltype20] == idtype21;
-}
-}
-if (unlikely(!var19)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8050);
-fatal_exit(1);
-}
-var22 = NEW_nitc__AForExpr(&type_nitc__AForExpr);
-{
-nitc__parser_prod___AForExpr___init_aforexpr(var22, var_tkwfornode2, var_listnode4, var_tkwdonode5, var_pexprnode6, var_plabelnode7); /* Direct call parser_prod#AForExpr#init_aforexpr on <var22:AForExpr>*/
-}
-var_pexprnode1 = var22;
-var_node_list = var_pexprnode1;
-var23 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction271> */
-{
-var24 = nitc___nitc__Parser___go_to(var_p, var23);
-}
-{
-nitc___nitc__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */
-void nitc__parser___nitc__parser__ReduceAction272___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var6 /* : Array[Object] */;
-val* var_listnode4 /* var listnode4: Array[Object] */;
-val* var_tkwfornode2 /* var tkwfornode2: nullable Object */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-val* var_listnode3 /* var listnode3: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var11 /* : Array[Object] */;
-val* var_tkwdonode5 /* var tkwdonode5: nullable Object */;
-short int var12 /* : Bool */;
-int cltype13;
-int idtype14;
-val* var_pexprnode6 /* var pexprnode6: nullable Object */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-val* var18 /* : AForExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AForExpr */;
-long var19 /* : Int */;
-long var20 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist6 = var;
-{
-var1 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist5 = var1;
-{
-var2 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist4 = var2;
-{
-var3 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist3 = var3;
-{
-var4 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist2 = var4;
-{
-var5 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var5;
-var6 = NEW_core__Array(&type_core__Array__core__Object);
-{
-core___core__Array___core__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
-}
-var_listnode4 = var6;
-var_tkwfornode2 = var_nodearraylist1;
-/* <var_tkwfornode2:nullable Object> isa nullable TKwfor */
-cltype = type_nullable__nitc__TKwfor.color;
-idtype = type_nullable__nitc__TKwfor.id;
-if(var_tkwfornode2 == NULL) {
-var7 = 1;
-} else {
-if(cltype >= (((long)var_tkwfornode2&3)?type_info[((long)var_tkwfornode2&3)]:var_tkwfornode2->type)->table_size) {
-var7 = 0;
-} else {
-var7 = (((long)var_tkwfornode2&3)?type_info[((long)var_tkwfornode2&3)]:var_tkwfornode2->type)->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8075);
-fatal_exit(1);
-}
-var_listnode3 = var_nodearraylist3;
-/* <var_listnode3:nullable Object> isa Array[Object] */
-cltype9 = type_core__Array__core__Object.color;
-idtype10 = type_core__Array__core__Object.id;
-if(var_listnode3 == NULL) {
-var8 = 0;
-} else {
-if(cltype9 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) {
-var8 = 0;
-} else {
-var8 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype9] == idtype10;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8077);
-fatal_exit(1);
-}
-{
-var11 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
-}
-var_listnode4 = var11;
-var_tkwdonode5 = var_nodearraylist5;
-/* <var_tkwdonode5:nullable Object> isa nullable TKwdo */
-cltype13 = type_nullable__nitc__TKwdo.color;
-idtype14 = type_nullable__nitc__TKwdo.id;
-if(var_tkwdonode5 == NULL) {
-var12 = 1;
-} else {
-if(cltype13 >= (((long)var_tkwdonode5&3)?type_info[((long)var_tkwdonode5&3)]:var_tkwdonode5->type)->table_size) {
-var12 = 0;
-} else {
-var12 = (((long)var_tkwdonode5&3)?type_info[((long)var_tkwdonode5&3)]:var_tkwdonode5->type)->type_table[cltype13] == idtype14;
-}
-}
-if (unlikely(!var12)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8080);
-fatal_exit(1);
-}
-var_pexprnode6 = var_nodearraylist6;
-/* <var_pexprnode6:nullable Object> isa nullable AExpr */
-cltype16 = type_nullable__nitc__AExpr.color;
-idtype17 = type_nullable__nitc__AExpr.id;
-if(var_pexprnode6 == NULL) {
-var15 = 1;
-} else {
-if(cltype16 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) {
-var15 = 0;
-} else {
-var15 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8082);
-fatal_exit(1);
-}
-var18 = NEW_nitc__AForExpr(&type_nitc__AForExpr);
-{
-nitc__parser_prod___AForExpr___init_aforexpr(var18, var_tkwfornode2, var_listnode4, var_tkwdonode5, var_pexprnode6, ((val*)NULL)); /* Direct call parser_prod#AForExpr#init_aforexpr on <var18:AForExpr>*/
-}
-var_pexprnode1 = var18;
-var_node_list = var_pexprnode1;
-var19 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction272> */
-{
-var20 = nitc___nitc__Parser___go_to(var_p, var19);
-}
-{
-nitc___nitc__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
-void nitc__parser___nitc__parser__ReduceAction273___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var1 /* : Array[Object] */;
-val* var_listnode2 /* var listnode2: Array[Object] */;
-val* var_pforgroupnode1 /* var pforgroupnode1: nullable Object */;
-short int var2 /* : Bool */;
-short int var3 /* : Bool */;
-long var4 /* : Int */;
-long var5 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var;
-var1 = NEW_core__Array(&type_core__Array__core__Object);
-{
-core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[Object]>*/
-}
-var_listnode2 = var1;
-var_pforgroupnode1 = var_nodearraylist1;
-if (var_pforgroupnode1 == NULL) {
-var2 = 0; /* is null */
-} else {
-var2 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var3 = ((short int(*)(val* self, val* p0))((((long)var_pforgroupnode1&3)?class_info[((long)var_pforgroupnode1&3)]:var_pforgroupnode1->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_pforgroupnode1, ((val*)NULL)); /* != on <var_pforgroupnode1:nullable Object>*/
-var2 = var3;
-}
-if (var2){
-{
-core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode2, var_pforgroupnode1); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
-}
-} else {
-}
-var_node_list = var_listnode2;
-var4 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction273> */
-{
-var5 = nitc___nitc__Parser___go_to(var_p, var4);
-}
-{
-nitc___nitc__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
-void nitc__parser___nitc__parser__ReduceAction274___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var5 /* : Array[Object] */;
-val* var_listnode3 /* var listnode3: Array[Object] */;
-val* var_listnode1 /* var listnode1: nullable Object */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pforgroupnode2 /* var pforgroupnode2: nullable Object */;
-val* var7 /* : Array[Object] */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-long var10 /* : Int */;
-long var11 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist5 = var;
-{
-var1 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist4 = var1;
-{
-var2 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist3 = var2;
-{
-var3 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist2 = var3;
-{
-var4 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var4;
-var5 = NEW_core__Array(&type_core__Array__core__Object);
-{
-core___core__Array___core__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
-}
-var_listnode3 = var5;
-var_listnode1 = var_nodearraylist1;
-/* <var_listnode1:nullable Object> isa Array[Object] */
-cltype = type_core__Array__core__Object.color;
-idtype = type_core__Array__core__Object.id;
-if(var_listnode1 == NULL) {
-var6 = 0;
-} else {
-if(cltype >= (((long)var_listnode1&3)?type_info[((long)var_listnode1&3)]:var_listnode1->type)->table_size) {
-var6 = 0;
-} else {
-var6 = (((long)var_listnode1&3)?type_info[((long)var_listnode1&3)]:var_listnode1->type)->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8121);
-fatal_exit(1);
-}
-var_pforgroupnode2 = var_nodearraylist5;
-{
-var7 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode1);
-}
-var_listnode3 = var7;
-if (var_pforgroupnode2 == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var9 = ((short int(*)(val* self, val* p0))((((long)var_pforgroupnode2&3)?class_info[((long)var_pforgroupnode2&3)]:var_pforgroupnode2->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_pforgroupnode2, ((val*)NULL)); /* != on <var_pforgroupnode2:nullable Object>*/
-var8 = var9;
-}
-if (var8){
-{
-core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode3, var_pforgroupnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
-}
-} else {
-}
-var_node_list = var_listnode3;
-var10 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction274> */
-{
-var11 = nitc___nitc__Parser___go_to(var_p, var10);
-}
-{
-nitc___nitc__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
-void nitc__parser___nitc__parser__ReduceAction275___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var5 /* : Array[Object] */;
-val* var_listnode3 /* var listnode3: Array[Object] */;
-val* var_listnode2 /* var listnode2: nullable Object */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-val* var7 /* : Array[Object] */;
-val* var_tkwinnode4 /* var tkwinnode4: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var_pexprnode5 /* var pexprnode5: nullable Object */;
-short int var11 /* : Bool */;
-int cltype12;
-int idtype13;
-val* var14 /* : AForGroup */;
-val* var_pforgroupnode1 /* var pforgroupnode1: nullable AForGroup */;
-long var15 /* : Int */;
-long var16 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist5 = var;
-{
-var1 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist4 = var1;
-{
-var2 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist3 = var2;
-{
-var3 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist2 = var3;
-{
-var4 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var4;
-var5 = NEW_core__Array(&type_core__Array__core__Object);
-{
-core___core__Array___core__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
-}
-var_listnode3 = var5;
-var_listnode2 = var_nodearraylist1;
-/* <var_listnode2:nullable Object> isa Array[Object] */
-cltype = type_core__Array__core__Object.color;
-idtype = type_core__Array__core__Object.id;
-if(var_listnode2 == NULL) {
-var6 = 0;
-} else {
-if(cltype >= (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->table_size) {
-var6 = 0;
-} else {
-var6 = (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8143);
-fatal_exit(1);
-}
-{
-var7 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2);
-}
-var_listnode3 = var7;
-var_tkwinnode4 = var_nodearraylist3;
-/* <var_tkwinnode4:nullable Object> isa nullable TKwin */
-cltype9 = type_nullable__nitc__TKwin.color;
-idtype10 = type_nullable__nitc__TKwin.id;
-if(var_tkwinnode4 == NULL) {
-var8 = 1;
-} else {
-if(cltype9 >= (((long)var_tkwinnode4&3)?type_info[((long)var_tkwinnode4&3)]:var_tkwinnode4->type)->table_size) {
-var8 = 0;
-} else {
-var8 = (((long)var_tkwinnode4&3)?type_info[((long)var_tkwinnode4&3)]:var_tkwinnode4->type)->type_table[cltype9] == idtype10;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8146);
-fatal_exit(1);
-}
-var_pexprnode5 = var_nodearraylist5;
-/* <var_pexprnode5:nullable Object> isa nullable AExpr */
-cltype12 = type_nullable__nitc__AExpr.color;
-idtype13 = type_nullable__nitc__AExpr.id;
-if(var_pexprnode5 == NULL) {
-var11 = 1;
-} else {
-if(cltype12 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
-var11 = 0;
-} else {
-var11 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype12] == idtype13;
-}
-}
-if (unlikely(!var11)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8148);
-fatal_exit(1);
-}
-var14 = NEW_nitc__AForGroup(&type_nitc__AForGroup);
-{
-nitc__parser_prod___AForGroup___init_aforgroup(var14, var_listnode3, var_tkwinnode4, var_pexprnode5); /* Direct call parser_prod#AForGroup#init_aforgroup on <var14:AForGroup>*/
-}
-var_pforgroupnode1 = var14;
-var_node_list = var_pforgroupnode1;
-var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction275> */
-{
-var16 = nitc___nitc__Parser___go_to(var_p, var15);
-}
-{
-nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction276#action for (self: ReduceAction276, Parser) */
-void nitc__parser___nitc__parser__ReduceAction276___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwwithnode2 /* var tkwwithnode2: nullable Object */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pexprnode3 /* var pexprnode3: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var_tkwdonode4 /* var tkwdonode4: nullable Object */;
-short int var11 /* : Bool */;
-int cltype12;
-int idtype13;
-val* var_pexprnode5 /* var pexprnode5: nullable Object */;
-short int var14 /* : Bool */;
-int cltype15;
-int idtype16;
-val* var_plabelnode6 /* var plabelnode6: nullable Object */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-val* var20 /* : AWithExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AWithExpr */;
-long var21 /* : Int */;
-long var22 /* : Int */;
-var_p = p0;
-var_node_list = ((val*)NULL);
-{
-var = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist7 = var;
-{
-var1 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist6 = var1;
-{
-var2 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist5 = var2;
-{
-var3 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist4 = var3;
-{
-var4 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist3 = var4;
-{
-var5 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist2 = var5;
-{
-var6 = nitc___nitc__Parser___pop(var_p);
-}
-var_nodearraylist1 = var6;
-var_tkwwithnode2 = var_nodearraylist1;
-/* <var_tkwwithnode2:nullable Object> isa nullable TKwwith */
-cltype = type_nullable__nitc__TKwwith.color;
-idtype = type_nullable__nitc__TKwwith.id;
-if(var_tkwwithnode2 == NULL) {
-var7 = 1;
-} else {
-if(cltype >= (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->table_size) {
-var7 = 0;
-} else {
-var7 = (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8171);
-fatal_exit(1);
-}
-var_pexprnode3 = var_nodearraylist3;
-/* <var_pexprnode3:nullable Object> isa nullable AExpr */
-cltype9 = type_nullable__nitc__AExpr.color;
-idtype10 = type_nullable__nitc__AExpr.id;
-if(var_pexprnode3 == NULL) {
-var8 = 1;
-} else {
-if(cltype9 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) {
-var8 = 0;
-} else {
-var8 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype9] == idtype10;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8173);
-fatal_exit(1);
-}
-var_tkwdonode4 = var_nodearraylist5;
-/* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
-cltype12 = type_nullable__nitc__TKwdo.color;
-idtype13 = type_nullable__nitc__TKwdo.id;
-if(var_tkwdonode4 == NULL) {
-var11 = 1;
-} else {
-if(cltype12 >= (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->table_size) {
-var11 = 0;
-} else {
-var11 = (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->type_table[cltype12] == idtype13;
-}
-}
-if (unlikely(!var11)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8175);
-fatal_exit(1);
-}
-var_pexprnode5 = var_nodearraylist6;
-/* <var_pexprnode5:nullable Object> isa nullable AExpr */
-cltype15 = type_nullable__nitc__AExpr.color;
-idtype16 = type_nullable__nitc__AExpr.id;
-if(var_pexprnode5 == NULL) {
-var14 = 1;
-} else {
-if(cltype15 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
-var14 = 0;
-} else {
-var14 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype15] == idtype16;
-}
-}
-if (unlikely(!var14)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8177);
-fatal_exit(1);
-}
-var_plabelnode6 = var_nodearraylist7;
-/* <var_plabelnode6:nullable Object> isa nullable ALabel */
-cltype18 = type_nullable__nitc__ALabel.color;
-idtype19 = type_nullable__nitc__ALabel.id;
-if(var_plabelnode6 == NULL) {
-var17 = 1;
-} else {
-if(cltype18 >= (((long)var_plabelnode6&3)?type_info[((long)var_plabelnode6&3)]:var_plabelnode6->type)->table_size) {
-var17 = 0;
-} else {
-var17 = (((long)var_plabelnode6&3)?type_info[((long)var_plabelnode6&3)]:var_plabelnode6->type)->type_table[cltype18] == idtype19;
-}
-}
-if (unlikely(!var17)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 8179);
-fatal_exit(1);
-}
-var20 = NEW_nitc__AWithExpr(&type_nitc__AWithExpr);
-{
-nitc__parser_prod___AWithExpr___init_awithexpr(var20, var_tkwwithnode2, var_pexprnode3, var_tkwdonode4, var_pexprnode5, var_plabelnode6); /* Direct call parser_prod#AWithExpr#init_awithexpr on <var20:AWithExpr>*/
-}
-var_pexprnode1 = var20;
-var_node_list = var_pexprnode1;
-var21 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction276> */
-{
-var22 = nitc___nitc__Parser___go_to(var_p, var21);
-}
-{
-nitc___nitc__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction277#action for (self: ReduceAction277, Parser) */
-void nitc__parser___nitc__parser__ReduceAction277___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var /* : nullable Object */;
-val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwwithnode2 /* var tkwwithnode2: nullable Object */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pexprnode3 /* var pexprnode3: nullable Object */;
-short int var7 /* : Bool */;
-int cltype8;
-int idtype9;
-val* var_tkwdonode4 /* var tkwdonode4: nullable Object */;
-short int var10 /* : Bool */;
-int cltype11;
-int idtype12;
-val* var_pexprnode5 /* var pexprnode5: nullable Object */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-val* var16 /* : AWithExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AWithExpr */;
-long var17 /* : Int */;
-long var18 /* : Int */;