example: intro an emscripten wrapper around fibonacci
[nit.git] / c_src / parser.sep.12.c
index be9a3c1..647ccc6 100644 (file)
@@ -1,4 +1,348 @@
 #include "parser.sep.0.h"
+/* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
+void parser__ReduceAction466__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_nodearraylist7 /* var nodearraylist7: nullable Object */;
+val* var2 /* : nullable Object */;
+val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
+val* var3 /* : nullable Object */;
+val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
+val* var4 /* : nullable Object */;
+val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
+val* var5 /* : nullable Object */;
+val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
+val* var6 /* : nullable Object */;
+val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
+val* var7 /* : nullable Object */;
+val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
+val* var_pdocnode2 /* var pdocnode2: nullable Object */;
+short int var8 /* : Bool */;
+int cltype;
+int idtype;
+val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
+short int var9 /* : Bool */;
+int cltype10;
+int idtype11;
+val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
+short int var12 /* : Bool */;
+int cltype13;
+int idtype14;
+val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
+short int var15 /* : Bool */;
+int cltype16;
+int idtype17;
+val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
+short int var18 /* : Bool */;
+int cltype19;
+int idtype20;
+val* var21 /* : AExternInitPropdef */;
+val* var22 /* : null */;
+val* var23 /* : null */;
+val* var24 /* : null */;
+val* var25 /* : null */;
+val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
+long var26 /* : Int */;
+long var27 /* : 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_nodearraylist7 = var1;
+var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist6 = var2;
+var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist5 = var3;
+var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist4 = var4;
+var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist3 = var5;
+var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist2 = var6;
+var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist1 = var7;
+var_pdocnode2 = var_nodearraylist1;
+/* <var_pdocnode2:nullable Object> isa nullable ADoc */
+cltype = type_nullable_parser_nodes__ADoc.color;
+idtype = type_nullable_parser_nodes__ADoc.id;
+if(var_pdocnode2 == NULL) {
+var8 = 1;
+} else {
+if(cltype >= var_pdocnode2->type->table_size) {
+var8 = 0;
+} else {
+var8 = var_pdocnode2->type->type_table[cltype] == idtype;
+}
+}
+if (!var8) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20539);
+show_backtrace(1);
+}
+var_tkwredefnode3 = var_nodearraylist2;
+/* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
+cltype10 = type_nullable_parser_nodes__TKwredef.color;
+idtype11 = type_nullable_parser_nodes__TKwredef.id;
+if(var_tkwredefnode3 == NULL) {
+var9 = 1;
+} else {
+if(cltype10 >= var_tkwredefnode3->type->table_size) {
+var9 = 0;
+} else {
+var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
+}
+}
+if (!var9) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20541);
+show_backtrace(1);
+}
+var_pvisibilitynode4 = var_nodearraylist3;
+/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
+cltype13 = type_nullable_parser_nodes__AVisibility.color;
+idtype14 = type_nullable_parser_nodes__AVisibility.id;
+if(var_pvisibilitynode4 == NULL) {
+var12 = 1;
+} else {
+if(cltype13 >= var_pvisibilitynode4->type->table_size) {
+var12 = 0;
+} else {
+var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
+}
+}
+if (!var12) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20543);
+show_backtrace(1);
+}
+var_tkwnewnode5 = var_nodearraylist4;
+/* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
+cltype16 = type_nullable_parser_nodes__TKwnew.color;
+idtype17 = type_nullable_parser_nodes__TKwnew.id;
+if(var_tkwnewnode5 == NULL) {
+var15 = 1;
+} else {
+if(cltype16 >= var_tkwnewnode5->type->table_size) {
+var15 = 0;
+} else {
+var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
+}
+}
+if (!var15) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20545);
+show_backtrace(1);
+}
+var_psignaturenode7 = var_nodearraylist5;
+/* <var_psignaturenode7:nullable Object> isa nullable ASignature */
+cltype19 = type_nullable_parser_nodes__ASignature.color;
+idtype20 = type_nullable_parser_nodes__ASignature.id;
+if(var_psignaturenode7 == NULL) {
+var18 = 1;
+} else {
+if(cltype19 >= var_psignaturenode7->type->table_size) {
+var18 = 0;
+} else {
+var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
+}
+}
+if (!var18) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20547);
+show_backtrace(1);
+}
+var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
+var22 = NULL;
+var23 = NULL;
+var24 = NULL;
+var25 = NULL;
+((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var22, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
+var_ppropdefnode1 = var21;
+var_node_list = var_ppropdefnode1;
+var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction466> */
+var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
+((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
+RET_LABEL:;
+}
+/* method parser#ReduceAction466#action for (self: Object, Parser) */
+void VIRTUAL_parser__ReduceAction466__action(val* self, val* p0) {
+parser__ReduceAction466__action(self, p0);
+RET_LABEL:;
+}
+/* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
+void parser__ReduceAction467__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_nodearraylist7 /* var nodearraylist7: nullable Object */;
+val* var2 /* : nullable Object */;
+val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
+val* var3 /* : nullable Object */;
+val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
+val* var4 /* : nullable Object */;
+val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
+val* var5 /* : nullable Object */;
+val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
+val* var6 /* : nullable Object */;
+val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
+val* var7 /* : nullable Object */;
+val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
+val* var_pdocnode2 /* var pdocnode2: nullable Object */;
+short int var8 /* : Bool */;
+int cltype;
+int idtype;
+val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
+short int var9 /* : Bool */;
+int cltype10;
+int idtype11;
+val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
+short int var12 /* : Bool */;
+int cltype13;
+int idtype14;
+val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
+short int var15 /* : Bool */;
+int cltype16;
+int idtype17;
+val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
+short int var18 /* : Bool */;
+int cltype19;
+int idtype20;
+val* var21 /* : AExternInitPropdef */;
+val* var22 /* : null */;
+val* var23 /* : null */;
+val* var24 /* : null */;
+val* var25 /* : null */;
+val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
+long var26 /* : Int */;
+long var27 /* : 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_nodearraylist7 = var1;
+var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist6 = var2;
+var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist5 = var3;
+var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist4 = var4;
+var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist3 = var5;
+var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist2 = var6;
+var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist1 = var7;
+var_pdocnode2 = var_nodearraylist1;
+/* <var_pdocnode2:nullable Object> isa nullable ADoc */
+cltype = type_nullable_parser_nodes__ADoc.color;
+idtype = type_nullable_parser_nodes__ADoc.id;
+if(var_pdocnode2 == NULL) {
+var8 = 1;
+} else {
+if(cltype >= var_pdocnode2->type->table_size) {
+var8 = 0;
+} else {
+var8 = var_pdocnode2->type->type_table[cltype] == idtype;
+}
+}
+if (!var8) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20576);
+show_backtrace(1);
+}
+var_pvisibilitynode4 = var_nodearraylist2;
+/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
+cltype10 = type_nullable_parser_nodes__AVisibility.color;
+idtype11 = type_nullable_parser_nodes__AVisibility.id;
+if(var_pvisibilitynode4 == NULL) {
+var9 = 1;
+} else {
+if(cltype10 >= var_pvisibilitynode4->type->table_size) {
+var9 = 0;
+} else {
+var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
+}
+}
+if (!var9) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20578);
+show_backtrace(1);
+}
+var_tkwnewnode5 = var_nodearraylist3;
+/* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
+cltype13 = type_nullable_parser_nodes__TKwnew.color;
+idtype14 = type_nullable_parser_nodes__TKwnew.id;
+if(var_tkwnewnode5 == NULL) {
+var12 = 1;
+} else {
+if(cltype13 >= var_tkwnewnode5->type->table_size) {
+var12 = 0;
+} else {
+var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
+}
+}
+if (!var12) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20580);
+show_backtrace(1);
+}
+var_pmethidnode6 = var_nodearraylist4;
+/* <var_pmethidnode6:nullable Object> isa nullable AMethid */
+cltype16 = type_nullable_parser_nodes__AMethid.color;
+idtype17 = type_nullable_parser_nodes__AMethid.id;
+if(var_pmethidnode6 == NULL) {
+var15 = 1;
+} else {
+if(cltype16 >= var_pmethidnode6->type->table_size) {
+var15 = 0;
+} else {
+var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
+}
+}
+if (!var15) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20582);
+show_backtrace(1);
+}
+var_psignaturenode7 = var_nodearraylist5;
+/* <var_psignaturenode7:nullable Object> isa nullable ASignature */
+cltype19 = type_nullable_parser_nodes__ASignature.color;
+idtype20 = type_nullable_parser_nodes__ASignature.id;
+if(var_psignaturenode7 == NULL) {
+var18 = 1;
+} else {
+if(cltype19 >= var_psignaturenode7->type->table_size) {
+var18 = 0;
+} else {
+var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
+}
+}
+if (!var18) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20584);
+show_backtrace(1);
+}
+var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
+var22 = NULL;
+var23 = NULL;
+var24 = NULL;
+var25 = NULL;
+((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
+var_ppropdefnode1 = var21;
+var_node_list = var_ppropdefnode1;
+var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction467> */
+var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
+((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
+RET_LABEL:;
+}
+/* method parser#ReduceAction467#action for (self: Object, Parser) */
+void VIRTUAL_parser__ReduceAction467__action(val* self, val* p0) {
+parser__ReduceAction467__action(self, p0);
+RET_LABEL:;
+}
 /* method parser#ReduceAction468#action for (self: ReduceAction468, Parser) */
 void parser__ReduceAction468__action(val* self, val* p0) {
 val* var_p /* var p: Parser */;
@@ -84,8 +428,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20862);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20614);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -101,8 +446,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20864);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20616);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -118,8 +464,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20866);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20618);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -135,8 +482,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20868);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20620);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -152,8 +500,9 @@ var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20870);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20622);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -169,15 +518,15 @@ var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20872);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20624);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var26, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction468> */
@@ -268,8 +617,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20901);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20653);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -285,8 +635,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20903);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20655);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -302,8 +653,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20905);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20657);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -319,8 +671,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20907);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20659);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -336,8 +689,9 @@ var18 = var_tstringnode8->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20909);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20661);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var22 = NULL;
@@ -345,7 +699,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var23, var_psignaturenode7, var_tstringnode8, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction469> */
@@ -443,8 +796,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20939);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20691);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -460,8 +814,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20941);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20693);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -477,8 +832,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20943);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20695);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -494,8 +850,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20945);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20697);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -511,8 +868,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20947);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20699);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -528,15 +886,15 @@ var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20949);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20701);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction470> */
@@ -634,8 +992,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20979);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20731);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -651,8 +1010,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20981);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20733);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -668,8 +1028,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20983);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20735);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -685,8 +1046,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20985);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20737);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -702,8 +1064,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20987);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20739);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -719,15 +1082,15 @@ var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20989);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20741);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction471> */
@@ -832,8 +1195,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21020);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20772);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -849,8 +1213,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21022);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20774);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -866,8 +1231,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21024);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20776);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -883,8 +1249,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21026);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20778);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -900,8 +1267,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21028);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20780);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -917,8 +1285,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21030);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20782);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -934,14 +1303,14 @@ var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21032);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20784);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var30, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction472> */
@@ -1032,8 +1401,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21061);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20813);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1049,8 +1419,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21063);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20815);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -1066,8 +1437,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21065);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20817);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1083,8 +1455,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21067);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20819);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1100,8 +1473,9 @@ var18 = var_pexterncallsnode9->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21069);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20821);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var22 = NULL;
@@ -1109,7 +1483,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var23, var_psignaturenode7, var24, var_pexterncallsnode9, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction473> */
@@ -1207,8 +1580,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21099);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20851);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -1224,8 +1598,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21101);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20853);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1241,8 +1616,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21103);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20855);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -1258,8 +1634,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21105);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20857);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1275,8 +1652,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21107);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20859);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1292,15 +1670,15 @@ var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21109);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20861);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction474> */
@@ -1398,8 +1776,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21139);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20891);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1415,8 +1794,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21141);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20893);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -1432,8 +1812,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21143);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20895);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1449,8 +1830,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21145);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20897);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1466,8 +1848,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21147);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20899);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1483,15 +1866,15 @@ var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21149);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20901);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction475> */
@@ -1596,8 +1979,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21180);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20932);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -1613,8 +1997,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21182);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20934);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1630,8 +2015,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21184);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20936);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -1647,8 +2033,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21186);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20938);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1664,8 +2051,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21188);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20940);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1681,8 +2069,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21190);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20942);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1698,14 +2087,14 @@ var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21192);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20944);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction476> */
@@ -1803,8 +2192,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21222);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20974);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1820,8 +2210,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21224);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20976);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -1837,8 +2228,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21226);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20978);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1854,8 +2246,9 @@ var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21228);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20980);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -1871,8 +2264,9 @@ var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21230);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20982);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1888,15 +2282,15 @@ var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21232);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20984);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction477> */
@@ -2001,8 +2395,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21263);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21015);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -2018,8 +2413,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21265);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21017);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2035,8 +2431,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21267);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21019);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -2052,8 +2449,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21269);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21021);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2069,8 +2467,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21271);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21023);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -2086,8 +2485,9 @@ var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21273);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21025);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -2103,14 +2503,14 @@ var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21275);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21027);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction478> */
@@ -2215,8 +2615,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21306);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21058);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2232,8 +2633,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21308);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21060);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -2249,8 +2651,9 @@ var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21310);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21062);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -2266,8 +2669,9 @@ var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21312);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21064);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2283,8 +2687,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21314);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21066);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -2300,8 +2705,9 @@ var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21316);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21068);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -2317,14 +2723,14 @@ var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21318);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21070);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction479> */
@@ -2436,8 +2842,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21350);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21102);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -2453,8 +2860,9 @@ var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21352);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21104);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2470,8 +2878,9 @@ var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21354);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21106);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -2487,8 +2896,9 @@ var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21356);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21108);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -2504,8 +2914,9 @@ var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21358);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21110);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2521,8 +2932,9 @@ var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21360);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21112);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -2538,8 +2950,9 @@ var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21362);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21114);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist10;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -2555,13 +2968,13 @@ var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21364);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21116);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var34) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction480> */
@@ -2652,8 +3065,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21393);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21145);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2669,8 +3083,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21395);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21147);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -2686,8 +3101,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21397);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21149);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2703,8 +3119,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21399);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21151);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -2720,8 +3137,9 @@ var18 = var_pexterncodeblocknode10->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21401);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21153);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var22 = NULL;
@@ -2729,7 +3147,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var23, var_psignaturenode7, var24, var25, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction481> */
@@ -2827,8 +3244,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21431);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21183);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -2844,8 +3262,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21433);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21185);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2861,8 +3280,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21435);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21187);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -2878,8 +3298,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21437);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21189);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2895,8 +3316,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21439);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21191);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -2912,15 +3334,15 @@ var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21441);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21193);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction482> */
@@ -3018,8 +3440,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21471);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21223);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -3035,8 +3458,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21473);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21225);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -3052,8 +3476,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21475);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21227);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -3069,8 +3494,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21477);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21229);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -3086,8 +3512,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21479);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21231);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -3103,15 +3530,15 @@ var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21481);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21233);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction483> */
@@ -3216,8 +3643,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21512);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21264);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -3233,8 +3661,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21514);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21266);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -3250,8 +3679,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21516);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21268);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -3267,8 +3697,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21518);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21270);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -3284,8 +3715,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21520);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21272);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -3301,8 +3733,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21522);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21274);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -3318,14 +3751,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21524);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21276);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var30, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction484> */
@@ -3423,8 +3856,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21554);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21306);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -3440,8 +3874,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21556);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21308);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -3457,8 +3892,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21558);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21310);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -3474,8 +3910,9 @@ var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21560);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21312);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -3491,8 +3928,9 @@ var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21562);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21314);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -3508,15 +3946,15 @@ var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21564);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21316);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var_tstringnode8, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction485> */
@@ -3621,8 +4059,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21595);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21347);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -3638,8 +4077,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21597);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21349);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -3655,8 +4095,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21599);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21351);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -3672,8 +4113,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21601);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21353);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -3689,8 +4131,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21603);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21355);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -3706,8 +4149,9 @@ var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21605);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21357);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -3723,14 +4167,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21607);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21359);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction486> */
@@ -3835,8 +4279,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21638);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21390);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -3852,8 +4297,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21640);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21392);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -3869,8 +4315,9 @@ var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21642);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21394);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -3886,8 +4333,9 @@ var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21644);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21396);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -3903,8 +4351,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21646);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21398);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -3920,8 +4369,9 @@ var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21648);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21400);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -3937,14 +4387,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21650);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21402);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction487> */
@@ -4056,8 +4506,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21682);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21434);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -4073,8 +4524,9 @@ var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21684);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21436);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -4090,8 +4542,9 @@ var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21686);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21438);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -4107,8 +4560,9 @@ var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21688);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21440);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -4124,8 +4578,9 @@ var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21690);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21442);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -4141,8 +4596,9 @@ var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21692);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21444);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -4158,8 +4614,9 @@ var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21694);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21446);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -4175,13 +4632,13 @@ var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21696);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21448);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var34, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction488> */
@@ -4279,8 +4736,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21726);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21478);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -4296,8 +4754,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21728);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21480);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -4313,8 +4772,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21730);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21482);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -4330,8 +4790,9 @@ var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21732);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21484);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -4347,8 +4808,9 @@ var19 = var_pexterncallsnode9->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21734);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21486);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -4364,15 +4826,15 @@ var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21736);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21488);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var28, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction489> */
@@ -4477,8 +4939,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21767);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21519);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -4494,8 +4957,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21769);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21521);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -4511,8 +4975,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21771);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21523);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -4528,8 +4993,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21773);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21525);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -4545,8 +5011,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21775);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21527);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -4562,8 +5029,9 @@ var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21777);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21529);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -4579,14 +5047,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21779);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21531);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction490> */
@@ -4691,8 +5159,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21810);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21562);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -4708,8 +5177,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21812);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21564);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -4725,8 +5195,9 @@ var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21814);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21566);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -4742,8 +5213,9 @@ var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21816);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21568);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -4759,8 +5231,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21818);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21570);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -4776,8 +5249,9 @@ var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21820);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21572);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -4793,14 +5267,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21822);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21574);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction491> */
@@ -4912,8 +5386,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21854);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21606);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -4929,8 +5404,9 @@ var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21856);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21608);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -4946,8 +5422,9 @@ var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21858);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21610);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -4963,8 +5440,9 @@ var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21860);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21612);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -4980,8 +5458,9 @@ var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21862);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21614);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -4997,8 +5476,9 @@ var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21864);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21616);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -5014,8 +5494,9 @@ var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21866);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21618);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -5031,13 +5512,13 @@ var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21868);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21620);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var34, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction492> */
@@ -5142,8 +5623,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21899);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21651);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5159,8 +5641,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21901);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21653);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -5176,8 +5659,9 @@ var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21903);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21655);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5193,8 +5677,9 @@ var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21905);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21657);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -5210,8 +5695,9 @@ var20 = var_tstringnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21907);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21659);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -5227,8 +5713,9 @@ var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21909);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21661);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -5244,14 +5731,14 @@ var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21911);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21663);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var31, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction493> */
@@ -5363,8 +5850,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21943);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21695);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -5380,8 +5868,9 @@ var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21945);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21697);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5397,8 +5886,9 @@ var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21947);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21699);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -5414,8 +5904,9 @@ var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21949);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21701);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5431,8 +5922,9 @@ var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21951);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21703);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -5448,8 +5940,9 @@ var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21953);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21705);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -5465,8 +5958,9 @@ var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21955);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21707);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -5482,13 +5976,13 @@ var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21957);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21709);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var34, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction494> */
@@ -5600,8 +6094,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21989);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21741);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5617,8 +6112,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21991);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21743);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -5634,8 +6130,9 @@ var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21993);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21745);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -5651,8 +6148,9 @@ var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21995);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21747);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5668,8 +6166,9 @@ var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21997);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21749);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -5685,8 +6184,9 @@ var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 21999);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21751);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -5702,8 +6202,9 @@ var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22001);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21753);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -5719,13 +6220,13 @@ var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22003);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21755);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction495> */
@@ -5844,8 +6345,9 @@ var12 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22036);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21788);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -5861,8 +6363,9 @@ var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22038);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21790);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5878,8 +6381,9 @@ var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22040);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21792);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -5895,8 +6399,9 @@ var19 = var_tkwnewnode5->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22042);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21794);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -5912,8 +6417,9 @@ var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22044);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21796);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5929,8 +6435,9 @@ var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22046);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21798);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -5946,8 +6453,9 @@ var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22048);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21800);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist10;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -5963,8 +6471,9 @@ var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
 }
 }
 if (!var31) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22050);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21802);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist11;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -5980,12 +6489,12 @@ var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
 }
 }
 if (!var34) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22052);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21804);
