Merge: private DFAState
[nit.git] / c_src / parser.sep.10.c
index 08d61c0..ef1f4bf 100644 (file)
@@ -91,8 +91,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", 16771);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16523);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -108,8 +109,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", 16773);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16525);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -125,8 +127,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", 16775);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16527);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -142,8 +145,9 @@ var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16777);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16529);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -159,8 +163,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", 16779);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16531);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -176,8 +181,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", 16781);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16533);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -193,14 +199,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", 16783);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16535);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction370> */
@@ -305,8 +311,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", 16814);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16566);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -322,8 +329,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", 16816);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16568);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist3;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -339,8 +347,9 @@ var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16818);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16570);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -356,8 +365,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", 16820);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16572);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -373,8 +383,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", 16822);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16574);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -390,8 +401,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", 16824);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16576);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -407,14 +419,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", 16826);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16578);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction371> */
@@ -526,8 +538,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", 16858);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16610);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -543,8 +556,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", 16860);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16612);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -560,8 +574,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", 16862);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16614);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -577,8 +592,9 @@ var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16864);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16616);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -594,8 +610,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", 16866);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16618);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -611,8 +628,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", 16868);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16620);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -628,8 +646,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", 16870);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16622);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -645,13 +664,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", 16872);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16624);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var34, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction372> */
@@ -756,8 +775,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", 16903);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16655);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -773,8 +793,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", 16905);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16657);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist3;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -790,8 +811,9 @@ var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16907);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16659);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -807,8 +829,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", 16909);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16661);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -824,8 +847,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", 16911);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16663);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist8;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -841,8 +865,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", 16913);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16665);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist9;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -858,14 +883,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", 16915);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16667);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction373> */
@@ -977,8 +1002,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", 16947);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16699);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -994,8 +1020,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", 16949);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16701);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1011,8 +1038,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", 16951);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16703);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -1028,8 +1056,9 @@ var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16953);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16705);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1045,8 +1074,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", 16955);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16707);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1062,8 +1092,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", 16957);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16709);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1079,8 +1110,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", 16959);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16711);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -1096,13 +1128,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", 16961);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16713);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var34, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction374> */
@@ -1214,8 +1246,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", 16993);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16745);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1231,8 +1264,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", 16995);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16747);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist3;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -1248,8 +1282,9 @@ var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16997);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16749);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1265,8 +1300,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", 16999);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16751);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1282,8 +1318,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", 17001);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16753);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist8;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -1299,8 +1336,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", 17003);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16755);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist9;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1316,8 +1354,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", 17005);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16757);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist10;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -1333,13 +1372,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", 17007);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16759);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction375> */
@@ -1458,8 +1497,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", 17040);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16792);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -1475,8 +1515,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", 17042);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16794);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1492,8 +1533,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", 17044);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16796);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -1509,8 +1551,9 @@ var19 = var_tkwmethnode5->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17046);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16798);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1526,8 +1569,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", 17048);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16800);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1543,8 +1587,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", 17050);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16802);
+show_backtrace(1);
 }
 var_tstringnode8 = var_nodearraylist9;
 /* <var_tstringnode8:nullable Object> isa nullable TString */
@@ -1560,8 +1605,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", 17052);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16804);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist10;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -1577,8 +1623,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", 17054);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16806);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist11;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -1594,12 +1641,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", 17056);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16808);
+show_backtrace(1);
 }
 var37 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var37:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var37);
 var_ppropdefnode1 = var37;
 var_node_list = var_ppropdefnode1;
 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction376> */
