-/* method parser#ReduceAction516#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction516__action(val* self, val* p0) {
-parser__ReduceAction516__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction517#action for (self: ReduceAction517, Parser) */
-void parser__ReduceAction517__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwreadablenode3 /* var tkwreadablenode3: nullable Object */;
-short int var2 /* : Bool */;
-int cltype;
-int idtype;
-val* var3 /* : AReadAble */;
-val* var4 /* : null */;
-val* var_pablenode1 /* var pablenode1: nullable AReadAble */;
-long var5 /* : Int */;
-long var6 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var1;
-var_tkwreadablenode3 = var_nodearraylist1;
-/* <var_tkwreadablenode3:nullable Object> isa nullable TKwreadable */
-cltype = type_nullable_parser_nodes__TKwreadable.color;
-idtype = type_nullable_parser_nodes__TKwreadable.id;
-if(var_tkwreadablenode3 == NULL) {
-var2 = 1;
-} else {
-if(cltype >= var_tkwreadablenode3->type->table_size) {
-var2 = 0;
-} else {
-var2 = var_tkwreadablenode3->type->type_table[cltype] == idtype;
-}
-}
-if (!var2) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22770);
-exit(1);
-}
-var3 = NEW_parser_nodes__AReadAble(&type_parser_nodes__AReadAble);
-var4 = NULL;
-((void (*)(val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AReadAble__init_areadable]))(var3, var4, var_tkwreadablenode3) /* init_areadable on <var3:AReadAble>*/;
-CHECK_NEW_parser_nodes__AReadAble(var3);
-var_pablenode1 = var3;
-var_node_list = var_pablenode1;
-var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction517> */
-var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction517#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction517__action(val* self, val* p0) {
-parser__ReduceAction517__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction518#action for (self: ReduceAction518, Parser) */
-void parser__ReduceAction518__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwredefnode2 /* var tkwredefnode2: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var_tkwreadablenode3 /* var tkwreadablenode3: nullable Object */;
-short int var4 /* : Bool */;
-int cltype5;
-int idtype6;
-val* var7 /* : AReadAble */;
-val* var_pablenode1 /* var pablenode1: nullable AReadAble */;
-long var8 /* : Int */;
-long var9 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var2;
-var_tkwredefnode2 = var_nodearraylist1;
-/* <var_tkwredefnode2:nullable Object> isa nullable TKwredef */
-cltype = type_nullable_parser_nodes__TKwredef.color;
-idtype = type_nullable_parser_nodes__TKwredef.id;
-if(var_tkwredefnode2 == NULL) {
-var3 = 1;
-} else {
-if(cltype >= var_tkwredefnode2->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_tkwredefnode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22787);
-exit(1);
-}
-var_tkwreadablenode3 = var_nodearraylist2;
-/* <var_tkwreadablenode3:nullable Object> isa nullable TKwreadable */
-cltype5 = type_nullable_parser_nodes__TKwreadable.color;
-idtype6 = type_nullable_parser_nodes__TKwreadable.id;
-if(var_tkwreadablenode3 == NULL) {
-var4 = 1;
-} else {
-if(cltype5 >= var_tkwreadablenode3->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_tkwreadablenode3->type->type_table[cltype5] == idtype6;
-}
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22789);
-exit(1);
-}
-var7 = NEW_parser_nodes__AReadAble(&type_parser_nodes__AReadAble);
-((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AReadAble__init_areadable]))(var7, var_tkwredefnode2, var_tkwreadablenode3) /* init_areadable on <var7:AReadAble>*/;
-CHECK_NEW_parser_nodes__AReadAble(var7);
-var_pablenode1 = var7;
-var_node_list = var_pablenode1;
-var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction518> */
-var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction518#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction518__action(val* self, val* p0) {
-parser__ReduceAction518__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction519#action for (self: ReduceAction519, Parser) */
-void parser__ReduceAction519__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwwritablenode4 /* var tkwwritablenode4: nullable Object */;
-short int var2 /* : Bool */;
-int cltype;
-int idtype;
-val* var3 /* : AWriteAble */;
-val* var4 /* : null */;
-val* var5 /* : null */;
-val* var_pablenode1 /* var pablenode1: nullable AWriteAble */;
-long var6 /* : Int */;
-long var7 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var1;
-var_tkwwritablenode4 = var_nodearraylist1;
-/* <var_tkwwritablenode4:nullable Object> isa nullable TKwwritable */
-cltype = type_nullable_parser_nodes__TKwwritable.color;
-idtype = type_nullable_parser_nodes__TKwwritable.id;
-if(var_tkwwritablenode4 == NULL) {
-var2 = 1;
-} else {
-if(cltype >= var_tkwwritablenode4->type->table_size) {
-var2 = 0;
-} else {
-var2 = var_tkwwritablenode4->type->type_table[cltype] == idtype;
-}
-}
-if (!var2) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22805);
-exit(1);
-}
-var3 = NEW_parser_nodes__AWriteAble(&type_parser_nodes__AWriteAble);
-var4 = NULL;
-var5 = NULL;
-((void (*)(val*, val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AWriteAble__init_awriteable]))(var3, var4, var5, var_tkwwritablenode4) /* init_awriteable on <var3:AWriteAble>*/;
-CHECK_NEW_parser_nodes__AWriteAble(var3);
-var_pablenode1 = var3;
-var_node_list = var_pablenode1;
-var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction519> */
-var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction519#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction519__action(val* self, val* p0) {
-parser__ReduceAction519__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction520#action for (self: ReduceAction520, Parser) */
-void parser__ReduceAction520__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwredefnode2 /* var tkwredefnode2: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var_tkwwritablenode4 /* var tkwwritablenode4: nullable Object */;
-short int var4 /* : Bool */;
-int cltype5;
-int idtype6;
-val* var7 /* : AWriteAble */;
-val* var8 /* : null */;
-val* var_pablenode1 /* var pablenode1: nullable AWriteAble */;
-long var9 /* : Int */;
-long var10 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var2;
-var_tkwredefnode2 = var_nodearraylist1;
-/* <var_tkwredefnode2:nullable Object> isa nullable TKwredef */
-cltype = type_nullable_parser_nodes__TKwredef.color;
-idtype = type_nullable_parser_nodes__TKwredef.id;
-if(var_tkwredefnode2 == NULL) {
-var3 = 1;
-} else {
-if(cltype >= var_tkwredefnode2->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_tkwredefnode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22823);
-exit(1);
-}
-var_tkwwritablenode4 = var_nodearraylist2;
-/* <var_tkwwritablenode4:nullable Object> isa nullable TKwwritable */
-cltype5 = type_nullable_parser_nodes__TKwwritable.color;
-idtype6 = type_nullable_parser_nodes__TKwwritable.id;
-if(var_tkwwritablenode4 == NULL) {
-var4 = 1;
-} else {
-if(cltype5 >= var_tkwwritablenode4->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_tkwwritablenode4->type->type_table[cltype5] == idtype6;
-}
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22825);
-exit(1);
-}
-var7 = NEW_parser_nodes__AWriteAble(&type_parser_nodes__AWriteAble);
-var8 = NULL;
-((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AWriteAble__init_awriteable]))(var7, var_tkwredefnode2, var8, var_tkwwritablenode4) /* init_awriteable on <var7:AWriteAble>*/;
-CHECK_NEW_parser_nodes__AWriteAble(var7);
-var_pablenode1 = var7;
-var_node_list = var_pablenode1;
-var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction520> */
-var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction520#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction520__action(val* self, val* p0) {
-parser__ReduceAction520__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction521#action for (self: ReduceAction521, Parser) */
-void parser__ReduceAction521__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pvisibilitynode3 /* var pvisibilitynode3: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var_tkwwritablenode4 /* var tkwwritablenode4: nullable Object */;
-short int var4 /* : Bool */;
-int cltype5;
-int idtype6;
-val* var7 /* : AWriteAble */;
-val* var8 /* : null */;
-val* var_pablenode1 /* var pablenode1: nullable AWriteAble */;
-long var9 /* : Int */;
-long var10 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var2;
-var_pvisibilitynode3 = var_nodearraylist1;
-/* <var_pvisibilitynode3:nullable Object> isa nullable AVisibility */
-cltype = type_nullable_parser_nodes__AVisibility.color;
-idtype = type_nullable_parser_nodes__AVisibility.id;
-if(var_pvisibilitynode3 == NULL) {
-var3 = 1;
-} else {
-if(cltype >= var_pvisibilitynode3->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_pvisibilitynode3->type->type_table[cltype] == idtype;
-}
-}
-if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22843);
-exit(1);
-}
-var_tkwwritablenode4 = var_nodearraylist2;
-/* <var_tkwwritablenode4:nullable Object> isa nullable TKwwritable */
-cltype5 = type_nullable_parser_nodes__TKwwritable.color;
-idtype6 = type_nullable_parser_nodes__TKwwritable.id;
-if(var_tkwwritablenode4 == NULL) {
-var4 = 1;
-} else {
-if(cltype5 >= var_tkwwritablenode4->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_tkwwritablenode4->type->type_table[cltype5] == idtype6;
-}
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22845);
-exit(1);
-}
-var7 = NEW_parser_nodes__AWriteAble(&type_parser_nodes__AWriteAble);
-var8 = NULL;
-((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AWriteAble__init_awriteable]))(var7, var8, var_pvisibilitynode3, var_tkwwritablenode4) /* init_awriteable on <var7:AWriteAble>*/;
-CHECK_NEW_parser_nodes__AWriteAble(var7);
-var_pablenode1 = var7;
-var_node_list = var_pablenode1;
-var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction521> */
-var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction521#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction521__action(val* self, val* p0) {
-parser__ReduceAction521__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction522#action for (self: ReduceAction522, Parser) */
-void parser__ReduceAction522__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwredefnode2 /* var tkwredefnode2: nullable Object */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pvisibilitynode3 /* var pvisibilitynode3: nullable Object */;
-short int var5 /* : Bool */;
-int cltype6;
-int idtype7;
-val* var_tkwwritablenode4 /* var tkwwritablenode4: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var11 /* : AWriteAble */;
-val* var_pablenode1 /* var pablenode1: nullable AWriteAble */;
-long var12 /* : Int */;
-long var13 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist3 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var2;
-var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var3;
-var_tkwredefnode2 = var_nodearraylist1;
-/* <var_tkwredefnode2:nullable Object> isa nullable TKwredef */
-cltype = type_nullable_parser_nodes__TKwredef.color;
-idtype = type_nullable_parser_nodes__TKwredef.id;
-if(var_tkwredefnode2 == NULL) {
-var4 = 1;
-} else {
-if(cltype >= var_tkwredefnode2->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_tkwredefnode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22864);
-exit(1);
-}
-var_pvisibilitynode3 = var_nodearraylist2;
-/* <var_pvisibilitynode3:nullable Object> isa nullable AVisibility */
-cltype6 = type_nullable_parser_nodes__AVisibility.color;
-idtype7 = type_nullable_parser_nodes__AVisibility.id;
-if(var_pvisibilitynode3 == NULL) {
-var5 = 1;
-} else {
-if(cltype6 >= var_pvisibilitynode3->type->table_size) {
-var5 = 0;
-} else {
-var5 = var_pvisibilitynode3->type->type_table[cltype6] == idtype7;
-}
-}
-if (!var5) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22866);
-exit(1);
-}
-var_tkwwritablenode4 = var_nodearraylist3;
-/* <var_tkwwritablenode4:nullable Object> isa nullable TKwwritable */
-cltype9 = type_nullable_parser_nodes__TKwwritable.color;
-idtype10 = type_nullable_parser_nodes__TKwwritable.id;
-if(var_tkwwritablenode4 == NULL) {
-var8 = 1;
-} else {
-if(cltype9 >= var_tkwwritablenode4->type->table_size) {
-var8 = 0;
-} else {
-var8 = var_tkwwritablenode4->type->type_table[cltype9] == idtype10;
-}
-}
-if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22868);
-exit(1);
-}
-var11 = NEW_parser_nodes__AWriteAble(&type_parser_nodes__AWriteAble);
-((void (*)(val*, val*, val*, val*))(var11->class->vft[COLOR_parser_prod__AWriteAble__init_awriteable]))(var11, var_tkwredefnode2, var_pvisibilitynode3, var_tkwwritablenode4) /* init_awriteable on <var11:AWriteAble>*/;
-CHECK_NEW_parser_nodes__AWriteAble(var11);
-var_pablenode1 = var11;
-var_node_list = var_pablenode1;
-var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction522> */
-var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction522#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction522__action(val* self, val* p0) {
-parser__ReduceAction522__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction523#action for (self: ReduceAction523, Parser) */
-void parser__ReduceAction523__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : APublicVisibility */;
-val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APublicVisibility */;
-long var2 /* : Int */;
-long var3 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = NEW_parser_nodes__APublicVisibility(&type_parser_nodes__APublicVisibility);
-((void (*)(val*))(var1->class->vft[COLOR_parser_prod__APublicVisibility__init_apublicvisibility]))(var1) /* init_apublicvisibility on <var1:APublicVisibility>*/;
-CHECK_NEW_parser_nodes__APublicVisibility(var1);
-var_pvisibilitynode1 = var1;
-var_node_list = var_pvisibilitynode1;
-var2 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction523> */
-var3 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var2) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var3, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction523#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction523__action(val* self, val* p0) {
-parser__ReduceAction523__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction524#action for (self: ReduceAction524, Parser) */
-void parser__ReduceAction524__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwprivatenode2 /* var tkwprivatenode2: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var4 /* : APrivateVisibility */;
-val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APrivateVisibility */;
-long var5 /* : Int */;
-long var6 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var2;
-var_tkwprivatenode2 = var_nodearraylist1;
-/* <var_tkwprivatenode2:nullable Object> isa nullable TKwprivate */
-cltype = type_nullable_parser_nodes__TKwprivate.color;
-idtype = type_nullable_parser_nodes__TKwprivate.id;
-if(var_tkwprivatenode2 == NULL) {
-var3 = 1;
-} else {
-if(cltype >= var_tkwprivatenode2->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_tkwprivatenode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22896);
-exit(1);
-}
-var4 = NEW_parser_nodes__APrivateVisibility(&type_parser_nodes__APrivateVisibility);
-((void (*)(val*, val*))(var4->class->vft[COLOR_parser_prod__APrivateVisibility__init_aprivatevisibility]))(var4, var_tkwprivatenode2) /* init_aprivatevisibility on <var4:APrivateVisibility>*/;
-CHECK_NEW_parser_nodes__APrivateVisibility(var4);
-var_pvisibilitynode1 = var4;
-var_node_list = var_pvisibilitynode1;
-var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction524> */
-var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction524#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction524__action(val* self, val* p0) {
-parser__ReduceAction524__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction525#action for (self: ReduceAction525, Parser) */
-void parser__ReduceAction525__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tkwprotectednode2 /* var tkwprotectednode2: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var4 /* : AProtectedVisibility */;
-val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable AProtectedVisibility */;
-long var5 /* : Int */;
-long var6 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var2;
-var_tkwprotectednode2 = var_nodearraylist1;
-/* <var_tkwprotectednode2:nullable Object> isa nullable TKwprotected */
-cltype = type_nullable_parser_nodes__TKwprotected.color;
-idtype = type_nullable_parser_nodes__TKwprotected.id;
-if(var_tkwprotectednode2 == NULL) {
-var3 = 1;
-} else {
-if(cltype >= var_tkwprotectednode2->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_tkwprotectednode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22912);
-exit(1);
-}
-var4 = NEW_parser_nodes__AProtectedVisibility(&type_parser_nodes__AProtectedVisibility);
-((void (*)(val*, val*))(var4->class->vft[COLOR_parser_prod__AProtectedVisibility__init_aprotectedvisibility]))(var4, var_tkwprotectednode2) /* init_aprotectedvisibility on <var4:AProtectedVisibility>*/;
-CHECK_NEW_parser_nodes__AProtectedVisibility(var4);
-var_pvisibilitynode1 = var4;
-var_node_list = var_pvisibilitynode1;
-var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction525> */
-var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction525#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction525__action(val* self, val* p0) {
-parser__ReduceAction525__action(self, p0);
-RET_LABEL:;
-}