+show_backtrace(1);
 }
 var37 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var37:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var37);
 var_ppropdefnode1 = var37;
 var_node_list = var_ppropdefnode1;
 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction496> */
@@ -6068,8 +6577,9 @@ var6 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22079);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21831);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6085,8 +6595,9 @@ var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22081);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21833);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -6102,8 +6613,9 @@ var10 = var_tkwnewnode5->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22083);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21835);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6119,8 +6631,9 @@ var13 = var_psignaturenode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22085);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21837);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist5;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -6136,8 +6649,9 @@ var16 = var_pexterncodeblocknode10->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22087);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21839);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var20 = NULL;
@@ -6145,7 +6659,6 @@ var21 = NULL;
 var22 = NULL;
 var23 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var19, var_pdocnode2, var20, var_pvisibilitynode4, var_tkwnewnode5, var21, var_psignaturenode7, var22, var23, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var19:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction497> */
@@ -6235,8 +6748,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22115);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21867);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -6252,8 +6766,9 @@ var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22117);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21869);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6269,8 +6784,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22119);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21871);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -6286,8 +6802,9 @@ var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22121);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21873);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6303,8 +6820,9 @@ var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22123);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21875);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist6;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -6320,15 +6838,15 @@ var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22125);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21877);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var24 = NULL;
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var24, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction498> */
@@ -6418,8 +6936,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22153);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21905);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6435,8 +6954,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22155);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21907);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -6452,8 +6972,9 @@ var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22157);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21909);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -6469,8 +6990,9 @@ var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22159);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21911);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6486,8 +7008,9 @@ var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22161);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21913);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist6;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -6503,15 +7026,15 @@ var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22163);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21915);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var24 = NULL;
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction499> */
@@ -6608,8 +7131,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22192);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21944);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -6625,8 +7149,9 @@ var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22194);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21946);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6642,8 +7167,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22196);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21948);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -6659,8 +7185,9 @@ var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22198);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21950);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -6676,8 +7203,9 @@ var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22200);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21952);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6693,8 +7221,9 @@ var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22202);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21954);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -6710,14 +7239,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22204);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21956);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var28, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction500> */
@@ -6807,8 +7336,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22232);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21984);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6824,8 +7354,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22234);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21986);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -6841,8 +7372,9 @@ var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22236);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21988);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6858,8 +7390,9 @@ var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22238);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21990);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist5;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -6875,8 +7408,9 @@ var17 = var_tstringnode8->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22240);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21992);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist6;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -6892,15 +7426,15 @@ var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22242);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21994);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var24 = NULL;
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwnewnode5, var25, var_psignaturenode7, var_tstringnode8, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction501> */
@@ -6997,8 +7531,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22271);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22023);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -7014,8 +7549,9 @@ var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22273);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22025);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7031,8 +7567,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22275);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22027);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -7048,8 +7585,9 @@ var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22277);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22029);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7065,8 +7603,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22279);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22031);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist6;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -7082,8 +7621,9 @@ var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22281);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22033);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -7099,14 +7639,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22283);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22035);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var28, var_psignaturenode7, var_tstringnode8, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction502> */
@@ -7203,8 +7743,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22312);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22064);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7220,8 +7761,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22314);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22066);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -7237,8 +7779,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22316);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22068);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -7254,8 +7797,9 @@ var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22318);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22070);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7271,8 +7815,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22320);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22072);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist6;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -7288,8 +7833,9 @@ var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22322);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22074);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -7305,14 +7851,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22324);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22076);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction503> */
@@ -7416,8 +7962,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22354);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22106);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -7433,8 +7980,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22356);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22108);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7450,8 +7998,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22358);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22110);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -7467,8 +8016,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22360);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22112);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -7484,8 +8034,9 @@ var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22362);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22114);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7501,8 +8052,9 @@ var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22364);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22116);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -7518,8 +8070,9 @@ var25 = var_tstringnode8->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22366);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22118);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -7535,13 +8088,13 @@ var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22368);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22120);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var32 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var32, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction504> */
@@ -7631,8 +8184,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22396);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22148);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7648,8 +8202,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22398);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22150);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -7665,8 +8220,9 @@ var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22400);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22152);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7682,8 +8238,9 @@ var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22402);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22154);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist5;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -7699,8 +8256,9 @@ var17 = var_pexterncallsnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22404);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22156);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist6;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -7716,15 +8274,15 @@ var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22406);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22158);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var24 = NULL;
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwnewnode5, var25, var_psignaturenode7, var26, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction505> */
@@ -7821,8 +8379,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22435);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22187);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -7838,8 +8397,9 @@ var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22437);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22189);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7855,8 +8415,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22439);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22191);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -7872,8 +8433,9 @@ var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22441);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22193);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7889,8 +8451,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22443);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22195);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist6;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -7906,8 +8469,9 @@ var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22445);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22197);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -7923,14 +8487,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22447);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22199);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var28, var_psignaturenode7, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction506> */
@@ -8027,8 +8591,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22476);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22228);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8044,8 +8609,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22478);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22230);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -8061,8 +8627,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22480);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22232);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -8078,8 +8645,9 @@ var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22482);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22234);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8095,8 +8663,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22484);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22236);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist6;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -8112,8 +8681,9 @@ var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22486);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22238);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -8129,14 +8699,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22488);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22240);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction507> */
@@ -8240,8 +8810,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22518);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22270);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -8257,8 +8828,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22520);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22272);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8274,8 +8846,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22522);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22274);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -8291,8 +8864,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22524);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22276);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -8308,8 +8882,9 @@ var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22526);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22278);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8325,8 +8900,9 @@ var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22528);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22280);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -8342,8 +8918,9 @@ var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22530);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22282);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -8359,13 +8936,13 @@ var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22532);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22284);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var32 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var32, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction508> */
@@ -8462,8 +9039,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22561);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22313);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8479,8 +9057,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22563);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22315);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -8496,8 +9075,9 @@ var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22565);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22317);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8513,8 +9093,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22567);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22319);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist5;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -8530,8 +9111,9 @@ var18 = var_tstringnode8->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22569);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22321);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist6;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -8547,8 +9129,9 @@ var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22571);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22323);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -8564,14 +9147,14 @@ var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22573);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22325);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwnewnode5, var29, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction509> */
@@ -8675,8 +9258,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22603);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22355);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -8692,8 +9276,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22605);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22357);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8709,8 +9294,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22607);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22359);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -8726,8 +9312,9 @@ var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22609);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22361);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8743,8 +9330,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22611);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22363);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist6;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -8760,8 +9348,9 @@ var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22613);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22365);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -8777,8 +9366,9 @@ var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22615);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22367);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -8794,13 +9384,13 @@ var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22617);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22369);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var32 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var32, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction510> */
@@ -8904,8 +9494,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22647);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22399);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8921,8 +9512,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22649);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22401);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -8938,8 +9530,9 @@ var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22651);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22403);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -8955,8 +9548,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22653);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22405);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8972,8 +9566,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22655);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22407);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist6;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -8989,8 +9584,9 @@ var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22657);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22409);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -9006,8 +9602,9 @@ var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22659);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22411);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -9023,13 +9620,13 @@ var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22661);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22413);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var32 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction511> */
@@ -9140,8 +9737,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22692);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22444);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -9157,8 +9755,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22694);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22446);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -9174,8 +9773,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22696);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22448);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist4;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -9191,8 +9791,9 @@ var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22698);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22450);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -9208,8 +9809,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22700);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22452);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -9225,8 +9827,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22702);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22454);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist7;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -9242,8 +9845,9 @@ var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22704);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22456);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -9259,8 +9863,9 @@ var29 = var_pexterncallsnode9->type->type_table[cltype30] == idtype31;
 }
 }
 if (!var29) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22706);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22458);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -9276,12 +9881,12 @@ var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
 }
 }
 if (!var32) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 22708);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22460);
+show_backtrace(1);
 }
 var35 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var35:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var35);
 var_ppropdefnode1 = var35;
 var_node_list = var_ppropdefnode1;
 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction512> */
@@ -9394,594 +9999,3 @@ var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(
 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
 RET_LABEL:;
 }
-/* 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:;
-}