@@ -1689,8 +1736,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", 17084);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16836);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1706,8 +1754,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", 17086);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16838);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist3;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -1723,8 +1772,9 @@ var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17088);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16840);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1740,8 +1790,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", 17090);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16842);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1757,8 +1808,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", 17092);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16844);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist6;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -1774,15 +1826,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", 17094);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16846);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var24 = NULL;
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var23:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction377> */
@@ -1879,8 +1931,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", 17123);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16875);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -1896,8 +1949,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", 17125);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16877);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -1913,8 +1967,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", 17127);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16879);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -1930,8 +1985,9 @@ var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17129);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16881);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -1947,8 +2003,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", 17131);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16883);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -1964,8 +2021,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", 17133);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16885);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -1981,14 +2039,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", 17135);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16887);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var28, var29, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction378> */
@@ -2085,8 +2143,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", 17164);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16916);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2102,8 +2161,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", 17166);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16918);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist3;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -2119,8 +2179,9 @@ var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17168);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16920);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -2136,8 +2197,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", 17170);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16922);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2153,8 +2215,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", 17172);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16924);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist6;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -2170,8 +2233,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", 17174);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16926);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist7;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -2187,14 +2251,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", 17176);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16928);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var28 = NULL;
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction379> */
@@ -2298,8 +2362,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", 17206);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16958);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -2315,8 +2380,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", 17208);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16960);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -2332,8 +2398,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", 17210);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16962);
+show_backtrace(1);
 }
 var_tkwmethnode5 = var_nodearraylist4;
 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
@@ -2349,8 +2416,9 @@ var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17212);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16964);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -2366,8 +2434,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", 17214);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16966);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -2383,8 +2452,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", 17216);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16968);
+show_backtrace(1);
 }
 var_pexterncallsnode9 = var_nodearraylist7;
 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
@@ -2400,8 +2470,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", 17218);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16970);
+show_backtrace(1);
 }
 var_pexterncodeblocknode10 = var_nodearraylist8;
 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
@@ -2417,13 +2488,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", 17220);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16972);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
 var32 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var32, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var31:AExternMethPropdef>*/;
-CHECK_NEW_parser_nodes__AExternMethPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction380> */
@@ -2501,8 +2572,9 @@ var5 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var5) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17246);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16998);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2518,8 +2590,9 @@ var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
 }
 }
 if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17248);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17000);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2535,8 +2608,9 @@ var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17250);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17002);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist4;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -2552,8 +2626,9 @@ var12 = var_tattridnode8->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17252);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17004);
+show_backtrace(1);
 }
 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var16 = NULL;
@@ -2564,7 +2639,6 @@ var20 = NULL;
 var21 = NULL;
 var22 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var19, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var15);
 var_ppropdefnode1 = var15;
 var_node_list = var_ppropdefnode1;
 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction381> */
