c_src: regenerate
[nit.git] / c_src / nit__parser_work.sep.1.c
similarity index 51%
rename from c_src/parser_work.sep.1.c
rename to c_src/nit__parser_work.sep.1.c
index 8225043..54aa3a2 100644 (file)
@@ -1,55 +1,35 @@
-#include "parser_work.sep.0.h"
-/* method parser_work#State#init for (self: State, Int, nullable Object) */
-void parser_work__State__init(val* self, long p0, val* p1) {
-long var_state /* var state: Int */;
-val* var_nodes /* var nodes: nullable Object */;
-var_state = p0;
-var_nodes = p1;
-self->attrs[COLOR_parser_work__State___state].l = var_state; /* _state on <self:State> */
-self->attrs[COLOR_parser_work__State___nodes].val = var_nodes; /* _nodes on <self:State> */
+#include "nit__parser_work.sep.0.h"
+/* method parser_work#State#state= for (self: State, Int) */
+void nit__parser_work___nit__parser_work__State___state_61d(val* self, long p0) {
+self->attrs[COLOR_nit__parser_work__State___state].l = p0; /* _state on <self:State> */
 RET_LABEL:;
 }
-/* method parser_work#State#init for (self: Object, Int, nullable Object) */
-void VIRTUAL_parser_work__State__init(val* self, long p0, val* p1) {
-parser_work__State__init(self, p0, p1); /* Direct call parser_work#State#init on <self:Object(State)>*/
+/* method parser_work#State#nodes= for (self: State, nullable Object) */
+void nit__parser_work___nit__parser_work__State___nodes_61d(val* self, val* p0) {
+self->attrs[COLOR_nit__parser_work__State___nodes].val = p0; /* _nodes on <self:State> */
 RET_LABEL:;
 }
-/* method parser_work#Parser#init for (self: Parser, Lexer) */
-void parser_work__Parser__init(val* self, val* p0) {
-val* var_lexer /* var lexer: Lexer */;
-val* var /* : Array[State] */;
-long var1 /* : Int */;
-long var2 /* : Int */;
-long var4 /* : Int */;
-var_lexer = p0;
-self->attrs[COLOR_parser_work__Parser___lexer].val = var_lexer; /* _lexer on <self:Parser> */
-var = NEW_array__Array(&type_array__Arrayparser_work__State);
+/* method parser_work#State#init for (self: State) */
+void nit__parser_work___nit__parser_work__State___standard__kernel__Object__init(val* self) {
 {
-((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on <var:Array[State]>*/;
+((void (*)(val* self))(self->class->vft[COLOR_nit__parser_work___nit__parser_work__State___standard__kernel__Object__init]))(self) /* init on <self:State>*/;
 }
-self->attrs[COLOR_parser_work__Parser___stack].val = var; /* _stack on <self:Parser> */
-var1 = 1;
-{
-{ /* Inline kernel#Int#unary - (var1) on <var1:Int> */
-var4 = -var1;
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
+RET_LABEL:;
 }
+/* method parser_work#Parser#lexer= for (self: Parser, Lexer) */
+void nit___nit__Parser___lexer_61d(val* self, val* p0) {
+self->attrs[COLOR_nit__parser_work__Parser___lexer].val = p0; /* _lexer on <self:Parser> */
+RET_LABEL:;
 }
-self->attrs[COLOR_parser_work__Parser___stack_pos].l = var2; /* _stack_pos on <self:Parser> */
+/* method parser_work#Parser#init for (self: Parser) */
+void nit___nit__Parser___standard__kernel__Object__init(val* self) {
 {
-parser__Parser__build_reduce_table(self); /* Direct call parser#Parser#build_reduce_table on <self:Parser>*/
-}
-RET_LABEL:;
+nit__parser___Parser___build_reduce_table(self); /* Direct call parser#Parser#build_reduce_table on <self:Parser>*/
 }
-/* method parser_work#Parser#init for (self: Object, Lexer) */
-void VIRTUAL_parser_work__Parser__init(val* self, val* p0) {
-parser_work__Parser__init(self, p0); /* Direct call parser_work#Parser#init on <self:Object(Parser)>*/
 RET_LABEL:;
 }
 /* method parser_work#Parser#go_to for (self: Parser, Int): Int */
-long parser_work__Parser__go_to(val* self, long p0) {
+long nit___nit__Parser___go_to(val* self, long p0) {
 long var /* : Int */;
 long var_index /* var index: Int */;
 long var1 /* : Int */;
@@ -145,7 +125,7 @@ long var95 /* : Int */;
 long var97 /* : Int for extern */;
 var_index = p0;
 {
-var1 = parser_work__Parser__state(self);
+var1 = nit___nit__Parser___state(self);
 }
 var_state = var1;
 var2 = 1;
@@ -166,9 +146,9 @@ var7 = 1;
 /* <var7:Int> isa OTHER */
 var10 = 1; /* easy <var7:Int> isa OTHER*/
 if (unlikely(!var10)) {
-var_class_name = type_kernel__Int.name;
+var_class_name = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
 show_backtrace(1);
 }
 var11 = var4 - var7;
@@ -185,9 +165,9 @@ for(;;) {
 /* <var_high:Int> isa OTHER */
 var14 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var14)) {
-var_class_name17 = type_kernel__Int.name;
+var_class_name17 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
 show_backtrace(1);
 }
 var18 = var_low <= var_high;
@@ -203,9 +183,9 @@ if (var12){
 /* <var_high:Int> isa OTHER */
 var21 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var21)) {
-var_class_name24 = type_kernel__Int.name;
+var_class_name24 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var25 = var_low + var_high;
@@ -221,9 +201,9 @@ var26 = 2;
 /* <var26:Int> isa OTHER */
 var29 = 1; /* easy <var26:Int> isa OTHER*/
 if (unlikely(!var29)) {
-var_class_name32 = type_kernel__Int.name;
+var_class_name32 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
 show_backtrace(1);
 }
 var33 = var19 / var26;
@@ -240,9 +220,9 @@ var34 = 2;
 /* <var34:Int> isa OTHER */
 var37 = 1; /* easy <var34:Int> isa OTHER*/
 if (unlikely(!var37)) {
-var_class_name40 = type_kernel__Int.name;
+var_class_name40 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
 show_backtrace(1);
 }
 var41 = var_middle * var34;
@@ -258,9 +238,9 @@ var42 = 1;
 /* <var42:Int> isa OTHER */
 var45 = 1; /* easy <var42:Int> isa OTHER*/
 if (unlikely(!var45)) {
-var_class_name48 = type_kernel__Int.name;
+var_class_name48 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var49 = var35 + var42;
@@ -285,9 +265,9 @@ var_goal = var50;
 /* <var_goal:Int> isa OTHER */
 var55 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var55)) {
-var_class_name58 = type_kernel__Int.name;
+var_class_name58 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
 show_backtrace(1);
 }
 var59 = var_state < var_goal;
@@ -304,9 +284,9 @@ var60 = 1;
 /* <var60:Int> isa OTHER */
 var63 = 1; /* easy <var60:Int> isa OTHER*/
 if (unlikely(!var63)) {
-var_class_name66 = type_kernel__Int.name;
+var_class_name66 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
 show_backtrace(1);
 }
 var67 = var_middle - var60;
@@ -323,9 +303,9 @@ var_high = var61;
 /* <var_goal:Int> isa OTHER */
 var70 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var70)) {
-var_class_name73 = type_kernel__Int.name;
+var_class_name73 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
 show_backtrace(1);
 }
 var74 = var_state > var_goal;
@@ -342,9 +322,9 @@ var75 = 1;
 /* <var75:Int> isa OTHER */
 var78 = 1; /* easy <var75:Int> isa OTHER*/
 if (unlikely(!var78)) {
-var_class_name81 = type_kernel__Int.name;
+var_class_name81 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var82 = var_middle + var75;
@@ -362,9 +342,9 @@ var83 = 1;
 /* <var83:Int> isa OTHER */
 var86 = 1; /* easy <var83:Int> isa OTHER*/
 if (unlikely(!var86)) {
-var_class_name89 = type_kernel__Int.name;
+var_class_name89 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var90 = var_subindex + var83;
@@ -404,17 +384,8 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#Parser#go_to for (self: Object, Int): Int */
-long VIRTUAL_parser_work__Parser__go_to(val* self, long p0) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = parser_work__Parser__go_to(self, p0);
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#Parser#push for (self: Parser, Int, nullable Object) */
-void parser_work__Parser__push(val* self, long p0, val* p1) {
+void nit___nit__Parser___push(val* self, long p0, val* p1) {
 long var_numstate /* var numstate: Int */;
 val* var_list_node /* var list_node: nullable Object */;
 long var /* : Int */;
@@ -442,7 +413,7 @@ val* var19 /* : Array[State] */;
 val* var20 /* : State */;
 var_numstate = p0;
 var_list_node = p1;
-var = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 var1 = 1;
 {
 { /* Inline kernel#Int#+ (var,var1) on <var:Int> */
@@ -450,9 +421,9 @@ var1 = 1;
 /* <var1:Int> isa OTHER */
 var4 = 1; /* easy <var1:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_kernel__Int.name;
+var_class_name = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var5 = var + var1;
@@ -462,16 +433,16 @@ RET_LABEL3:(void)0;
 }
 }
 var_pos = var2;
-self->attrs[COLOR_parser_work__Parser___stack_pos].l = var_pos; /* _stack_pos on <self:Parser> */
-var6 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l = var_pos; /* _stack_pos on <self:Parser> */
+var6 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var6 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 85);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 75);
 show_backtrace(1);
 }
 {
 { /* Inline array#AbstractArrayRead#length (var6) on <var6:Array[State]> */
-var9 = var6->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on <var6:Array[State]> */
+var9 = var6->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var6:Array[State]> */
 var7 = var9;
 RET_LABEL8:(void)0;
 }
@@ -482,9 +453,9 @@ RET_LABEL8:(void)0;
 /* <var7:Int> isa OTHER */
 var12 = 1; /* easy <var7:Int> isa OTHER*/
 if (unlikely(!var12)) {
-var_class_name15 = type_kernel__Int.name;
+var_class_name15 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
 show_backtrace(1);
 }
 var16 = var_pos < var7;
@@ -494,74 +465,66 @@ RET_LABEL11:(void)0;
 }
 }
 if (var10){
-var17 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var17 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 86);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 76);
 show_backtrace(1);
 }
 {
-var18 = array__Array___91d_93d(var17, var_pos);
+var18 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var17, var_pos);
 }
 var_state = var18;
-var_state->attrs[COLOR_parser_work__State___state].l = var_numstate; /* _state on <var_state:State> */
-var_state->attrs[COLOR_parser_work__State___nodes].val = var_list_node; /* _nodes on <var_state:State> */
+var_state->attrs[COLOR_nit__parser_work__State___state].l = var_numstate; /* _state on <var_state:State> */
+var_state->attrs[COLOR_nit__parser_work__State___nodes].val = var_list_node; /* _nodes on <var_state:State> */
 } else {
-var19 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var19 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var19 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 90);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 80);
 show_backtrace(1);
 }
-var20 = NEW_parser_work__State(&type_parser_work__State);
+var20 = NEW_nit__parser_work__State(&type_nit__parser_work__State);
+{
+((void (*)(val* self, long p0))(var20->class->vft[COLOR_nit__parser_work__State__state_61d]))(var20, var_numstate) /* state= on <var20:State>*/;
+}
 {
-parser_work__State__init(var20, var_numstate, var_list_node); /* Direct call parser_work#State#init on <var20:State>*/
+((void (*)(val* self, val* p0))(var20->class->vft[COLOR_nit__parser_work__State__nodes_61d]))(var20, var_list_node) /* nodes= on <var20:State>*/;
 }
 {
-array__AbstractArray__push(var19, var20); /* Direct call array#AbstractArray#push on <var19:Array[State]>*/
+((void (*)(val* self))(var20->class->vft[COLOR_standard__kernel__Object__init]))(var20) /* init on <var20:State>*/;
 }
+{
+standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var19, var20); /* Direct call array#AbstractArray#push on <var19:Array[State]>*/
 }