@@ -2649,8 +2723,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", 17281);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17033);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -2666,8 +2741,9 @@ var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17283);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17035);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2683,8 +2759,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17285);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17037);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2700,8 +2777,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17287);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17039);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -2717,8 +2795,9 @@ var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17289);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17041);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -2728,7 +2807,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction382> */
@@ -2813,8 +2891,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", 17318);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17070);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -2830,8 +2909,9 @@ var7 = var_pablenode3->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17320);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17072);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2847,8 +2927,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17322);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17074);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2864,8 +2945,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17324);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17076);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -2881,8 +2963,9 @@ var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17326);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17078);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -2892,7 +2975,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var_pablenode3, var20, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction383> */
@@ -2984,8 +3066,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", 17356);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17108);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -3001,8 +3084,9 @@ var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17358);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17110);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3018,8 +3102,9 @@ var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17360);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17112);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3035,8 +3120,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17362);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17114);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3052,8 +3138,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17364);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17116);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3069,8 +3156,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17366);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17118);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -3079,7 +3167,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction384> */
@@ -3164,8 +3251,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", 17395);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17147);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3181,8 +3269,9 @@ var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17397);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17149);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3198,8 +3287,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17399);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17151);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3215,8 +3305,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17401);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17153);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3232,8 +3323,9 @@ var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17403);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17155);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -3243,7 +3335,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction385> */
@@ -3335,8 +3426,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", 17433);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17185);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3352,8 +3444,9 @@ var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17435);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17187);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3369,8 +3462,9 @@ var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17437);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17189);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3386,8 +3480,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17439);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17191);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3403,8 +3498,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17441);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17193);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3420,8 +3516,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17443);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17195);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -3430,7 +3527,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction386> */
@@ -3522,8 +3618,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", 17473);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17225);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -3539,8 +3636,9 @@ var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17475);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17227);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3556,8 +3654,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17477);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17229);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3573,8 +3672,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17479);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17231);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3590,8 +3690,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17481);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17233);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3607,8 +3708,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17483);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17235);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -3617,7 +3719,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var_pablenode4, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction387> */
@@ -3716,8 +3817,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", 17514);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17266);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -3733,8 +3835,9 @@ var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17516);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17268);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3750,8 +3853,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17518);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17270);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist4;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3767,8 +3871,9 @@ var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17520);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17272);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist5;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3784,8 +3889,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17522);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17274);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist6;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3801,8 +3907,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17524);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17276);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist7;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3818,8 +3925,9 @@ var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17526);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17278);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -3827,7 +3935,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction388> */
@@ -3912,8 +4019,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", 17555);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17307);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3929,8 +4037,9 @@ var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17557);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17309);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3946,8 +4055,9 @@ var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17559);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17311);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist4;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -3963,8 +4073,9 @@ var13 = var_tattridnode8->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17561);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17313);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -3980,8 +4091,9 @@ var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17563);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17315);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -3991,7 +4103,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var23, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction389> */
@@ -4083,8 +4194,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", 17593);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17345);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -4100,8 +4212,9 @@ var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17595);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17347);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4117,8 +4230,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17597);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17349);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4134,8 +4248,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17599);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17351);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -4151,8 +4266,9 @@ var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17601);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17353);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4168,8 +4284,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17603);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17355);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -4178,7 +4295,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction390> */
@@ -4270,8 +4386,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", 17633);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17385);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -4287,8 +4404,9 @@ var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17635);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17387);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4304,8 +4422,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17637);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17389);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4321,8 +4440,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17639);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17391);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -4338,8 +4458,9 @@ var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17641);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17393);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4355,8 +4476,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17643);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17395);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -4365,7 +4487,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction391> */
@@ -4464,8 +4585,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", 17674);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17426);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -4481,8 +4603,9 @@ var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17676);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17428);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -4498,8 +4621,9 @@ var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17678);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17430);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4515,8 +4639,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17680);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17432);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4532,8 +4657,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17682);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17434);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -4549,8 +4675,9 @@ var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17684);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17436);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4566,8 +4693,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17686);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17438);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -4575,7 +4703,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var28, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction392> */
@@ -4667,8 +4794,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", 17716);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17468);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -4684,8 +4812,9 @@ var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17718);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17470);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4701,8 +4830,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17720);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17472);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4718,8 +4848,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17722);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17474);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -4735,8 +4866,9 @@ var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17724);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17476);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4752,8 +4884,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17726);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17478);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -4762,7 +4895,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction393> */
@@ -4861,8 +4993,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", 17757);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17509);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -4878,8 +5011,9 @@ var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17759);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17511);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -4895,8 +5029,9 @@ var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17761);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17513);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4912,8 +5047,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17763);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17515);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4929,8 +5065,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17765);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17517);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -4946,8 +5083,9 @@ var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17767);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17519);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4963,8 +5101,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17769);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17521);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -4972,7 +5111,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction394> */
@@ -5071,8 +5209,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", 17800);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17552);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -5088,8 +5227,9 @@ var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17802);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17554);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -5105,8 +5245,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17804);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17556);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5122,8 +5263,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17806);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17558);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5139,8 +5281,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17808);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17560);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -5156,8 +5299,9 @@ var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17810);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17562);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -5173,8 +5317,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17812);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17564);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -5182,7 +5327,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction395> */
@@ -5288,8 +5432,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", 17844);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17596);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -5305,8 +5450,9 @@ var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17846);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17598);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -5322,8 +5468,9 @@ var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17848);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17600);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist4;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -5339,8 +5486,9 @@ var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17850);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17602);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist5;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5356,8 +5504,9 @@ var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17852);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17604);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist6;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5373,8 +5522,9 @@ var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17854);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17606);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist7;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -5390,8 +5540,9 @@ var25 = var_tattridnode8->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17856);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17608);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist8;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -5407,15 +5558,15 @@ var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17858);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17610);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var32 = NULL;
 var33 = NULL;
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var31, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var34) /* init_aattrpropdef on <var31:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction396> */
@@ -5508,8 +5659,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", 17889);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17641);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5525,8 +5677,9 @@ var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17891);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17643);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5542,8 +5695,9 @@ var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17893);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17645);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist4;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -5559,8 +5713,9 @@ var15 = var_tattridnode8->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17895);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17647);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist7;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -5576,8 +5731,9 @@ var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17897);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17649);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var22 = NULL;
@@ -5587,7 +5743,6 @@ var25 = NULL;
 var26 = NULL;
 var27 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var21, var_pdocnode2, var22, var23, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var_pexprnode12) /* init_aattrpropdef on <var21:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction397> */
@@ -5687,8 +5842,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", 17929);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17681);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -5704,8 +5860,9 @@ var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17931);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17683);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5721,8 +5878,9 @@ var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17933);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17685);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5738,8 +5896,9 @@ var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17935);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17687);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -5755,8 +5914,9 @@ var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17937);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17689);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -5772,8 +5932,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17939);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17691);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -5782,7 +5943,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction398> */
@@ -5882,8 +6042,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", 17971);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17723);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -5899,8 +6060,9 @@ var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17973);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17725);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5916,8 +6078,9 @@ var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17975);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17727);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5933,8 +6096,9 @@ var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17977);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17729);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -5950,8 +6114,9 @@ var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17979);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17731);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -5967,8 +6132,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17981);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17733);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -5977,7 +6143,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var_pablenode3, var26, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction399> */
@@ -6084,8 +6249,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", 18014);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17766);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -6101,8 +6267,9 @@ var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18016);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17768);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -6118,8 +6285,9 @@ var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18018);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17770);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -6135,8 +6303,9 @@ var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18020);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17772);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -6152,8 +6321,9 @@ var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18022);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17774);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -6169,8 +6339,9 @@ var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18024);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17776);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -6186,8 +6357,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18026);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17778);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -6195,7 +6367,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction400> */
@@ -6295,8 +6466,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", 18058);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17810);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -6312,8 +6484,9 @@ var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18060);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17812);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -6329,8 +6502,9 @@ var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18062);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17814);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -6346,8 +6520,9 @@ var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18064);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17816);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -6363,8 +6538,9 @@ var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18066);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17818);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -6380,8 +6556,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18068);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17820);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -6390,7 +6567,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var_pablenode4, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction401> */
@@ -6497,8 +6673,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", 18101);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17853);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -6514,8 +6691,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18103);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17855);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -6531,8 +6709,9 @@ var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18105);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17857);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -6548,8 +6727,9 @@ var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18107);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17859);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -6565,8 +6745,9 @@ var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18109);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17861);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -6582,8 +6763,9 @@ var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18111);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17863);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -6599,8 +6781,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18113);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17865);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -6608,7 +6791,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction402> */
@@ -6715,8 +6897,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", 18146);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17898);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -6732,8 +6915,9 @@ var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18148);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17900);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -6749,8 +6933,9 @@ var14 = var_pablenode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18150);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17902);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -6766,8 +6951,9 @@ var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18152);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17904);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -6783,8 +6969,9 @@ var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18154);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17906);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -6800,8 +6987,9 @@ var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18156);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17908);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -6817,8 +7005,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18158);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17910);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -6826,7 +7015,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var_pablenode4, var30, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction403> */
@@ -6940,8 +7128,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", 18192);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17944);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -6957,8 +7146,9 @@ var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18194);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17946);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -6974,8 +7164,9 @@ var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18196);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17948);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist4;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -6991,8 +7182,9 @@ var18 = var_tkwredefnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18198);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17950);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist5;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -7008,8 +7200,9 @@ var21 = var_pvisibilitynode6->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18200);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17952);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist6;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -7025,8 +7218,9 @@ var24 = var_tkwvarnode7->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18202);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17954);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist7;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -7042,8 +7236,9 @@ var27 = var_tattridnode8->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18204);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17956);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -7059,15 +7254,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18206);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17958);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var34, var35, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction404> */
@@ -7167,8 +7362,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", 18238);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17990);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -7184,8 +7380,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18240);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17992);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -7201,8 +7398,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18242);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17994);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist4;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -7218,8 +7416,9 @@ var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18244);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17996);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -7235,8 +7434,9 @@ var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18246);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17998);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -7252,8 +7452,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18248);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18000);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -7262,7 +7463,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction405> */
@@ -7369,8 +7569,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", 18281);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18033);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -7386,8 +7587,9 @@ var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18283);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18035);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -7403,8 +7605,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18285);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18037);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -7420,8 +7623,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18287);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18039);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -7437,8 +7641,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18289);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18041);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -7454,8 +7659,9 @@ var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18291);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18043);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -7471,8 +7677,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18293);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18045);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -7480,7 +7687,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction406> */
@@ -7587,8 +7793,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", 18326);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18078);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -7604,8 +7811,9 @@ var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18328);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18080);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -7621,8 +7829,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18330);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18082);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -7638,8 +7847,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18332);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18084);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -7655,8 +7865,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18334);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18086);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -7672,8 +7883,9 @@ var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18336);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18088);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -7689,8 +7901,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18338);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18090);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -7698,7 +7911,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction407> */
@@ -7812,8 +8024,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", 18372);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18124);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -7829,8 +8042,9 @@ var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18374);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18126);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -7846,8 +8060,9 @@ var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18376);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18128);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -7863,8 +8078,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18378);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18130);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -7880,8 +8096,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18380);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18132);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -7897,8 +8114,9 @@ var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18382);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18134);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -7914,8 +8132,9 @@ var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18384);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18136);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -7931,15 +8150,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18386);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18138);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var34, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction408> */
@@ -8046,8 +8265,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", 18419);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18171);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -8063,8 +8283,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18421);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18173);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -8080,8 +8301,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18423);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18175);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -8097,8 +8319,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18425);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18177);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist5;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -8114,8 +8337,9 @@ var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18427);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18179);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -8131,8 +8355,9 @@ var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18429);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18181);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -8148,8 +8373,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18431);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18183);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -8157,7 +8383,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction409> */
@@ -8271,8 +8496,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", 18465);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18217);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist2;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -8288,8 +8514,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18467);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18219);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist3;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -8305,8 +8532,9 @@ var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18469);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18221);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -8322,8 +8550,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18471);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18223);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -8339,8 +8568,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18473);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18225);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -8356,8 +8586,9 @@ var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18475);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18227);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -8373,8 +8604,9 @@ var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18477);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18229);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -8390,15 +8622,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18479);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18231);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction410> */
@@ -8512,8 +8744,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", 18513);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18265);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -8529,8 +8762,9 @@ var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18515);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18267);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -8546,8 +8780,9 @@ var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18517);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18269);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist4;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -8563,8 +8798,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18519);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18271);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist5;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -8580,8 +8816,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18521);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18273);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist6;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -8597,8 +8834,9 @@ var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18523);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18275);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist7;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -8614,8 +8852,9 @@ var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18525);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18277);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -8631,15 +8870,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18527);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18279);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var_pablenode4, var34, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction411> */
@@ -8760,8 +8999,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", 18562);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18314);
+show_backtrace(1);
 }
 var_pablenode3 = var_nodearraylist2;
 /* <var_pablenode3:nullable Object> isa nullable AAble */