-RET_LABEL:;
 }
-/* method parser_work#Parser#push for (self: Object, Int, nullable Object) */
-void VIRTUAL_parser_work__Parser__push(val* self, long p0, val* p1) {
-parser_work__Parser__push(self, p0, p1); /* Direct call parser_work#Parser#push on <self:Object(Parser)>*/
 RET_LABEL:;
 }
 /* method parser_work#Parser#state for (self: Parser): Int */
-long parser_work__Parser__state(val* self) {
+long nit___nit__Parser___state(val* self) {
 long var /* : Int */;
 val* var1 /* : Array[State] */;
 long var2 /* : Int */;
 val* var3 /* : nullable Object */;
 long var4 /* : Int */;
-var1 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var1 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 97);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 87);
 show_backtrace(1);
 }
-var2 = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var2 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
-var3 = array__Array___91d_93d(var1, var2);
+var3 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1, var2);
 }
-var4 = var3->attrs[COLOR_parser_work__State___state].l; /* _state on <var3:nullable Object(State)> */
+var4 = var3->attrs[COLOR_nit__parser_work__State___state].l; /* _state on <var3:nullable Object(State)> */
 var = var4;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#Parser#state for (self: Object): Int */
-long VIRTUAL_parser_work__Parser__state(val* self) {
-long var /* : Int */;
-long var1 /* : Int */;
-var1 = parser_work__Parser__state(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#Parser#pop for (self: Parser): nullable Object */
-val* parser_work__Parser__pop(val* self) {
+val* nit___nit__Parser___pop(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : Array[State] */;
 long var2 /* : Int */;
@@ -576,19 +539,19 @@ int cltype;
 int idtype;
 const char* var_class_name;
 long var10 /* : Int */;
-var1 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var1 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 103);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 93);
 show_backtrace(1);
 }
-var2 = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var2 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
-var3 = array__Array___91d_93d(var1, var2);
+var3 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1, var2);
 }
-var4 = var3->attrs[COLOR_parser_work__State___nodes].val; /* _nodes on <var3:nullable Object(State)> */
+var4 = var3->attrs[COLOR_nit__parser_work__State___nodes].val; /* _nodes on <var3:nullable Object(State)> */
 var_res = var4;
-var5 = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var5 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 var6 = 1;
 {
 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
@@ -596,9 +559,9 @@ var6 = 1;
 /* <var6:Int> isa OTHER */
 var9 = 1; /* easy <var6:Int> isa OTHER*/
 if (unlikely(!var9)) {
-var_class_name = type_kernel__Int.name;
+var_class_name = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
 show_backtrace(1);
 }
 var10 = var5 - var6;
@@ -607,23 +570,14 @@ goto RET_LABEL8;
 RET_LABEL8:(void)0;
 }
 }
-self->attrs[COLOR_parser_work__Parser___stack_pos].l = var7; /* _stack_pos on <self:Parser> */
+self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l = var7; /* _stack_pos on <self:Parser> */
 var = var_res;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#Parser#pop for (self: Object): nullable Object */