@@ -8777,8 +9017,9 @@ var13 = var_pablenode3->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18564);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18316);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist3;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -8794,8 +9035,9 @@ var16 = var_pablenode4->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18566);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18318);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist4;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -8811,8 +9053,9 @@ var19 = var_tkwredefnode5->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18568);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18320);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist5;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -8828,8 +9071,9 @@ var22 = var_pvisibilitynode6->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18570);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18322);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist6;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -8845,8 +9089,9 @@ var25 = var_tkwvarnode7->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18572);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18324);
+show_backtrace(1);
 }
 var_tattridnode8 = var_nodearraylist7;
 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
@@ -8862,8 +9107,9 @@ var28 = var_tattridnode8->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18574);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18326);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist8;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -8879,8 +9125,9 @@ var31 = var_ptypenode10->type->type_table[cltype32] == idtype33;
 }
 }
 if (!var31) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18576);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18328);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist11;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -8896,14 +9143,14 @@ var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
 }
 }
 if (!var34) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18578);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18330);
+show_backtrace(1);
 }
 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var38 = NULL;
 var39 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var37, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var38, var_ptypenode10, var39, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var37);
 var_ppropdefnode1 = var37;
 var_node_list = var_ppropdefnode1;
 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction412> */
@@ -8981,8 +9228,9 @@ var5 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var5) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18606);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18358);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -8998,8 +9246,9 @@ var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
 }
 }
 if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18608);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18360);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -9015,8 +9264,9 @@ var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18610);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18362);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -9032,8 +9282,9 @@ var12 = var_tidnode9->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18612);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18364);