-val* VIRTUAL_parser_work__Parser__pop(val* self) {
-val* var /* : nullable Object */;
-val* var1 /* : nullable Object */;
-var1 = parser_work__Parser__pop(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#Parser#parse for (self: Parser): Start */
-val* parser_work__Parser__parse(val* self) {
+val* nit___nit__Parser___parse(val* self) {
 val* var /* : Start */;
 long var1 /* : Int */;
 val* var2 /* : null */;
@@ -745,101 +699,103 @@ long var120 /* : Int */;
 long var122 /* : Int for extern */;
 long var123 /* : Int */;
 short int var124 /* : Bool */;
-short int var125 /* : Bool */;
-short int var127 /* : Bool */;
-val* var128 /* : Token */;
-long var129 /* : Int */;
-short int var130 /* : Bool */;
+short int var126 /* : Bool */;
+val* var127 /* : Token */;
+long var128 /* : Int */;
+short int var129 /* : Bool */;
 short int var131 /* : Bool */;
-short int var133 /* : Bool */;
-val* var134 /* : Array[ReduceAction] */;
-val* var135 /* : nullable Object */;
-long var136 /* : Int */;
+val* var132 /* : Array[ReduceAction] */;
+val* var133 /* : nullable Object */;
+long var134 /* : Int */;
+short int var135 /* : Bool */;
 short int var137 /* : Bool */;
-short int var138 /* : Bool */;
-short int var140 /* : Bool */;
-val* var141 /* : Token */;
+val* var138 /* : Token */;
 val* var_node2 /* var node2: Token */;
-short int var142 /* : Bool */;
-int cltype143;
-int idtype144;
-val* var145 /* : nullable Object */;
+short int var139 /* : Bool */;
+int cltype140;
+int idtype141;
+val* var142 /* : nullable Object */;
 val* var_node1 /* var node1: nullable Object */;
-short int var146 /* : Bool */;
-int cltype147;
-int idtype148;
-val* var149 /* : Start */;
+short int var143 /* : Bool */;
+int cltype144;
+int idtype145;
+val* var146 /* : Start */;
 val* var_node /* var node: Start */;
-val* var150 /* : ComputeProdLocationVisitor */;
-long var151 /* : Int */;
+val* var147 /* : ComputeProdLocationVisitor */;
+long var149 /* : Int */;
+short int var150 /* : Bool */;
 short int var152 /* : Bool */;
 short int var153 /* : Bool */;
-short int var155 /* : Bool */;
-short int var156 /* : Bool */;
-short int var157 /* : Bool */;
-val* var158 /* : Token */;
-val* var160 /* : AParserError */;
+short int var154 /* : Bool */;
+val* var155 /* : Token */;
+val* var157 /* : AParserError */;
 static val* varonce;
-val* var161 /* : String */;
-char* var162 /* : NativeString */;
-long var163 /* : Int */;
-val* var164 /* : FlatString */;
-static val* varonce165;
-val* var166 /* : String */;
-char* var167 /* : NativeString */;
+val* var158 /* : String */;
+char* var159 /* : NativeString */;
+long var160 /* : Int */;
+val* var161 /* : FlatString */;
+static val* varonce162;
+val* var163 /* : String */;
+char* var164 /* : NativeString */;
+long var165 /* : Int */;
+val* var166 /* : FlatString */;
+val* var167 /* : Array[Object] */;
 long var168 /* : Int */;
-val* var169 /* : FlatString */;
-val* var170 /* : Array[Object] */;
-long var171 /* : Int */;
-val* var172 /* : NativeArray[Object] */;
-val* var173 /* : String */;
-val* var174 /* : Location */;
-val* var176 /* : Location */;
-val* var_node2177 /* var node2: AParserError */;
-val* var178 /* : Start */;
-val* var179 /* : null */;
-val* var_node180 /* var node: Start */;
+val* var169 /* : NativeArray[Object] */;
+val* var170 /* : String */;
+val* var171 /* : Location */;
+val* var173 /* : Location */;
+val* var_node2174 /* var node2: AParserError */;
+val* var175 /* : Start */;
+val* var176 /* : null */;
+val* var_node177 /* var node: Start */;
 var1 = 0;
 var2 = NULL;
 {
-parser_work__Parser__push(self, var1, var2); /* Direct call parser_work#Parser#push on <self:Parser>*/
+nit___nit__Parser___push(self, var1, var2); /* Direct call parser_work#Parser#push on <self:Parser>*/
 }
-var3 = self->attrs[COLOR_parser_work__Parser___lexer].val; /* _lexer on <self:Parser> */
+var3 = self->attrs[COLOR_nit__parser_work__Parser___lexer].val; /* _lexer on <self:Parser> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lexer");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 113);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 103);
 show_backtrace(1);
 }
 var_lexer = var3;
 for(;;) {
 {
-var4 = lexer_work__Lexer__peek(var_lexer);
+var4 = nit___nit__Lexer___peek(var_lexer);
 }
 var_token = var4;
 /* <var_token:Token> isa AError */
-cltype = type_parser_nodes__AError.color;
-idtype = type_parser_nodes__AError.id;
+cltype = type_nit__AError.color;
+idtype = type_nit__AError.id;
 if(cltype >= var_token->type->table_size) {
 var5 = 0;
 } else {
 var5 = var_token->type->type_table[cltype] == idtype;
 }
 if (var5){
-var6 = NEW_parser_nodes__Start(&type_parser_nodes__Start);
+var6 = NEW_nit__Start(&type_nit__Start);
 var7 = NULL;
 {
-parser_nodes__Start__init(var6, var7, var_token); /* Direct call parser_nodes#Start#init on <var6:Start>*/
+((void (*)(val* self, val* p0))(var6->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var6, var7) /* n_base= on <var6:Start>*/;
+}
+{
+((void (*)(val* self, val* p0))(var6->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var6, var_token) /* n_eof= on <var6:Start>*/;
+}
+{
+((void (*)(val* self))(var6->class->vft[COLOR_standard__kernel__Object__init]))(var6) /* init on <var6:Start>*/;
 }
 var = var6;
 goto RET_LABEL;
 } else {
 }
 {
-var8 = parser_work__Parser__state(self);
+var8 = nit___nit__Parser___state(self);
 }
 var_state = var8;
 {
-var9 = ((long (*)(val*))(var_token->class->vft[COLOR_lexer_work__Token__parser_index]))(var_token) /* parser_index on <var_token:Token>*/;
+var9 = ((long (*)(val* self))(var_token->class->vft[COLOR_nit__lexer_work__Token__parser_index]))(var_token) /* parser_index on <var_token:Token>*/;
 }
 var_index = var9;
 var10 = 2;
@@ -880,9 +836,9 @@ var23 = 1;
 /* <var23:Int> isa OTHER */
 var26 = 1; /* easy <var23:Int> isa OTHER*/
 if (unlikely(!var26)) {
-var_class_name = type_kernel__Int.name;
+var_class_name = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
 show_backtrace(1);
 }
 var29 = var20 - var23;
@@ -899,9 +855,9 @@ for(;;) {
 /* <var_high:Int> isa OTHER */
 var32 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var32)) {
-var_class_name35 = type_kernel__Int.name;
+var_class_name35 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
 show_backtrace(1);
 }
 var36 = var_low <= var_high;
@@ -917,9 +873,9 @@ if (var30){
 /* <var_high:Int> isa OTHER */
 var39 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var39)) {
-var_class_name42 = type_kernel__Int.name;
+var_class_name42 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var43 = var_low + var_high;
@@ -935,9 +891,9 @@ var44 = 2;
 /* <var44:Int> isa OTHER */
 var47 = 1; /* easy <var44:Int> isa OTHER*/
 if (unlikely(!var47)) {
-var_class_name50 = type_kernel__Int.name;
+var_class_name50 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
 show_backtrace(1);
 }
 var51 = var37 / var44;
@@ -954,9 +910,9 @@ var52 = 3;
 /* <var52:Int> isa OTHER */
 var55 = 1; /* easy <var52:Int> isa OTHER*/
 if (unlikely(!var55)) {
-var_class_name58 = type_kernel__Int.name;
+var_class_name58 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
 show_backtrace(1);
 }
 var59 = var_middle * var52;
@@ -972,9 +928,9 @@ var60 = 1;
 /* <var60:Int> isa OTHER */
 var63 = 1; /* easy <var60:Int> isa OTHER*/
 if (unlikely(!var63)) {
-var_class_name66 = type_kernel__Int.name;
+var_class_name66 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var67 = var53 + var60;
@@ -999,9 +955,9 @@ var_goal = var68;
 /* <var_goal:Int> isa OTHER */
 var73 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var73)) {
-var_class_name76 = type_kernel__Int.name;
+var_class_name76 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
 show_backtrace(1);
 }
 var77 = var_index < var_goal;
@@ -1018,9 +974,9 @@ var78 = 1;
 /* <var78:Int> isa OTHER */
 var81 = 1; /* easy <var78:Int> isa OTHER*/
 if (unlikely(!var81)) {
-var_class_name84 = type_kernel__Int.name;
+var_class_name84 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
 show_backtrace(1);
 }
 var85 = var_middle - var78;
@@ -1037,9 +993,9 @@ var_high = var79;
 /* <var_goal:Int> isa OTHER */
 var88 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var88)) {
-var_class_name91 = type_kernel__Int.name;
+var_class_name91 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
 show_backtrace(1);
 }
 var92 = var_index > var_goal;
@@ -1056,9 +1012,9 @@ var93 = 1;
 /* <var93:Int> isa OTHER */
 var96 = 1; /* easy <var93:Int> isa OTHER*/
 if (unlikely(!var96)) {
-var_class_name99 = type_kernel__Int.name;
+var_class_name99 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var100 = var_middle + var93;
@@ -1076,9 +1032,9 @@ var101 = 1;
 /* <var101:Int> isa OTHER */
 var104 = 1; /* easy <var101:Int> isa OTHER*/
 if (unlikely(!var104)) {
-var_class_name107 = type_kernel__Int.name;
+var_class_name107 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name107);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var108 = var_subindex + var101;
@@ -1103,9 +1059,9 @@ var112 = 2;
 /* <var112:Int> isa OTHER */
 var115 = 1; /* easy <var112:Int> isa OTHER*/
 if (unlikely(!var115)) {
-var_class_name118 = type_kernel__Int.name;
+var_class_name118 = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name118);
-PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
 show_backtrace(1);
 }
 var119 = var_subindex + var112;
@@ -1134,189 +1090,199 @@ BREAK_label: (void)0;
 var123 = 0;
 {
 { /* Inline kernel#Int#== (var_action_type,var123) on <var_action_type:Int> */
-var127 = var_action_type == var123;
-var125 = var127;
-goto RET_LABEL126;
-RET_LABEL126:(void)0;
+var126 = var_action_type == var123;
+var124 = var126;
+goto RET_LABEL125;
+RET_LABEL125:(void)0;
 }
-var124 = var125;
 }
 if (var124){
 {
-var128 = lexer_work__Lexer__next(var_lexer);
+var127 = nit___nit__Lexer___next(var_lexer);
 }
 {
-parser_work__Parser__push(self, var_action_value, var128); /* Direct call parser_work#Parser#push on <self:Parser>*/
+nit___nit__Parser___push(self, var_action_value, var127); /* Direct call parser_work#Parser#push on <self:Parser>*/
 }
 } else {
-var129 = 1;
+var128 = 1;
 {
-{ /* Inline kernel#Int#== (var_action_type,var129) on <var_action_type:Int> */
-var133 = var_action_type == var129;
-var131 = var133;
-goto RET_LABEL132;
-RET_LABEL132:(void)0;
+{ /* Inline kernel#Int#== (var_action_type,var128) on <var_action_type:Int> */
+var131 = var_action_type == var128;
+var129 = var131;
+goto RET_LABEL130;
+RET_LABEL130:(void)0;
 }
-var130 = var131;
 }
-if (var130){
-var134 = self->attrs[COLOR_parser_work__Parser___reduce_table].val; /* _reduce_table on <self:Parser> */
-if (unlikely(var134 == NULL)) {
+if (var129){
+var132 = self->attrs[COLOR_nit__parser_work__Parser___reduce_table].val; /* _reduce_table on <self:Parser> */
+if (unlikely(var132 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _reduce_table");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 147);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 137);
 show_backtrace(1);
 }
 {
-var135 = array__Array___91d_93d(var134, var_action_value);
+var133 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var132, var_action_value);
 }
 {
-((void (*)(val*, val*))(var135->class->vft[COLOR_parser_work__ReduceAction__action]))(var135, self) /* action on <var135:nullable Object(ReduceAction)>*/;
+((void (*)(val* self, val* p0))(var133->class->vft[COLOR_nit__parser_work__ReduceAction__action]))(var133, self) /* action on <var133:nullable Object(ReduceAction)>*/;
 }
 } else {
-var136 = 2;
+var134 = 2;
 {
-{ /* Inline kernel#Int#== (var_action_type,var136) on <var_action_type:Int> */
-var140 = var_action_type == var136;
-var138 = var140;
-goto RET_LABEL139;
-RET_LABEL139:(void)0;
+{ /* Inline kernel#Int#== (var_action_type,var134) on <var_action_type:Int> */
+var137 = var_action_type == var134;
+var135 = var137;
+goto RET_LABEL136;
+RET_LABEL136:(void)0;
 }
-var137 = var138;
 }
-if (var137){
+if (var135){
 {
-var141 = lexer_work__Lexer__next(var_lexer);
+var138 = nit___nit__Lexer___next(var_lexer);
 }
-var_node2 = var141;
+var_node2 = var138;
 /* <var_node2:Token> isa EOF */
-cltype143 = type_parser_nodes__EOF.color;
-idtype144 = type_parser_nodes__EOF.id;
-if(cltype143 >= var_node2->type->table_size) {
-var142 = 0;
+cltype140 = type_nit__EOF.color;
+idtype141 = type_nit__EOF.id;
+if(cltype140 >= var_node2->type->table_size) {
+var139 = 0;
 } else {
-var142 = var_node2->type->type_table[cltype143] == idtype144;
+var139 = var_node2->type->type_table[cltype140] == idtype141;
 }
-if (unlikely(!var142)) {
+if (unlikely(!var139)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 150);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 140);
 show_backtrace(1);
 }
 {
-var145 = parser_work__Parser__pop(self);
+var142 = nit___nit__Parser___pop(self);
 }
-var_node1 = var145;
+var_node1 = var142;
 /* <var_node1:nullable Object> isa AModule */
-cltype147 = type_parser_nodes__AModule.color;
-idtype148 = type_parser_nodes__AModule.id;
+cltype144 = type_nit__AModule.color;
+idtype145 = type_nit__AModule.id;
 if(var_node1 == NULL) {
-var146 = 0;
+var143 = 0;
 } else {
-if(cltype147 >= var_node1->type->table_size) {
-var146 = 0;
+if(cltype144 >= var_node1->type->table_size) {
+var143 = 0;
 } else {
-var146 = var_node1->type->type_table[cltype147] == idtype148;
+var143 = var_node1->type->type_table[cltype144] == idtype145;
 }
 }
-if (unlikely(!var146)) {
+if (unlikely(!var143)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 152);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 142);
 show_backtrace(1);
 }
-var149 = NEW_parser_nodes__Start(&type_parser_nodes__Start);
+var146 = NEW_nit__Start(&type_nit__Start);
+{
+((void (*)(val* self, val* p0))(var146->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var146, var_node1) /* n_base= on <var146:Start>*/;
+}
 {
-parser_nodes__Start__init(var149, var_node1, var_node2); /* Direct call parser_nodes#Start#init on <var149:Start>*/
+((void (*)(val* self, val* p0))(var146->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var146, var_node2) /* n_eof= on <var146:Start>*/;
 }
-var_node = var149;
-var150 = NEW_parser_work__ComputeProdLocationVisitor(&type_parser_work__ComputeProdLocationVisitor);
 {
-((void (*)(val*))(var150->class->vft[COLOR_kernel__Object__init]))(var150) /* init on <var150:ComputeProdLocationVisitor>*/;
+((void (*)(val* self))(var146->class->vft[COLOR_standard__kernel__Object__init]))(var146) /* init on <var146:Start>*/;
 }
+var_node = var146;
+var147 = NEW_nit__parser_work__ComputeProdLocationVisitor(&type_nit__parser_work__ComputeProdLocationVisitor);
 {
-parser_nodes__Visitor__enter_visit(var150, var_node); /* Direct call parser_nodes#Visitor#enter_visit on <var150:ComputeProdLocationVisitor>*/
+{ /* Inline kernel#Object#init (var147) on <var147:ComputeProdLocationVisitor> */
+RET_LABEL148:(void)0;
+}
+}
+{
+nit___nit__Visitor___enter_visit(var147, var_node); /* Direct call parser_nodes#Visitor#enter_visit on <var147:ComputeProdLocationVisitor>*/
 }
 var = var_node;
 goto RET_LABEL;
 } else {
-var151 = 3;
+var149 = 3;
 {
-{ /* Inline kernel#Int#== (var_action_type,var151) on <var_action_type:Int> */
-var155 = var_action_type == var151;
-var153 = var155;
-goto RET_LABEL154;
-RET_LABEL154:(void)0;
+{ /* Inline kernel#Int#== (var_action_type,var149) on <var_action_type:Int> */
+var152 = var_action_type == var149;
+var150 = var152;
+goto RET_LABEL151;
+RET_LABEL151:(void)0;
 }
-var152 = var153;
 }
-if (var152){
+if (var150){
 for(;;) {
-var156 = var_token->attrs[COLOR_parser_nodes__ANode___location].val != NULL; /* _location on <var_token:Token> */
-var157 = !var156;
-if (var157){
+var153 = var_token->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_token:Token> */
+var154 = !var153;
+if (var154){
 {
-var158 = lexer_work__Lexer__next(var_lexer);
+var155 = nit___nit__Lexer___next(var_lexer);
 }
-var_token = var158;
+var_token = var155;
 } else {
-goto BREAK_label159;
+goto BREAK_label156;
 }
 }
-BREAK_label159: (void)0;
-var160 = NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError);
+BREAK_label156: (void)0;
+var157 = NEW_nit__AParserError(&type_nit__AParserError);
 if (varonce) {
-var161 = varonce;
+var158 = varonce;
 } else {
-var162 = "Syntax error: unexpected ";
-var163 = 25;
-var164 = string__NativeString__to_s_with_length(var162, var163);
-var161 = var164;
-varonce = var161;
-}
-if (varonce165) {
-var166 = varonce165;
+var159 = "Syntax error: unexpected ";
+var160 = 25;
+var161 = standard___standard__NativeString___to_s_with_length(var159, var160);
+var158 = var161;
+varonce = var158;
+}
+if (varonce162) {
+var163 = varonce162;
 } else {
-var167 = ".";
-var168 = 1;
-var169 = string__NativeString__to_s_with_length(var167, var168);
-var166 = var169;
-varonce165 = var166;
+var164 = ".";
+var165 = 1;
+var166 = standard___standard__NativeString___to_s_with_length(var164, var165);
+var163 = var166;
+varonce162 = var163;
 }
-var170 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var170 = array_instance Array[Object] */
-var171 = 3;
-var172 = NEW_array__NativeArray(var171, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var172)->values[0] = (val*) var161;
-((struct instance_array__NativeArray*)var172)->values[1] = (val*) var_token;
-((struct instance_array__NativeArray*)var172)->values[2] = (val*) var166;
+var167 = NEW_standard__Array(&type_standard__Array__standard__Object);
+{ /* var167 = array_instance Array[Object] */
+var168 = 3;
+var169 = NEW_standard__NativeArray(var168, &type_standard__NativeArray__standard__Object);
+((struct instance_standard__NativeArray*)var169)->values[0] = (val*) var158;
+((struct instance_standard__NativeArray*)var169)->values[1] = (val*) var_token;
+((struct instance_standard__NativeArray*)var169)->values[2] = (val*) var163;
 {
-((void (*)(val*, val*, long))(var170->class->vft[COLOR_array__Array__with_native]))(var170, var172, var171) /* with_native on <var170:Array[Object]>*/;
+((void (*)(val* self, val* p0, long p1))(var167->class->vft[COLOR_standard__array__Array__with_native]))(var167, var169, var168) /* with_native on <var167:Array[Object]>*/;
 }
 }
 {
-var173 = ((val* (*)(val*))(var170->class->vft[COLOR_string__Object__to_s]))(var170) /* to_s on <var170:Array[Object]>*/;
+var170 = ((val* (*)(val* self))(var167->class->vft[COLOR_standard__string__Object__to_s]))(var167) /* to_s on <var167:Array[Object]>*/;
 }
 {
 { /* Inline parser_nodes#ANode#location (var_token) on <var_token:Token> */
-var176 = var_token->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on <var_token:Token> */
-if (unlikely(var176 == NULL)) {
+var173 = var_token->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_token:Token> */
+if (unlikely(var173 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23);
 show_backtrace(1);
 }
-var174 = var176;
-RET_LABEL175:(void)0;
+var171 = var173;
+RET_LABEL172:(void)0;
+}
+}
+{
+nit__lexer_work___AParserError___init_parser_error(var157, var170, var171, var_token); /* Direct call lexer_work#AParserError#init_parser_error on <var157:AParserError>*/
 }
+var_node2174 = var157;
+var175 = NEW_nit__Start(&type_nit__Start);
+var176 = NULL;
+{
+((void (*)(val* self, val* p0))(var175->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var175, var176) /* n_base= on <var175:Start>*/;
 }
 {
-lexer_work__AParserError__init_parser_error(var160, var173, var174, var_token); /* Direct call lexer_work#AParserError#init_parser_error on <var160:AParserError>*/
+((void (*)(val* self, val* p0))(var175->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var175, var_node2174) /* n_eof= on <var175:Start>*/;
 }
-var_node2177 = var160;
-var178 = NEW_parser_nodes__Start(&type_parser_nodes__Start);
-var179 = NULL;
 {
-parser_nodes__Start__init(var178, var179, var_node2177); /* Direct call parser_nodes#Start#init on <var178:Start>*/
+((void (*)(val* self))(var175->class->vft[COLOR_standard__kernel__Object__init]))(var175) /* init on <var175:Start>*/;
 }
-var_node180 = var178;
-var = var_node180;
+var_node177 = var175;
+var = var_node177;
 goto RET_LABEL;
 } else {
 }
@@ -1327,111 +1293,91 @@ goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#Parser#parse for (self: Object): Start */
-val* VIRTUAL_parser_work__Parser__parse(val* self) {
-val* var /* : Start */;
-val* var1 /* : Start */;
-var1 = parser_work__Parser__parse(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#Prod#collect_text for (self: Prod): String */
-val* parser_work__Prod__collect_text(val* self) {
+val* nit__parser_work___Prod___collect_text(val* self) {
 val* var /* : String */;
 val* var1 /* : TextCollectorVisitor */;
 val* var_v /* var v: TextCollectorVisitor */;
-val* var2 /* : String */;
-val* var4 /* : String */;
-static val* varonce;
+val* var3 /* : String */;
 val* var5 /* : String */;
-char* var6 /* : NativeString */;
-long var7 /* : Int */;
-val* var8 /* : FlatString */;
-short int var9 /* : Bool */;
+static val* varonce;
+val* var6 /* : String */;
+char* var7 /* : NativeString */;
+long var8 /* : Int */;
+val* var9 /* : FlatString */;
 short int var10 /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var12 /* : Bool */;
 short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-val* var15 /* : String */;
-val* var17 /* : String */;
-var1 = NEW_parser_work__TextCollectorVisitor(&type_parser_work__TextCollectorVisitor);
+val* var14 /* : String */;
+val* var16 /* : String */;
+var1 = NEW_nit__parser_work__TextCollectorVisitor(&type_nit__parser_work__TextCollectorVisitor);
 {
-((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on <var1:TextCollectorVisitor>*/;
+{ /* Inline kernel#Object#init (var1) on <var1:TextCollectorVisitor> */
+RET_LABEL2:(void)0;
+}
 }
 var_v = var1;
 {
-parser_nodes__Visitor__enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
+nit___nit__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
 }
 {
 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
-var4 = var_v->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
-if (unlikely(var4 == NULL)) {
+var5 = var_v->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
+if (unlikely(var5 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 243);
 show_backtrace(1);
 }
-var2 = var4;
-RET_LABEL3:(void)0;
+var3 = var5;
+RET_LABEL4:(void)0;
 }
 }
 if (varonce) {
-var5 = varonce;
+var6 = varonce;
 } else {
-var6 = "";
-var7 = 0;
-var8 = string__NativeString__to_s_with_length(var6, var7);
-var5 = var8;
-varonce = var5;
+var7 = "";
+var8 = 0;
+var9 = standard___standard__NativeString___to_s_with_length(var7, var8);
+var6 = var9;
+varonce = var6;
 }
 {
-{ /* Inline kernel#Object#!= (var2,var5) on <var2:String> */
-var_other = var5;
+{ /* Inline kernel#Object#!= (var3,var6) on <var3:String> */
+var_other = var6;
 {
-var13 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_kernel__Object___61d_61d]))(var2, var_other) /* == on <var2:String>*/;
-var12 = var13;
+var12 = ((short int (*)(val* self, val* p0))(var3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var3, var_other) /* == on <var3:String>*/;
 }
-var14 = !var12;
-var10 = var14;
+var13 = !var12;
+var10 = var13;
 goto RET_LABEL11;
 RET_LABEL11:(void)0;
 }
-var9 = var10;
 }
-if (unlikely(!var9)) {
+if (unlikely(!var10)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 180);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 170);
 show_backtrace(1);
 }
 {
 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
-var17 = var_v->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
-if (unlikely(var17 == NULL)) {
+var16 = var_v->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
+if (unlikely(var16 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 243);
 show_backtrace(1);
 }
-var15 = var17;
-RET_LABEL16:(void)0;
+var14 = var16;
+RET_LABEL15:(void)0;
 }
 }
-var = var15;
+var = var14;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#Prod#collect_text for (self: Object): String */
-val* VIRTUAL_parser_work__Prod__collect_text(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var1 = parser_work__Prod__collect_text(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */
-void parser_work__ComputeProdLocationVisitor__visit(val* self, val* p0) {
+void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 short int var /* : Bool */;
 int cltype;
@@ -1486,108 +1432,106 @@ short int var51 /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var53 /* : Bool */;
 short int var54 /* : Bool */;
-short int var55 /* : Bool */;
-val* var56 /* : nullable Location */;
+val* var55 /* : nullable Location */;
 val* var_endl /* var endl: nullable Location */;
-val* var57 /* : null */;
+val* var56 /* : null */;
+short int var57 /* : Bool */;
 short int var58 /* : Bool */;
-short int var59 /* : Bool */;
+short int var60 /* : Bool */;
 short int var61 /* : Bool */;
-short int var62 /* : Bool */;
-short int var63 /* : Bool */;
-val* var64 /* : Location */;
+val* var62 /* : Location */;
+val* var63 /* : nullable SourceFile */;
 val* var65 /* : nullable SourceFile */;
-val* var67 /* : nullable SourceFile */;
+long var66 /* : Int */;
 long var68 /* : Int */;
-long var70 /* : Int */;
+long var69 /* : Int */;
 long var71 /* : Int */;
-long var73 /* : Int */;
+long var72 /* : Int */;
 long var74 /* : Int */;
-long var76 /* : Int */;
+long var75 /* : Int */;
 long var77 /* : Int */;
-long var79 /* : Int */;
-val* var81 /* : Array[Prod] */;
-short int var82 /* : Bool */;
-short int var83 /* : Bool */;
-val* var84 /* : Location */;
+val* var79 /* : Array[Prod] */;
+short int var80 /* : Bool */;
+short int var81 /* : Bool */;
+val* var82 /* : Location */;
+val* var83 /* : nullable SourceFile */;
 val* var85 /* : nullable SourceFile */;
-val* var87 /* : nullable SourceFile */;
+long var86 /* : Int */;
 long var88 /* : Int */;
-long var90 /* : Int */;
+long var89 /* : Int */;
 long var91 /* : Int */;
-long var93 /* : Int */;
+long var92 /* : Int */;
 long var94 /* : Int */;
-long var96 /* : Int */;
+long var95 /* : Int */;
 long var97 /* : Int */;
-long var99 /* : Int */;
-val* var_loc100 /* var loc: Location */;
-val* var101 /* : Array[Prod] */;
-val* var_102 /* var : Array[Prod] */;
-val* var103 /* : ArrayIterator[nullable Object] */;
-val* var_104 /* var : ArrayIterator[Prod] */;
-short int var105 /* : Bool */;
-val* var106 /* : nullable Object */;
-val* var_no107 /* var no: Prod */;
-val* var111 /* : Array[Prod] */;
-val* var112 /* : Array[Prod] */;
+val* var_loc98 /* var loc: Location */;
+val* var99 /* : Array[Prod] */;
+val* var_100 /* var : Array[Prod] */;
+val* var101 /* : ArrayIterator[nullable Object] */;
+val* var_102 /* var : ArrayIterator[Prod] */;
+short int var103 /* : Bool */;
+val* var104 /* : nullable Object */;
+val* var_no105 /* var no: Prod */;
+val* var109 /* : Array[Prod] */;
+val* var110 /* : Array[Prod] */;
 var_n = p0;
 /* <var_n:ANode> isa Token */
-cltype = type_parser_nodes__Token.color;
-idtype = type_parser_nodes__Token.id;
+cltype = type_nit__Token.color;
+idtype = type_nit__Token.id;
 if(cltype >= var_n->type->table_size) {
 var = 0;
 } else {
 var = var_n->type->type_table[cltype] == idtype;
 }
 if (var){
-var1 = var_n->attrs[COLOR_parser_nodes__ANode___location].val != NULL; /* _location on <var_n:ANode(Token)> */
+var1 = var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_n:ANode(Token)> */
 var2 = !var1;
 if (var2){
 goto RET_LABEL;
 } else {
 }
-var3 = var_n->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on <var_n:ANode(Token)> */
+var3 = var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_n:ANode(Token)> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 202);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 192);
 show_backtrace(1);
 }
 var_loc = var3;
-self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___last_location].val = var_loc; /* _last_location on <self:ComputeProdLocationVisitor> */
-var4 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_location].val = var_loc; /* _last_location on <self:ComputeProdLocationVisitor> */
+var4 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var4 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 206);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 196);
 show_backtrace(1);
 }
 {
-var5 = array__AbstractArrayRead__is_empty(var4);
+var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var4);
 }
 var6 = !var5;
 if (var6){
-var7 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var7 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 207);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 197);
 show_backtrace(1);
 }
 var_ = var7;
 {
-var8 = array__AbstractArrayRead__iterator(var_);
+var8 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
 }
 var_9 = var8;
 for(;;) {
 {
-var10 = array__ArrayIterator__is_ok(var_9);
+var10 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_9);
 }
 if (var10){
 {
-var11 = array__ArrayIterator__item(var_9);
+var11 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_9);
 }
 var_no = var11;
-var_no->attrs[COLOR_parser_work__Prod___first_location].val = var_loc; /* _first_location on <var_no:Prod> */
+var_no->attrs[COLOR_nit__parser_work__Prod___first_location].val = var_loc; /* _first_location on <var_no:Prod> */
 {
-array__ArrayIterator__next(var_9); /* Direct call array#ArrayIterator#next on <var_9:ArrayIterator[Prod]>*/
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_9); /* Direct call array#ArrayIterator#next on <var_9:ArrayIterator[Prod]>*/
 }
 } else {
 goto BREAK_label;
@@ -1599,96 +1543,111 @@ BREAK_label: (void)0;
 RET_LABEL12:(void)0;
 }
 }
-var13 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var13 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var13 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 210);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 200);
 show_backtrace(1);
 }
 {
-array__AbstractArray__clear(var13); /* Direct call array#AbstractArray#clear on <var13:Array[Prod]>*/
+standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var13); /* Direct call array#AbstractArray#clear on <var13:Array[Prod]>*/
 }
 } else {
 }
-var14 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var14 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var14 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 214);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 204);
 show_backtrace(1);
 }
 {
-var15 = array__AbstractArrayRead__is_empty(var14);
+var15 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var14);
 }
 var16 = !var15;
 if (var16){
-var17 = NEW_location__Location(&type_location__Location);
+var17 = NEW_nit__Location(&type_nit__Location);
 {
 { /* Inline location#Location#file (var_loc) on <var_loc:Location> */
-var20 = var_loc->attrs[COLOR_location__Location___file].val; /* _file on <var_loc:Location> */
+var20 = var_loc->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_loc:Location> */
 var18 = var20;
 RET_LABEL19:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
-var23 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_loc:Location> */
+var23 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
 var21 = var23;
 RET_LABEL22:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
-var26 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_loc:Location> */
+var26 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
 var24 = var26;
 RET_LABEL25:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
-var29 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_loc:Location> */
+var29 = var_loc->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
 var27 = var29;
 RET_LABEL28:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
-var32 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_loc:Location> */
+var32 = var_loc->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
 var30 = var32;
 RET_LABEL31:(void)0;
 }
 }
 {
-location__Location__init(var17, var18, var21, var24, var27, var30); /* Direct call location#Location#init on <var17:Location>*/
+((void (*)(val* self, val* p0))(var17->class->vft[COLOR_nit__location__Location__file_61d]))(var17, var18) /* file= on <var17:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var17->class->vft[COLOR_nit__location__Location__line_start_61d]))(var17, var21) /* line_start= on <var17:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var17->class->vft[COLOR_nit__location__Location__line_end_61d]))(var17, var24) /* line_end= on <var17:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var17->class->vft[COLOR_nit__location__Location__column_start_61d]))(var17, var27) /* column_start= on <var17:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var17->class->vft[COLOR_nit__location__Location__column_end_61d]))(var17, var30) /* column_end= on <var17:Location>*/;
+}
+{
+((void (*)(val* self))(var17->class->vft[COLOR_standard__kernel__Object__init]))(var17) /* init on <var17:Location>*/;
 }
 var_loco = var17;
-var33 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var33 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var33 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 216);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 206);
 show_backtrace(1);
 }
 var_34 = var33;
 {
-var35 = array__AbstractArrayRead__iterator(var_34);
+var35 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_34);
 }
 var_36 = var35;
 for(;;) {
 {
-var37 = array__ArrayIterator__is_ok(var_36);
+var37 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_36);
 }
 if (var37){
 {
-var38 = array__ArrayIterator__item(var_36);
+var38 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_36);
 }
 var_no39 = var38;
 {
 { /* Inline parser_nodes#ANode#location= (var_no39,var_loco) on <var_no39:Prod> */
-var_no39->attrs[COLOR_parser_nodes__ANode___location].val = var_loco; /* _location on <var_no39:Prod> */
+var_no39->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_loco; /* _location on <var_no39:Prod> */
 RET_LABEL40:(void)0;
 }
 }
 {
-array__ArrayIterator__next(var_36); /* Direct call array#ArrayIterator#next on <var_36:ArrayIterator[Prod]>*/
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_36); /* Direct call array#ArrayIterator#next on <var_36:ArrayIterator[Prod]>*/
 }
 } else {
 goto BREAK_label41;
@@ -1700,21 +1659,21 @@ BREAK_label41: (void)0;
 RET_LABEL42:(void)0;
 }
 }
-var43 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var43 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var43 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 219);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 209);
 show_backtrace(1);
 }
 {
-array__AbstractArray__clear(var43); /* Direct call array#AbstractArray#clear on <var43:Array[Prod]>*/
+standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var43); /* Direct call array#AbstractArray#clear on <var43:Array[Prod]>*/
 }
 } else {
 }
 } else {
 /* <var_n:ANode> isa Prod */
-cltype45 = type_parser_nodes__Prod.color;
-idtype46 = type_parser_nodes__Prod.id;
+cltype45 = type_nit__Prod.color;
+idtype46 = type_nit__Prod.id;
 if(cltype45 >= var_n->type->table_size) {
 var44 = 0;
 } else {
@@ -1722,22 +1681,22 @@ var44 = var_n->type->type_table[cltype45] == idtype46;
 }
 if (unlikely(!var44)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 222);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 212);
 show_backtrace(1);
 }
-var47 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var47 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var47 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 223);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 213);
 show_backtrace(1);
 }
 {
-array__Array__add(var47, var_n); /* Direct call array#Array#add on <var47:Array[Prod]>*/
+standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var47, var_n); /* Direct call array#Array#add on <var47:Array[Prod]>*/
 }
 {
-((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode(Prod)>*/;
+((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode(Prod)>*/;
 }
-var48 = var_n->attrs[COLOR_parser_work__Prod___first_location].val; /* _first_location on <var_n:ANode(Prod)> */
+var48 = var_n->attrs[COLOR_nit__parser_work__Prod___first_location].val; /* _first_location on <var_n:ANode(Prod)> */
 var_startl = var48;
 var49 = NULL;
 if (var_startl == NULL) {
@@ -1749,257 +1708,253 @@ if (0) {
 { /* Inline kernel#Object#!= (var_startl,var49) on <var_startl:nullable Location> */
 var_other = var49;
 {
-var54 = ((short int (*)(val*, val*))(var_startl->class->vft[COLOR_kernel__Object___61d_61d]))(var_startl, var_other) /* == on <var_startl:nullable Location(Location)>*/;
-var53 = var54;
+var53 = ((short int (*)(val* self, val* p0))(var_startl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_startl, var_other) /* == on <var_startl:nullable Location(Location)>*/;
 }
-var55 = !var53;
-var51 = var55;
+var54 = !var53;
+var51 = var54;
 goto RET_LABEL52;
 RET_LABEL52:(void)0;
 }
 var50 = var51;
 }
 if (var50){
-var56 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___last_location].val; /* _last_location on <self:ComputeProdLocationVisitor> */
-var_endl = var56;
-var57 = NULL;
+var55 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_location].val; /* _last_location on <self:ComputeProdLocationVisitor> */
+var_endl = var55;
+var56 = NULL;
 if (var_endl == NULL) {
-var58 = 0; /* is null */
+var57 = 0; /* is null */
 } else {
-var58 = 1; /* arg is null and recv is not */
+var57 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_endl,var57) on <var_endl:nullable Location> */
-var_other = var57;
+{ /* Inline kernel#Object#!= (var_endl,var56) on <var_endl:nullable Location> */
+var_other = var56;
 {
-var62 = ((short int (*)(val*, val*))(var_endl->class->vft[COLOR_kernel__Object___61d_61d]))(var_endl, var_other) /* == on <var_endl:nullable Location(Location)>*/;
-var61 = var62;
+var60 = ((short int (*)(val* self, val* p0))(var_endl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_endl, var_other) /* == on <var_endl:nullable Location(Location)>*/;
 }
-var63 = !var61;
-var59 = var63;
-goto RET_LABEL60;
-RET_LABEL60:(void)0;
+var61 = !var60;
+var58 = var61;
+goto RET_LABEL59;
+RET_LABEL59:(void)0;
 }
-var58 = var59;
+var57 = var58;
 }
-if (unlikely(!var58)) {
+if (unlikely(!var57)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 231);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 221);
 show_backtrace(1);
 }
-var64 = NEW_location__Location(&type_location__Location);
+var62 = NEW_nit__Location(&type_nit__Location);
 {
 { /* Inline location#Location#file (var_startl) on <var_startl:nullable Location(Location)> */
-var67 = var_startl->attrs[COLOR_location__Location___file].val; /* _file on <var_startl:nullable Location(Location)> */
-var65 = var67;
-RET_LABEL66:(void)0;
+var65 = var_startl->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_startl:nullable Location(Location)> */
+var63 = var65;
+RET_LABEL64:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_startl) on <var_startl:nullable Location(Location)> */
-var70 = var_startl->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_startl:nullable Location(Location)> */
-var68 = var70;
-RET_LABEL69:(void)0;
+var68 = var_startl->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_startl:nullable Location(Location)> */
+var66 = var68;
+RET_LABEL67:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
-var73 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
-var71 = var73;
-RET_LABEL72:(void)0;
+var71 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
+var69 = var71;
+RET_LABEL70:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_startl) on <var_startl:nullable Location(Location)> */
-var76 = var_startl->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_startl:nullable Location(Location)> */
-var74 = var76;
-RET_LABEL75:(void)0;
+var74 = var_startl->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_startl:nullable Location(Location)> */
+var72 = var74;
+RET_LABEL73:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
-var79 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
-var77 = var79;
-RET_LABEL78:(void)0;
+var77 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
+var75 = var77;
+RET_LABEL76:(void)0;
 }
 }
 {
-location__Location__init(var64, var65, var68, var71, var74, var77); /* Direct call location#Location#init on <var64:Location>*/
+((void (*)(val* self, val* p0))(var62->class->vft[COLOR_nit__location__Location__file_61d]))(var62, var63) /* file= on <var62:Location>*/;
 }
 {
-{ /* Inline parser_nodes#ANode#location= (var_n,var64) on <var_n:ANode(Prod)> */
-var_n->attrs[COLOR_parser_nodes__ANode___location].val = var64; /* _location on <var_n:ANode(Prod)> */
-RET_LABEL80:(void)0;
+((void (*)(val* self, long p0))(var62->class->vft[COLOR_nit__location__Location__line_start_61d]))(var62, var66) /* line_start= on <var62:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var62->class->vft[COLOR_nit__location__Location__line_end_61d]))(var62, var69) /* line_end= on <var62:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var62->class->vft[COLOR_nit__location__Location__column_start_61d]))(var62, var72) /* column_start= on <var62:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var62->class->vft[COLOR_nit__location__Location__column_end_61d]))(var62, var75) /* column_end= on <var62:Location>*/;
+}
+{
+((void (*)(val* self))(var62->class->vft[COLOR_standard__kernel__Object__init]))(var62) /* init on <var62:Location>*/;
+}
+{
+{ /* Inline parser_nodes#ANode#location= (var_n,var62) on <var_n:ANode(Prod)> */
+var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val = var62; /* _location on <var_n:ANode(Prod)> */
+RET_LABEL78:(void)0;
 }
 }
-var81 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
-if (unlikely(var81 == NULL)) {
+var79 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+if (unlikely(var79 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 235);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 225);
 show_backtrace(1);
 }
 {
-var82 = array__AbstractArrayRead__is_empty(var81);
+var80 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var79);
 }
-var83 = !var82;
-if (var83){
-var84 = NEW_location__Location(&type_location__Location);
+var81 = !var80;
+if (var81){
+var82 = NEW_nit__Location(&type_nit__Location);
 {
 { /* Inline location#Location#file (var_endl) on <var_endl:nullable Location(Location)> */
-var87 = var_endl->attrs[COLOR_location__Location___file].val; /* _file on <var_endl:nullable Location(Location)> */
-var85 = var87;
-RET_LABEL86:(void)0;
+var85 = var_endl->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_endl:nullable Location(Location)> */
+var83 = var85;
+RET_LABEL84:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
-var90 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
-var88 = var90;
-RET_LABEL89:(void)0;
+var88 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
+var86 = var88;
+RET_LABEL87:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
-var93 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
-var91 = var93;
-RET_LABEL92:(void)0;
+var91 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:nullable Location(Location)> */
+var89 = var91;
+RET_LABEL90:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
-var96 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
-var94 = var96;
-RET_LABEL95:(void)0;
+var94 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
+var92 = var94;
+RET_LABEL93:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
-var99 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
-var97 = var99;
-RET_LABEL98:(void)0;
+var97 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:nullable Location(Location)> */
+var95 = var97;
+RET_LABEL96:(void)0;
 }
 }
 {
-location__Location__init(var84, var85, var88, var91, var94, var97); /* Direct call location#Location#init on <var84:Location>*/
+((void (*)(val* self, val* p0))(var82->class->vft[COLOR_nit__location__Location__file_61d]))(var82, var83) /* file= on <var82:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var82->class->vft[COLOR_nit__location__Location__line_start_61d]))(var82, var86) /* line_start= on <var82:Location>*/;
 }
-var_loc100 = var84;
-var101 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
-if (unlikely(var101 == NULL)) {
+{
+((void (*)(val* self, long p0))(var82->class->vft[COLOR_nit__location__Location__line_end_61d]))(var82, var89) /* line_end= on <var82:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var82->class->vft[COLOR_nit__location__Location__column_start_61d]))(var82, var92) /* column_start= on <var82:Location>*/;
+}
+{
+((void (*)(val* self, long p0))(var82->class->vft[COLOR_nit__location__Location__column_end_61d]))(var82, var95) /* column_end= on <var82:Location>*/;
+}
+{
+((void (*)(val* self))(var82->class->vft[COLOR_standard__kernel__Object__init]))(var82) /* init on <var82:Location>*/;
+}
+var_loc98 = var82;
+var99 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+if (unlikely(var99 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 237);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 227);
 show_backtrace(1);
 }
-var_102 = var101;
+var_100 = var99;
 {
-var103 = array__AbstractArrayRead__iterator(var_102);
+var101 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_100);
 }
-var_104 = var103;
+var_102 = var101;
 for(;;) {
 {
-var105 = array__ArrayIterator__is_ok(var_104);
+var103 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_102);
 }
-if (var105){
+if (var103){
 {
-var106 = array__ArrayIterator__item(var_104);
+var104 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_102);
 }
-var_no107 = var106;
+var_no105 = var104;
 {
-{ /* Inline parser_nodes#ANode#location= (var_no107,var_loc100) on <var_no107:Prod> */
-var_no107->attrs[COLOR_parser_nodes__ANode___location].val = var_loc100; /* _location on <var_no107:Prod> */
-RET_LABEL108:(void)0;
+{ /* Inline parser_nodes#ANode#location= (var_no105,var_loc98) on <var_no105:Prod> */
+var_no105->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_loc98; /* _location on <var_no105:Prod> */
+RET_LABEL106:(void)0;
 }
 }
 {
-array__ArrayIterator__next(var_104); /* Direct call array#ArrayIterator#next on <var_104:ArrayIterator[Prod]>*/
+standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_102); /* Direct call array#ArrayIterator#next on <var_102:ArrayIterator[Prod]>*/
 }
 } else {
-goto BREAK_label109;
+goto BREAK_label107;
 }
 }
-BREAK_label109: (void)0;
+BREAK_label107: (void)0;
 {
-{ /* Inline abstract_collection#Iterator#finish (var_104) on <var_104:ArrayIterator[Prod]> */
-RET_LABEL110:(void)0;
+{ /* Inline abstract_collection#Iterator#finish (var_102) on <var_102:ArrayIterator[Prod]> */
+RET_LABEL108:(void)0;
 }
 }
-var111 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
-if (unlikely(var111 == NULL)) {
+var109 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+if (unlikely(var109 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 241);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 231);
 show_backtrace(1);
 }
 {
-array__AbstractArray__clear(var111); /* Direct call array#AbstractArray#clear on <var111:Array[Prod]>*/
+standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var109); /* Direct call array#AbstractArray#clear on <var109:Array[Prod]>*/
 }
 } else {
 }
 } else {
-var112 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
-if (unlikely(var112 == NULL)) {
+var110 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+if (unlikely(var110 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 245);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 235);
 show_backtrace(1);
 }
 {
-array__Array__add(var112, var_n); /* Direct call array#Array#add on <var112:Array[Prod]>*/
+standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var110, var_n); /* Direct call array#Array#add on <var110:Array[Prod]>*/
 }
 }
 }
 RET_LABEL:;
 }