+show_backtrace(1);
 }
 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var16 = NULL;
@@ -9044,7 +9295,6 @@ var20 = NULL;
 var21 = NULL;
 var22 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var19, var_tidnode9, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var15);
 var_ppropdefnode1 = var15;
 var_node_list = var_ppropdefnode1;
 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction413> */
@@ -9129,8 +9379,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", 18641);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18393);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -9146,8 +9397,9 @@ var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18643);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18395);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -9163,8 +9415,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18645);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18397);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -9180,8 +9433,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18647);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18399);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -9197,8 +9451,9 @@ var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18649);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18401);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -9208,7 +9463,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction414> */
@@ -9293,8 +9547,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", 18678);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18430);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -9310,8 +9565,9 @@ var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18680);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18432);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -9327,8 +9583,9 @@ var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18682);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18434);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -9344,8 +9601,9 @@ var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18684);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18436);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -9361,8 +9619,9 @@ var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18686);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18438);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -9372,7 +9631,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var23, var_tidnode9, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction415> */
@@ -9464,8 +9722,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", 18716);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18468);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -9481,8 +9740,9 @@ var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18718);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18470);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -9498,8 +9758,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18720);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18472);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -9515,8 +9776,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18722);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18474);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -9532,8 +9794,9 @@ var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18724);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18476);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -9549,8 +9812,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18726);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18478);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -9559,7 +9823,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction416> */
@@ -9644,8 +9907,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", 18755);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18507);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist5;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -9661,8 +9925,9 @@ var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18757);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18509);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -9678,8 +9943,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18759);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18511);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -9695,8 +9961,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18761);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18513);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -9712,8 +9979,9 @@ var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18763);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18515);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -9723,7 +9991,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction417> */
@@ -9731,195 +9998,3 @@ var27 = ((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, var27, var_node_list) /* push on <var_p:Parser>*/;
 RET_LABEL:;
 }
-/* method parser#ReduceAction417#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction417__action(val* self, val* p0) {
-parser__ReduceAction417__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
-void parser__ReduceAction418__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pdocnode2 /* var pdocnode2: nullable Object */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pablenode4 /* var pablenode4: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
-short int var11 /* : Bool */;
-int cltype12;
-int idtype13;
-val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
-short int var14 /* : Bool */;
-int cltype15;
-int idtype16;
-val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-val* var_tidnode9 /* var tidnode9: nullable Object */;
-short int var20 /* : Bool */;
-int cltype21;
-int idtype22;
-val* var23 /* : AAttrPropdef */;
-val* var24 /* : null */;
-val* var25 /* : null */;
-val* var26 /* : null */;
-val* var27 /* : null */;
-val* var28 /* : null */;
-val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
-long var29 /* : Int */;
-long var30 /* : 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_nodearraylist6 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist5 = var2;
-var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist4 = var3;
-var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist3 = var4;
-var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var5;
-var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var6;
-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) {
-var7 = 1;
-} else {
-if(cltype >= var_pdocnode2->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_pdocnode2->type->type_table[cltype] == idtype;
-}
-}
-if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18793);
-exit(1);
-}
-var_pablenode4 = var_nodearraylist6;
-/* <var_pablenode4:nullable Object> isa nullable AAble */
-cltype9 = type_nullable_parser_nodes__AAble.color;
-idtype10 = type_nullable_parser_nodes__AAble.id;
-if(var_pablenode4 == NULL) {
-var8 = 1;
-} else {
-if(cltype9 >= var_pablenode4->type->table_size) {
-var8 = 0;
-} else {
-var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
-}
-}
-if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18795);
-exit(1);
-}
-var_tkwredefnode5 = var_nodearraylist2;
-/* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
-cltype12 = type_nullable_parser_nodes__TKwredef.color;
-idtype13 = type_nullable_parser_nodes__TKwredef.id;
-if(var_tkwredefnode5 == NULL) {
-var11 = 1;
-} else {
-if(cltype12 >= var_tkwredefnode5->type->table_size) {
-var11 = 0;
-} else {
-var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
-}
-}
-if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18797);
-exit(1);
-}
-var_pvisibilitynode6 = var_nodearraylist3;
-/* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
-cltype15 = type_nullable_parser_nodes__AVisibility.color;
-idtype16 = type_nullable_parser_nodes__AVisibility.id;
-if(var_pvisibilitynode6 == NULL) {
-var14 = 1;
-} else {
-if(cltype15 >= var_pvisibilitynode6->type->table_size) {
-var14 = 0;
-} else {
-var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
-}
-}
-if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18799);
-exit(1);
-}
-var_tkwvarnode7 = var_nodearraylist4;
-/* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
-cltype18 = type_nullable_parser_nodes__TKwvar.color;
-idtype19 = type_nullable_parser_nodes__TKwvar.id;
-if(var_tkwvarnode7 == NULL) {
-var17 = 1;
-} else {
-if(cltype18 >= var_tkwvarnode7->type->table_size) {
-var17 = 0;
-} else {
-var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
-}
-}
-if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18801);
-exit(1);
-}
-var_tidnode9 = var_nodearraylist5;
-/* <var_tidnode9:nullable Object> isa nullable TId */
-cltype21 = type_nullable_parser_nodes__TId.color;
-idtype22 = type_nullable_parser_nodes__TId.id;
-if(var_tidnode9 == NULL) {
-var20 = 1;
-} else {
-if(cltype21 >= var_tidnode9->type->table_size) {
-var20 = 0;
-} else {
-var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
-}
-}
-if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18803);
-exit(1);
-}
-var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
-var24 = NULL;
-var25 = NULL;
-var26 = NULL;
-var27 = NULL;
-var28 = NULL;
-((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
-var_ppropdefnode1 = var23;
-var_node_list = var_ppropdefnode1;
-var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction418> */
-var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction418#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction418__action(val* self, val* p0) {
-parser__ReduceAction418__action(self, p0);
-RET_LABEL:;
-}