-/* method parser_work#ComputeProdLocationVisitor#visit for (self: Object, ANode) */
-void VIRTUAL_parser_work__ComputeProdLocationVisitor__visit(val* self, val* p0) {
-parser_work__ComputeProdLocationVisitor__visit(self, p0); /* Direct call parser_work#ComputeProdLocationVisitor#visit on <self:Object(ComputeProdLocationVisitor)>*/
-RET_LABEL:;
-}
 /* method parser_work#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
-val* parser_work__TextCollectorVisitor__text(val* self) {
+val* nit__parser_work___nit__parser_work__TextCollectorVisitor___text(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on <self:TextCollectorVisitor> */
+var1 = self->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <self:TextCollectorVisitor> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 243);
 show_backtrace(1);
 }
 var = var1;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#TextCollectorVisitor#text for (self: Object): String */
-val* VIRTUAL_parser_work__TextCollectorVisitor__text(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-val* var3 /* : String */;
-{ /* Inline parser_work#TextCollectorVisitor#text (self) on <self:Object(TextCollectorVisitor)> */
-var3 = self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on <self:Object(TextCollectorVisitor)> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
-show_backtrace(1);
-}
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-var = var1;
-RET_LABEL:;
-return var;
-}
 /* method parser_work#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
-void parser_work__TextCollectorVisitor__text_61d(val* self, val* p0) {
-self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = p0; /* _text on <self:TextCollectorVisitor> */
-RET_LABEL:;
-}
-/* method parser_work#TextCollectorVisitor#text= for (self: Object, String) */
-void VIRTUAL_parser_work__TextCollectorVisitor__text_61d(val* self, val* p0) {
-{ /* Inline parser_work#TextCollectorVisitor#text= (self,p0) on <self:Object(TextCollectorVisitor)> */
-self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = p0; /* _text on <self:Object(TextCollectorVisitor)> */
-RET_LABEL1:(void)0;
-}
+void nit__parser_work___nit__parser_work__TextCollectorVisitor___text_61d(val* self, val* p0) {
+self->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val = p0; /* _text on <self:TextCollectorVisitor> */
 RET_LABEL:;
 }
 /* method parser_work#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
-void parser_work__TextCollectorVisitor__visit(val* self, val* p0) {
+void nit__parser_work___nit__parser_work__TextCollectorVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 short int var /* : Bool */;
 int cltype;
@@ -2011,8 +1966,8 @@ val* var4 /* : String */;
 val* var5 /* : String */;
 var_n = p0;
 /* <var_n:ANode> isa Token */
-cltype = type_parser_nodes__Token.color;
-idtype = type_parser_nodes__Token.id;
+cltype = type_nit__Token.color;
+idtype = type_nit__Token.id;
 if(cltype >= var_n->type->table_size) {
 var = 0;
 } else {
@@ -2022,10 +1977,10 @@ if (var){
 var_ = self;
 {
 { /* Inline parser_work#TextCollectorVisitor#text (var_) on <var_:TextCollectorVisitor> */
-var3 = var_->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on <var_:TextCollectorVisitor> */
+var3 = var_->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_:TextCollectorVisitor> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 243);
 show_backtrace(1);
 }
 var1 = var3;
@@ -2033,31 +1988,26 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = lexer_work__Token__text(var_n);
+var4 = nit__lexer_work___Token___text(var_n);
 }
 {
-var5 = string__FlatString___43d(var1, var4);
+var5 = ((val* (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__String___43d]))(var1, var4) /* + on <var1:String>*/;
 }
 {
 { /* Inline parser_work#TextCollectorVisitor#text= (var_,var5) on <var_:TextCollectorVisitor> */
-var_->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = var5; /* _text on <var_:TextCollectorVisitor> */
+var_->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val = var5; /* _text on <var_:TextCollectorVisitor> */
 RET_LABEL6:(void)0;
 }
 }
 } else {
 }
 {
-((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
+((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
 }
 RET_LABEL:;
 }
-/* method parser_work#TextCollectorVisitor#visit for (self: Object, ANode) */
-void VIRTUAL_parser_work__TextCollectorVisitor__visit(val* self, val* p0) {
-parser_work__TextCollectorVisitor__visit(self, p0); /* Direct call parser_work#TextCollectorVisitor#visit on <self:Object(TextCollectorVisitor)>*/
-RET_LABEL:;
-}
 /* method parser_work#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
-val* parser_work__ReduceAction__concat(val* self, val* p0, val* p1) {
+val* nit__parser_work___nit__parser_work__ReduceAction___concat(val* self, val* p0, val* p1) {
 val* var /* : Array[Object] */;
 val* var_l1 /* var l1: Array[Object] */;
 val* var_l2 /* var l2: Array[Object] */;
@@ -2065,7 +2015,7 @@ short int var1 /* : Bool */;
 var_l1 = p0;
 var_l2 = p1;
 {
-var1 = array__AbstractArrayRead__is_empty(var_l1);
+var1 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_l1);
 }
 if (var1){
 var = var_l2;
@@ -2073,31 +2023,22 @@ goto RET_LABEL;
 } else {
 }
 {
-abstract_collection__Sequence__append(var_l1, var_l2); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
+standard___standard__Sequence___append(var_l1, var_l2); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
 }
 var = var_l1;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
-/* method parser_work#ReduceAction#concat for (self: Object, Array[Object], Array[Object]): Array[Object] */
-val* VIRTUAL_parser_work__ReduceAction__concat(val* self, val* p0, val* p1) {
-val* var /* : Array[Object] */;
-val* var1 /* : Array[Object] */;
-var1 = parser_work__ReduceAction__concat(self, p0, p1);
-var = var1;
+/* method parser_work#ReduceAction#goto= for (self: ReduceAction, Int) */
+void nit__parser_work___nit__parser_work__ReduceAction___goto_61d(val* self, long p0) {
+self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l = p0; /* _goto on <self:ReduceAction> */
 RET_LABEL:;
-return var;
 }
-/* method parser_work#ReduceAction#init for (self: ReduceAction, Int) */
-void parser_work__ReduceAction__init(val* self, long p0) {
-long var_g /* var g: Int */;
-var_g = p0;
-self->attrs[COLOR_parser_work__ReduceAction___goto].l = var_g; /* _goto on <self:ReduceAction> */
-RET_LABEL:;
+/* method parser_work#ReduceAction#init for (self: ReduceAction) */
+void nit__parser_work___nit__parser_work__ReduceAction___standard__kernel__Object__init(val* self) {
+{
+((void (*)(val* self))(self->class->vft[COLOR_nit__parser_work___nit__parser_work__ReduceAction___standard__kernel__Object__init]))(self) /* init on <self:ReduceAction>*/;
 }
-/* method parser_work#ReduceAction#init for (self: Object, Int) */
-void VIRTUAL_parser_work__ReduceAction__init(val* self, long p0) {
-parser_work__ReduceAction__init(self, p0); /* Direct call parser_work#ReduceAction#init on <self:Object(ReduceAction)>*/
 RET_LABEL:;
 }