c_src: regenerate
[nit.git] / c_src / nitc__parser_work.sep.1.c
similarity index 55%
rename from c_src/nit__parser_work.sep.1.c
rename to c_src/nitc__parser_work.sep.1.c
index 394921b..b77e6a9 100644 (file)
@@ -1,35 +1,55 @@
-#include "nit__parser_work.sep.0.h"
+#include "nitc__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> */
+void nitc__parser_work___nitc__parser_work__State___state_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__parser_work__State___state].l = p0; /* _state on <self:State> */
 RET_LABEL:;
 }
 /* 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> */
+void nitc__parser_work___nitc__parser_work__State___nodes_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__parser_work__State___nodes].val = p0; /* _nodes on <self:State> */
 RET_LABEL:;
 }
 /* method parser_work#State#init for (self: State) */
-void nit__parser_work___nit__parser_work__State___standard__kernel__Object__init(val* self) {
+void nitc__parser_work___nitc__parser_work__State___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_nit__parser_work___nit__parser_work__State___standard__kernel__Object__init]))(self); /* init on <self:State>*/
+((void(*)(val* self))(self->class->vft[COLOR_nitc__parser_work___nitc__parser_work__State___core__kernel__Object__init]))(self); /* init on <self:State>*/
 }
 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> */
+void nitc___nitc__Parser___lexer_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__parser_work__Parser___lexer].val = p0; /* _lexer on <self:Parser> */
 RET_LABEL:;
 }
 /* method parser_work#Parser#init for (self: Parser) */
-void nit___nit__Parser___standard__kernel__Object__init(val* self) {
+void nitc___nitc__Parser___core__kernel__Object__init(val* self) {
+static val* varonce;
+static int varonce_guard;
+val* var /* : Array[ReduceAction] */;
+val* var1 /* : Array[ReduceAction] */;
+{
+((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__Parser___core__kernel__Object__init]))(self); /* init on <self:Parser>*/
+}
+if (likely(varonce_guard)) {
+var = varonce;
+} else {
+{
+var1 = nitc__parser___Parser___build_reduce_table(self);
+}
+var = var1;
+varonce = var;
+varonce_guard = 1;
+}
 {
-nit__parser___Parser___build_reduce_table(self); /* Direct call parser#Parser#build_reduce_table on <self:Parser>*/
+{ /* Inline parser_work#Parser#reduce_table= (self,var) on <self:Parser> */
+self->attrs[COLOR_nitc__parser_work__Parser___reduce_table].val = var; /* _reduce_table on <self:Parser> */
+RET_LABEL2:(void)0;
+}
 }
 RET_LABEL:;
 }
 /* method parser_work#Parser#go_to for (self: Parser, Int): Int */
-long nit___nit__Parser___go_to(val* self, long p0) {
+long nitc___nitc__Parser___go_to(val* self, long p0) {
 long var /* : Int */;
 long var_index /* var index: Int */;
 long var1 /* : Int */;
@@ -115,7 +135,7 @@ long var85 /* : Int */;
 long var87 /* : Int for extern */;
 var_index = p0;
 {
-var1 = nit___nit__Parser___state(self);
+var1 = nitc___nitc__Parser___state(self);
 }
 var_state = var1;
 var_low = 1l;
@@ -133,9 +153,9 @@ RET_LABEL3:(void)0;
 /* <1l:Int> isa OTHER */
 var7 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var7)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var8 = var2 - 1l;
@@ -152,9 +172,9 @@ for(;;) {
 /* <var_high:Int> isa OTHER */
 var11 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var11)) {
-var_class_name14 = type_standard__Int.name;
+var_class_name14 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var15 = var_low <= var_high;
@@ -170,9 +190,9 @@ if (var9){
 /* <var_high:Int> isa OTHER */
 var18 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var18)) {
-var_class_name21 = type_standard__Int.name;
+var_class_name21 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var22 = var_low + var_high;
@@ -187,9 +207,9 @@ RET_LABEL17:(void)0;
 /* <2l:Int> isa OTHER */
 var25 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var25)) {
-var_class_name28 = type_standard__Int.name;
+var_class_name28 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var29 = var16 / 2l;
@@ -205,9 +225,9 @@ var_middle = var23;
 /* <2l:Int> isa OTHER */
 var32 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var32)) {
-var_class_name35 = type_standard__Int.name;
+var_class_name35 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735);
 fatal_exit(1);
 }
 var36 = var_middle * 2l;
@@ -222,9 +242,9 @@ RET_LABEL31:(void)0;
 /* <1l:Int> isa OTHER */
 var39 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var39)) {
-var_class_name42 = type_standard__Int.name;
+var_class_name42 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var43 = var30 + 1l;
@@ -249,9 +269,9 @@ var_goal = var44;
 /* <var_goal:Int> isa OTHER */
 var49 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var49)) {
-var_class_name52 = type_standard__Int.name;
+var_class_name52 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var53 = var_state < var_goal;
@@ -267,9 +287,9 @@ if (var47){
 /* <1l:Int> isa OTHER */
 var56 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var56)) {
-var_class_name59 = type_standard__Int.name;
+var_class_name59 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var60 = var_middle - 1l;
@@ -286,9 +306,9 @@ var_high = var54;
 /* <var_goal:Int> isa OTHER */
 var63 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var63)) {
-var_class_name66 = type_standard__Int.name;
+var_class_name66 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var67 = var_state > var_goal;
@@ -304,9 +324,9 @@ if (var61){
 /* <1l:Int> isa OTHER */
 var70 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var70)) {
-var_class_name73 = type_standard__Int.name;
+var_class_name73 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var74 = var_middle + 1l;
@@ -323,9 +343,9 @@ var_low = var68;
 /* <1l:Int> isa OTHER */
 var77 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var77)) {
-var_class_name80 = type_standard__Int.name;
+var_class_name80 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var81 = var_subindex + 1l;
@@ -365,7 +385,7 @@ RET_LABEL:;
 return var;
 }
 /* method parser_work#Parser#push for (self: Parser, Int, nullable Object) */
-void nit___nit__Parser___push(val* self, long p0, val* p1) {
+void nitc___nitc__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 */;
@@ -392,16 +412,16 @@ val* var18 /* : Array[State] */;
 val* var19 /* : State */;
 var_numstate = p0;
 var_list_node = p1;
-var = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var = self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
 { /* Inline kernel#Int#+ (var,1l) on <var:Int> */
 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
 /* <1l:Int> isa OTHER */
 var3 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var3)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var4 = var + 1l;
@@ -411,16 +431,16 @@ RET_LABEL2:(void)0;
 }
 }
 var_pos = var1;
-self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l = var_pos; /* _stack_pos on <self:Parser> */
-var5 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l = var_pos; /* _stack_pos on <self:Parser> */
+var5 = self->attrs[COLOR_nitc__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var5 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 75);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 75);
 fatal_exit(1);
 }
 {
 { /* Inline array#AbstractArrayRead#length (var5) on <var5:Array[State]> */
-var8 = var5->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var5:Array[State]> */
+var8 = var5->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var5:Array[State]> */
 var6 = var8;
 RET_LABEL7:(void)0;
 }
@@ -431,9 +451,9 @@ RET_LABEL7:(void)0;
 /* <var6:Int> isa OTHER */
 var11 = 1; /* easy <var6:Int> isa OTHER*/
 if (unlikely(!var11)) {
-var_class_name14 = type_standard__Int.name;
+var_class_name14 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var15 = var_pos < var6;
@@ -443,66 +463,66 @@ RET_LABEL10:(void)0;
 }
 }
 if (var9){
-var16 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var16 = self->attrs[COLOR_nitc__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var16 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 76);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 76);
 fatal_exit(1);
 }
 {
-var17 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var16, var_pos);
+var17 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var16, var_pos);
 }
 var_state = var17;
-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> */
+var_state->attrs[COLOR_nitc__parser_work__State___state].l = var_numstate; /* _state on <var_state:State> */
+var_state->attrs[COLOR_nitc__parser_work__State___nodes].val = var_list_node; /* _nodes on <var_state:State> */
 } else {
-var18 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var18 = self->attrs[COLOR_nitc__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
 if (unlikely(var18 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 80);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 80);
 fatal_exit(1);
 }
-var19 = NEW_nit__parser_work__State(&type_nit__parser_work__State);
+var19 = NEW_nitc__parser_work__State(&type_nitc__parser_work__State);
 {
-((void(*)(val* self, long p0))(var19->class->vft[COLOR_nit__parser_work__State__state_61d]))(var19, var_numstate); /* state= on <var19:State>*/
+((void(*)(val* self, long p0))(var19->class->vft[COLOR_nitc__parser_work__State__state_61d]))(var19, var_numstate); /* state= on <var19:State>*/
 }
 {
-((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nit__parser_work__State__nodes_61d]))(var19, var_list_node); /* nodes= on <var19:State>*/
+((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nitc__parser_work__State__nodes_61d]))(var19, var_list_node); /* nodes= on <var19:State>*/
 }
 {
-((void(*)(val* self))(var19->class->vft[COLOR_standard__kernel__Object__init]))(var19); /* init on <var19:State>*/
+((void(*)(val* self))(var19->class->vft[COLOR_core__kernel__Object__init]))(var19); /* init on <var19:State>*/
 }
 {
-standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var18, var19); /* Direct call array#AbstractArray#push on <var18:Array[State]>*/
+core___core__AbstractArray___core__abstract_collection__Sequence__push(var18, var19); /* Direct call array#AbstractArray#push on <var18:Array[State]>*/
 }
 }
 RET_LABEL:;
 }
 /* method parser_work#Parser#state for (self: Parser): Int */
-long nit___nit__Parser___state(val* self) {
+long nitc___nitc__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_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var1 = self->attrs[COLOR_nitc__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", FILE_nit__parser_work, 87);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 87);
 fatal_exit(1);
 }
-var2 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var2 = self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
-var3 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1, var2);
+var3 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var1, var2);
 }
-var4 = var3->attrs[COLOR_nit__parser_work__State___state].l; /* _state on <var3:nullable Object(State)> */
+var4 = var3->attrs[COLOR_nitc__parser_work__State___state].l; /* _state on <var3:nullable Object(State)> */
 var = var4;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method parser_work#Parser#pop for (self: Parser): nullable Object */
-val* nit___nit__Parser___pop(val* self) {
+val* nitc___nitc__Parser___pop(val* self) {
 val* var /* : nullable Object */;
 val* var1 /* : Array[State] */;
 long var2 /* : Int */;
@@ -516,28 +536,28 @@ int cltype;
 int idtype;
 const char* var_class_name;
 long var9 /* : Int */;
-var1 = self->attrs[COLOR_nit__parser_work__Parser___stack].val; /* _stack on <self:Parser> */
+var1 = self->attrs[COLOR_nitc__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", FILE_nit__parser_work, 93);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 93);
 fatal_exit(1);
 }
-var2 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var2 = self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
-var3 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1, var2);
+var3 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var1, var2);
 }
-var4 = var3->attrs[COLOR_nit__parser_work__State___nodes].val; /* _nodes on <var3:nullable Object(State)> */
+var4 = var3->attrs[COLOR_nitc__parser_work__State___nodes].val; /* _nodes on <var3:nullable Object(State)> */
 var_res = var4;
-var5 = self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
+var5 = self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l; /* _stack_pos on <self:Parser> */
 {
 { /* Inline kernel#Int#- (var5,1l) on <var5:Int> */
 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
 /* <1l:Int> isa OTHER */
 var8 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var8)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var9 = var5 - 1l;
@@ -546,14 +566,14 @@ goto RET_LABEL7;
 RET_LABEL7:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_work__Parser___stack_pos].l = var6; /* _stack_pos on <self:Parser> */
+self->attrs[COLOR_nitc__parser_work__Parser___stack_pos].l = var6; /* _stack_pos on <self:Parser> */
 var = var_res;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
 /* method parser_work#Parser#parse for (self: Parser): Start */
-val* nit___nit__Parser___parse(val* self) {
+val* nitc___nitc__Parser___parse(val* self) {
 val* var /* : Start */;
 val* var1 /* : Lexer */;
 val* var_lexer /* var lexer: Lexer */;
@@ -695,11 +715,11 @@ static val* varonce;
 static val* varonce146;
 val* var147 /* : String */;
 char* var148 /* : NativeString */;
-val* var149 /* : FlatString */;
+val* var149 /* : String */;
 static val* varonce150;
 val* var151 /* : String */;
 char* var152 /* : NativeString */;
-val* var153 /* : FlatString */;
+val* var153 /* : String */;
 val* var154 /* : String */;
 val* var155 /* : String */;
 val* var156 /* : Location */;
@@ -708,49 +728,49 @@ val* var_node2159 /* var node2: AParserError */;
 val* var160 /* : Start */;
 val* var_node161 /* var node: Start */;
 {
-nit___nit__Parser___push(self, 0l, ((val*)NULL)); /* Direct call parser_work#Parser#push on <self:Parser>*/
+nitc___nitc__Parser___push(self, 0l, ((val*)NULL)); /* Direct call parser_work#Parser#push on <self:Parser>*/
 }
-var1 = self->attrs[COLOR_nit__parser_work__Parser___lexer].val; /* _lexer on <self:Parser> */
+var1 = self->attrs[COLOR_nitc__parser_work__Parser___lexer].val; /* _lexer on <self:Parser> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lexer");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 103);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 103);
 fatal_exit(1);
 }
 var_lexer = var1;
 for(;;) {
 {
-var2 = nit___nit__Lexer___peek(var_lexer);
+var2 = nitc___nitc__Lexer___peek(var_lexer);
 }
 var_token = var2;
 /* <var_token:Token> isa AError */
-cltype = type_nit__AError.color;
-idtype = type_nit__AError.id;
+cltype = type_nitc__AError.color;
+idtype = type_nitc__AError.id;
 if(cltype >= var_token->type->table_size) {
 var3 = 0;
 } else {
 var3 = var_token->type->type_table[cltype] == idtype;
 }
 if (var3){
-var4 = NEW_nit__Start(&type_nit__Start);
+var4 = NEW_nitc__Start(&type_nitc__Start);
 {
-((void(*)(val* self, val* p0))(var4->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var4, ((val*)NULL)); /* n_base= on <var4:Start>*/
+((void(*)(val* self, val* p0))(var4->class->vft[COLOR_nitc__parser_nodes__Start__n_base_61d]))(var4, ((val*)NULL)); /* n_base= on <var4:Start>*/
 }
 {
-((void(*)(val* self, val* p0))(var4->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var4, var_token); /* n_eof= on <var4:Start>*/
+((void(*)(val* self, val* p0))(var4->class->vft[COLOR_nitc__parser_nodes__Start__n_eof_61d]))(var4, var_token); /* n_eof= on <var4:Start>*/
 }
 {
-((void(*)(val* self))(var4->class->vft[COLOR_standard__kernel__Object__init]))(var4); /* init on <var4:Start>*/
+((void(*)(val* self))(var4->class->vft[COLOR_core__kernel__Object__init]))(var4); /* init on <var4:Start>*/
 }
 var = var4;
 goto RET_LABEL;
 } else {
 }
 {
-var5 = nit___nit__Parser___state(self);
+var5 = nitc___nitc__Parser___state(self);
 }
 var_state = var5;
 {
-var6 = ((long(*)(val* self))(var_token->class->vft[COLOR_nit__lexer_work__Token__parser_index]))(var_token); /* parser_index on <var_token:Token>*/
+var6 = ((long(*)(val* self))(var_token->class->vft[COLOR_nitc__lexer_work__Token__parser_index]))(var_token); /* parser_index on <var_token:Token>*/
 }
 var_index = var6;
 {
@@ -786,9 +806,9 @@ RET_LABEL14:(void)0;
 /* <1l:Int> isa OTHER */
 var18 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var18)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var21 = var13 - 1l;
@@ -805,9 +825,9 @@ for(;;) {
 /* <var_high:Int> isa OTHER */
 var24 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var24)) {
-var_class_name27 = type_standard__Int.name;
+var_class_name27 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var28 = var_low <= var_high;
@@ -823,9 +843,9 @@ if (var22){
 /* <var_high:Int> isa OTHER */
 var31 = 1; /* easy <var_high:Int> isa OTHER*/
 if (unlikely(!var31)) {
-var_class_name34 = type_standard__Int.name;
+var_class_name34 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var35 = var_low + var_high;
@@ -840,9 +860,9 @@ RET_LABEL30:(void)0;
 /* <2l:Int> isa OTHER */
 var38 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var38)) {
-var_class_name41 = type_standard__Int.name;
+var_class_name41 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736);
 fatal_exit(1);
 }
 var42 = var29 / 2l;
@@ -858,9 +878,9 @@ var_middle = var36;
 /* <3l:Int> isa OTHER */
 var45 = 1; /* easy <3l:Int> isa OTHER*/
 if (unlikely(!var45)) {
-var_class_name48 = type_standard__Int.name;
+var_class_name48 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735);
 fatal_exit(1);
 }
 var49 = var_middle * 3l;
@@ -875,9 +895,9 @@ RET_LABEL44:(void)0;
 /* <1l:Int> isa OTHER */
 var52 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var52)) {
-var_class_name55 = type_standard__Int.name;
+var_class_name55 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var56 = var43 + 1l;
@@ -902,9 +922,9 @@ var_goal = var57;
 /* <var_goal:Int> isa OTHER */
 var62 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var62)) {
-var_class_name65 = type_standard__Int.name;
+var_class_name65 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var66 = var_index < var_goal;
@@ -920,9 +940,9 @@ if (var60){
 /* <1l:Int> isa OTHER */
 var69 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var69)) {
-var_class_name72 = type_standard__Int.name;
+var_class_name72 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var73 = var_middle - 1l;
@@ -939,9 +959,9 @@ var_high = var67;
 /* <var_goal:Int> isa OTHER */
 var76 = 1; /* easy <var_goal:Int> isa OTHER*/
 if (unlikely(!var76)) {
-var_class_name79 = type_standard__Int.name;
+var_class_name79 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
 fatal_exit(1);
 }
 var80 = var_index > var_goal;
@@ -957,9 +977,9 @@ if (var74){
 /* <1l:Int> isa OTHER */
 var83 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var83)) {
-var_class_name86 = type_standard__Int.name;
+var_class_name86 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var87 = var_middle + 1l;
@@ -976,9 +996,9 @@ var_low = var81;
 /* <1l:Int> isa OTHER */
 var90 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var90)) {
-var_class_name93 = type_standard__Int.name;
+var_class_name93 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var94 = var_subindex + 1l;
@@ -1002,9 +1022,9 @@ var_action_type = var95;
 /* <2l:Int> isa OTHER */
 var100 = 1; /* easy <2l:Int> isa OTHER*/
 if (unlikely(!var100)) {
-var_class_name103 = type_standard__Int.name;
+var_class_name103 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var104 = var_subindex + 2l;
@@ -1040,10 +1060,10 @@ RET_LABEL109:(void)0;
 }
 if (var108){
 {
-var111 = nit___nit__Lexer___next(var_lexer);
+var111 = nitc___nitc__Lexer___next(var_lexer);
 }
 {
-nit___nit__Parser___push(self, var_action_value, var111); /* Direct call parser_work#Parser#push on <self:Parser>*/
+nitc___nitc__Parser___push(self, var_action_value, var111); /* Direct call parser_work#Parser#push on <self:Parser>*/
 }
 } else {
 {
@@ -1055,17 +1075,17 @@ RET_LABEL113:(void)0;
 }
 }
 if (var112){
-var115 = self->attrs[COLOR_nit__parser_work__Parser___reduce_table].val; /* _reduce_table on <self:Parser> */
+var115 = self->attrs[COLOR_nitc__parser_work__Parser___reduce_table].val; /* _reduce_table on <self:Parser> */
 if (unlikely(var115 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _reduce_table");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 137);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 137);
 fatal_exit(1);
 }
 {
-var116 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var115, var_action_value);
+var116 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var115, var_action_value);
 }
 {
-((void(*)(val* self, val* p0))(var116->class->vft[COLOR_nit__parser_work__ReduceAction__action]))(var116, self); /* action on <var116:nullable Object(ReduceAction)>*/
+((void(*)(val* self, val* p0))(var116->class->vft[COLOR_nitc__parser_work__ReduceAction__action]))(var116, self); /* action on <var116:nullable Object(ReduceAction)>*/
 }
 } else {
 {
@@ -1078,12 +1098,12 @@ RET_LABEL118:(void)0;
 }
 if (var117){
 {
-var120 = nit___nit__Lexer___next(var_lexer);
+var120 = nitc___nitc__Lexer___next(var_lexer);
 }
 var_node2 = var120;
 /* <var_node2:Token> isa EOF */
-cltype122 = type_nit__EOF.color;
-idtype123 = type_nit__EOF.id;
+cltype122 = type_nitc__EOF.color;
+idtype123 = type_nitc__EOF.id;
 if(cltype122 >= var_node2->type->table_size) {
 var121 = 0;
 } else {
@@ -1091,16 +1111,16 @@ var121 = var_node2->type->type_table[cltype122] == idtype123;
 }
 if (unlikely(!var121)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 140);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 140);
 fatal_exit(1);
 }
 {
-var124 = nit___nit__Parser___pop(self);
+var124 = nitc___nitc__Parser___pop(self);
 }
 var_node1 = var124;
 /* <var_node1:nullable Object> isa AModule */
-cltype126 = type_nit__AModule.color;
-idtype127 = type_nit__AModule.id;
+cltype126 = type_nitc__AModule.color;
+idtype127 = type_nitc__AModule.id;
 if(var_node1 == NULL) {
 var125 = 0;
 } else {
@@ -1112,33 +1132,33 @@ var125 = (((long)var_node1&3)?type_info[((long)var_node1&3)]:var_node1->type)->t
 }
 if (unlikely(!var125)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 142);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 142);
 fatal_exit(1);
 }
-var128 = NEW_nit__Start(&type_nit__Start);
+var128 = NEW_nitc__Start(&type_nitc__Start);
 {
-((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var128, var_node1); /* n_base= on <var128:Start>*/
+((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nitc__parser_nodes__Start__n_base_61d]))(var128, var_node1); /* n_base= on <var128:Start>*/
 }
 {
-((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var128, var_node2); /* n_eof= on <var128:Start>*/
+((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nitc__parser_nodes__Start__n_eof_61d]))(var128, var_node2); /* n_eof= on <var128:Start>*/
 }
 {
-((void(*)(val* self))(var128->class->vft[COLOR_standard__kernel__Object__init]))(var128); /* init on <var128:Start>*/
+((void(*)(val* self))(var128->class->vft[COLOR_core__kernel__Object__init]))(var128); /* init on <var128:Start>*/
 }
 var_node = var128;
 {
 { /* Inline parser_nodes#ANode#parent= (var_node2,var_node) on <var_node2:Token(EOF)> */
-var_node2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = var_node; /* _parent on <var_node2:Token(EOF)> */
+var_node2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = var_node; /* _parent on <var_node2:Token(EOF)> */
 RET_LABEL129:(void)0;
 }
 }
-var130 = NEW_nit__parser_work__ComputeProdLocationVisitor(&type_nit__parser_work__ComputeProdLocationVisitor);
+var130 = NEW_nitc__parser_work__ComputeProdLocationVisitor(&type_nitc__parser_work__ComputeProdLocationVisitor);
 {
 { /* Inline lexer_work#Lexer#file (var_lexer) on <var_lexer:Lexer> */
-var133 = var_lexer->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <var_lexer:Lexer> */
+var133 = var_lexer->attrs[COLOR_nitc__lexer_work__Lexer___file].val; /* _file on <var_lexer:Lexer> */
 if (unlikely(var133 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__lexer_work, 90);
 fatal_exit(1);
 }
 var131 = var133;
@@ -1147,19 +1167,19 @@ RET_LABEL132:(void)0;
 }
 {
 { /* Inline parser_nodes#SourceFile#first_token (var131) on <var131:SourceFile> */
-var136 = var131->attrs[COLOR_nit__parser_nodes__SourceFile___first_token].val; /* _first_token on <var131:SourceFile> */
+var136 = var131->attrs[COLOR_nitc__parser_nodes__SourceFile___first_token].val; /* _first_token on <var131:SourceFile> */
 var134 = var136;
 RET_LABEL135:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var130->class->vft[COLOR_nit__parser_work__ComputeProdLocationVisitor__token_61d]))(var130, var134); /* token= on <var130:ComputeProdLocationVisitor>*/
+((void(*)(val* self, val* p0))(var130->class->vft[COLOR_nitc__parser_work__ComputeProdLocationVisitor__token_61d]))(var130, var134); /* token= on <var130:ComputeProdLocationVisitor>*/
 }
 {
-((void(*)(val* self))(var130->class->vft[COLOR_standard__kernel__Object__init]))(var130); /* init on <var130:ComputeProdLocationVisitor>*/
+((void(*)(val* self))(var130->class->vft[COLOR_core__kernel__Object__init]))(var130); /* init on <var130:ComputeProdLocationVisitor>*/
 }
 {
-nit___nit__Visitor___enter_visit(var130, var_node); /* Direct call parser_nodes#Visitor#enter_visit on <var130:ComputeProdLocationVisitor>*/
+nitc___nitc__Visitor___enter_visit(var130, var_node); /* Direct call parser_nodes#Visitor#enter_visit on <var130:ComputeProdLocationVisitor>*/
 }
 var = var_node;
 goto RET_LABEL;
@@ -1174,11 +1194,11 @@ RET_LABEL138:(void)0;
 }
 if (var137){
 for(;;) {
-var140 = var_token->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_token:Token> */
+var140 = var_token->attrs[COLOR_nitc__parser_nodes__ANode___location].val != NULL; /* _location on <var_token:Token> */
 var141 = !var140;
 if (var141){
 {
-var142 = nit___nit__Lexer___next(var_lexer);
+var142 = nitc___nitc__Lexer___next(var_lexer);
 }
 var_token = var142;
 } else {
@@ -1186,45 +1206,45 @@ goto BREAK_label143;
 }
 }
 BREAK_label143: (void)0;
-var144 = NEW_nit__AParserError(&type_nit__AParserError);
+var144 = NEW_nitc__AParserError(&type_nitc__AParserError);
 if (unlikely(varonce==NULL)) {
-var145 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+var145 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
 if (likely(varonce146!=NULL)) {
 var147 = varonce146;
 } else {
 var148 = "Syntax Error: unexpected ";
-var149 = standard___standard__NativeString___to_s_with_length(var148, 25l);
+var149 = core__flat___NativeString___to_s_full(var148, 25l, 25l);
 var147 = var149;
 varonce146 = var147;
 }
-((struct instance_standard__NativeArray*)var145)->values[0]=var147;
+((struct instance_core__NativeArray*)var145)->values[0]=var147;
 if (likely(varonce150!=NULL)) {
 var151 = varonce150;
 } else {
 var152 = ".";
-var153 = standard___standard__NativeString___to_s_with_length(var152, 1l);
+var153 = core__flat___NativeString___to_s_full(var152, 1l, 1l);
 var151 = var153;
 varonce150 = var151;
 }
-((struct instance_standard__NativeArray*)var145)->values[2]=var151;
+((struct instance_core__NativeArray*)var145)->values[2]=var151;
 } else {
 var145 = varonce;
 varonce = NULL;
 }
 {
-var154 = ((val*(*)(val* self))(var_token->class->vft[COLOR_standard__string__Object__to_s]))(var_token); /* to_s on <var_token:Token>*/
+var154 = ((val*(*)(val* self))(var_token->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_token); /* to_s on <var_token:Token>*/
 }
-((struct instance_standard__NativeArray*)var145)->values[1]=var154;
+((struct instance_core__NativeArray*)var145)->values[1]=var154;
 {
-var155 = ((val*(*)(val* self))(var145->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var145); /* native_to_s on <var145:NativeArray[String]>*/
+var155 = ((val*(*)(val* self))(var145->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var145); /* native_to_s on <var145:NativeArray[String]>*/
 }
 varonce = var145;
 {
 { /* Inline parser_nodes#ANode#location (var_token) on <var_token:Token> */
-var158 = var_token->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_token:Token> */
+var158 = var_token->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_token:Token> */
 if (unlikely(var158 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
 var156 = var158;
@@ -1232,18 +1252,18 @@ RET_LABEL157:(void)0;
 }
 }
 {
-nit__lexer_work___AParserError___init_parser_error(var144, var155, var156, var_token); /* Direct call lexer_work#AParserError#init_parser_error on <var144:AParserError>*/
+nitc__lexer_work___AParserError___init_parser_error(var144, var155, var156, var_token); /* Direct call lexer_work#AParserError#init_parser_error on <var144:AParserError>*/
 }
 var_node2159 = var144;
-var160 = NEW_nit__Start(&type_nit__Start);
+var160 = NEW_nitc__Start(&type_nitc__Start);
 {
-((void(*)(val* self, val* p0))(var160->class->vft[COLOR_nit__parser_nodes__Start__n_base_61d]))(var160, ((val*)NULL)); /* n_base= on <var160:Start>*/
+((void(*)(val* self, val* p0))(var160->class->vft[COLOR_nitc__parser_nodes__Start__n_base_61d]))(var160, ((val*)NULL)); /* n_base= on <var160:Start>*/
 }
 {
-((void(*)(val* self, val* p0))(var160->class->vft[COLOR_nit__parser_nodes__Start__n_eof_61d]))(var160, var_node2159); /* n_eof= on <var160:Start>*/
+((void(*)(val* self, val* p0))(var160->class->vft[COLOR_nitc__parser_nodes__Start__n_eof_61d]))(var160, var_node2159); /* n_eof= on <var160:Start>*/
 }
 {
-((void(*)(val* self))(var160->class->vft[COLOR_standard__kernel__Object__init]))(var160); /* init on <var160:Start>*/
+((void(*)(val* self))(var160->class->vft[COLOR_core__kernel__Object__init]))(var160); /* init on <var160:Start>*/
 }
 var_node161 = var160;
 var = var_node161;
@@ -1258,12 +1278,12 @@ RET_LABEL:;
 return var;
 }
 /* method parser_work#Parser#reduce_table= for (self: Parser, Array[ReduceAction]) */
-void nit___nit__Parser___reduce_table_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__parser_work__Parser___reduce_table].val = p0; /* _reduce_table on <self:Parser> */
+void nitc___nitc__Parser___reduce_table_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__parser_work__Parser___reduce_table].val = p0; /* _reduce_table on <self:Parser> */
 RET_LABEL:;
 }
 /* method parser_work#Prod#collect_text for (self: Prod): String */
-val* nit__parser_work___Prod___collect_text(val* self) {
+val* nitc__parser_work___Prod___collect_text(val* self) {
 val* var /* : String */;
 val* var1 /* : TextCollectorVisitor */;
 val* var_v /* var v: TextCollectorVisitor */;
@@ -1272,14 +1292,14 @@ val* var5 /* : String */;
 static val* varonce;
 val* var6 /* : String */;
 char* var7 /* : NativeString */;
-val* var8 /* : FlatString */;
+val* var8 /* : String */;
 short int var9 /* : Bool */;
 val* var_other /* var other: nullable Object */;
 short int var11 /* : Bool */;
 short int var12 /* : Bool */;
 val* var13 /* : String */;
 val* var15 /* : String */;
-var1 = NEW_nit__parser_work__TextCollectorVisitor(&type_nit__parser_work__TextCollectorVisitor);
+var1 = NEW_nitc__parser_work__TextCollectorVisitor(&type_nitc__parser_work__TextCollectorVisitor);
 {
 { /* Inline kernel#Object#init (var1) on <var1:TextCollectorVisitor> */
 RET_LABEL2:(void)0;
@@ -1287,14 +1307,14 @@ RET_LABEL2:(void)0;
 }
 var_v = var1;
 {
-nit___nit__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
+nitc___nitc__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> */
-var5 = var_v->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
+var5 = var_v->attrs[COLOR_nitc__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", FILE_nit__parser_work, 281);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 281);
 fatal_exit(1);
 }
 var3 = var5;
@@ -1305,7 +1325,7 @@ if (likely(varonce!=NULL)) {
 var6 = varonce;
 } else {
 var7 = "";
-var8 = standard___standard__NativeString___to_s_with_length(var7, 0l);
+var8 = core__flat___NativeString___to_s_full(var7, 0l, 0l);
 var6 = var8;
 varonce = var6;
 }
@@ -1313,7 +1333,7 @@ varonce = var6;
 { /* Inline kernel#Object#!= (var3,var6) on <var3:String> */
 var_other = var6;
 {
-var11 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var3, var_other); /* == on <var3:String>*/
+var11 = ((short int(*)(val* self, val* p0))(var3->class->vft[COLOR_core__kernel__Object___61d_61d]))(var3, var_other); /* == on <var3:String>*/
 }
 var12 = !var11;
 var9 = var12;
@@ -1323,15 +1343,15 @@ RET_LABEL10:(void)0;
 }
 if (unlikely(!var9)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 171);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 171);
 fatal_exit(1);
 }
 {
 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
-var15 = var_v->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
+var15 = var_v->attrs[COLOR_nitc__parser_work__TextCollectorVisitor___text].val; /* _text on <var_v:TextCollectorVisitor> */
 if (unlikely(var15 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 281);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 281);
 fatal_exit(1);
 }
 var13 = var15;
@@ -1344,30 +1364,30 @@ RET_LABEL:;
 return var;
 }
 /* method parser_work#ComputeProdLocationVisitor#token for (self: ComputeProdLocationVisitor): nullable Token */
-val* nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___token(val* self) {
+val* nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___token(val* self) {
 val* var /* : nullable Token */;
 val* var1 /* : nullable Token */;
-var1 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___token].val; /* _token on <self:ComputeProdLocationVisitor> */
+var1 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___token].val; /* _token on <self:ComputeProdLocationVisitor> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method parser_work#ComputeProdLocationVisitor#token= for (self: ComputeProdLocationVisitor, nullable Token) */
-void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___token_61d(val* self, val* p0) {
-self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___token].val = p0; /* _token on <self:ComputeProdLocationVisitor> */
+void nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___token_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___token].val = p0; /* _token on <self:ComputeProdLocationVisitor> */
 RET_LABEL:;
 }
 /* method parser_work#ComputeProdLocationVisitor#last_token for (self: ComputeProdLocationVisitor): nullable Token */
-val* nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___last_token(val* self) {
+val* nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___last_token(val* self) {
 val* var /* : nullable Token */;
 val* var1 /* : nullable Token */;
-var1 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
+var1 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method parser_work#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */
-void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
+void nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 short int var /* : Bool */;
 int cltype;
@@ -1434,10 +1454,10 @@ short int var73 /* : Bool */;
 short int var74 /* : Bool */;
 val* var75 /* : Array[Prod] */;
 val* var_76 /* var : Array[Prod] */;
-val* var77 /* : ArrayIterator[nullable Object] */;
-val* var_78 /* var : ArrayIterator[Prod] */;
+val* var77 /* : IndexedIterator[nullable Object] */;
+val* var_78 /* var : IndexedIterator[Prod] */;
 short int var79 /* : Bool */;
-val* var80 /* : nullable Object */;
+val* var81 /* : nullable Object */;
 val* var_no /* var no: Prod */;
 val* var82 /* : Array[Prod] */;
 val* var83 /* : Array[Prod] */;
@@ -1457,11 +1477,11 @@ long var101 /* : Int */;
 val* var_loco /* var loco: Location */;
 val* var102 /* : Array[Prod] */;
 val* var_103 /* var : Array[Prod] */;
-val* var104 /* : ArrayIterator[nullable Object] */;
-val* var_105 /* var : ArrayIterator[Prod] */;
+val* var104 /* : IndexedIterator[nullable Object] */;
+val* var_105 /* var : IndexedIterator[Prod] */;
 short int var106 /* : Bool */;
-val* var107 /* : nullable Object */;
-val* var_no108 /* var no: Prod */;
+val* var108 /* : nullable Object */;
+val* var_no109 /* var no: Prod */;
 val* var111 /* : Array[Prod] */;
 short int var112 /* : Bool */;
 int cltype113;
@@ -1506,24 +1526,24 @@ long var163 /* : Int */;
 val* var_loc164 /* var loc: Location */;
 val* var165 /* : Array[Prod] */;
 val* var_166 /* var : Array[Prod] */;
-val* var167 /* : ArrayIterator[nullable Object] */;
-val* var_168 /* var : ArrayIterator[Prod] */;
+val* var167 /* : IndexedIterator[nullable Object] */;
+val* var_168 /* var : IndexedIterator[Prod] */;
 short int var169 /* : Bool */;
-val* var170 /* : nullable Object */;
-val* var_no171 /* var no: Prod */;
+val* var171 /* : nullable Object */;
+val* var_no172 /* var no: Prod */;
 val* var174 /* : Array[Prod] */;
 val* var175 /* : Array[Prod] */;
 var_n = p0;
 /* <var_n:ANode> isa Token */
-cltype = type_nit__Token.color;
-idtype = type_nit__Token.id;
+cltype = type_nitc__Token.color;
+idtype = type_nitc__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_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_n:ANode(Token)> */
+var1 = var_n->attrs[COLOR_nitc__parser_nodes__ANode___location].val != NULL; /* _location on <var_n:ANode(Token)> */
 var2 = !var1;
 if (var2){
 goto RET_LABEL;
@@ -1531,7 +1551,7 @@ goto RET_LABEL;
 }
 {
 { /* Inline parser_work#ComputeProdLocationVisitor#token (self) on <self:ComputeProdLocationVisitor> */
-var5 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___token].val; /* _token on <self:ComputeProdLocationVisitor> */
+var5 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___token].val; /* _token on <self:ComputeProdLocationVisitor> */
 var3 = var5;
 RET_LABEL4:(void)0;
 }
@@ -1541,7 +1561,7 @@ var_cursor = var3;
 { /* Inline kernel#Object#!= (var_n,var_cursor) on <var_n:ANode(Token)> */
 var_other = var_cursor;
 {
-var8 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n, var_other); /* == on <var_n:ANode(Token)>*/
+var8 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n, var_other); /* == on <var_n:ANode(Token)>*/
 }
 var9 = !var8;
 var6 = var9;
@@ -1552,7 +1572,7 @@ RET_LABEL7:(void)0;
 if (var6){
 {
 { /* Inline parser_work#ComputeProdLocationVisitor#last_token (self) on <self:ComputeProdLocationVisitor> */
-var12 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
+var12 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
 var10 = var12;
 RET_LABEL11:(void)0;
 }
@@ -1567,7 +1587,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_lt,((val*)NULL)) on <var_lt:nullable Token> */
 var_other = ((val*)NULL);
 {
-var16 = ((short int(*)(val* self, val* p0))(var_lt->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_lt, var_other); /* == on <var_lt:nullable Token(Token)>*/
+var16 = ((short int(*)(val* self, val* p0))(var_lt->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_lt, var_other); /* == on <var_lt:nullable Token(Token)>*/
 }
 var17 = !var16;
 var14 = var17;
@@ -1579,10 +1599,10 @@ var13 = var14;
 if (var13){
 {
 { /* Inline parser_nodes#ANode#location (var_lt) on <var_lt:nullable Token(Token)> */
-var20 = var_lt->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_lt:nullable Token(Token)> */
+var20 = var_lt->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_lt:nullable Token(Token)> */
 if (unlikely(var20 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
 var18 = var20;
@@ -1591,7 +1611,7 @@ RET_LABEL19:(void)0;
 }
 {
 { /* Inline location#Location#line_end (var18) on <var18:Location> */
-var23 = var18->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var18:Location> */
+var23 = var18->attrs[COLOR_nitc__location__Location___line_end].l; /* _line_end on <var18:Location> */
 var21 = var23;
 RET_LABEL22:(void)0;
 }
@@ -1607,7 +1627,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_cursor,((val*)NULL)) on <var_cursor:nullable Token> */
 var_other = ((val*)NULL);
 {
-var29 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
+var29 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
 }
 var30 = !var29;
 var27 = var30;
@@ -1622,7 +1642,7 @@ if (var26){
 { /* Inline kernel#Object#!= (var_cursor,var_n) on <var_cursor:nullable Token(Token)> */
 var_other = var_n;
 {
-var33 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
+var33 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
 }
 var34 = !var33;
 var31 = var34;
@@ -1638,10 +1658,10 @@ var_35 = var25;
 if (var25){
 {
 { /* Inline parser_nodes#ANode#location (var_cursor) on <var_cursor:nullable Token(Token)> */
-var38 = var_cursor->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_cursor:nullable Token(Token)> */
+var38 = var_cursor->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_cursor:nullable Token(Token)> */
 if (unlikely(var38 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
 var36 = var38;
@@ -1650,7 +1670,7 @@ RET_LABEL37:(void)0;
 }
 {
 { /* Inline location#Location#line_start (var36) on <var36:Location> */
-var41 = var36->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var36:Location> */
+var41 = var36->attrs[COLOR_nitc__location__Location___line_start].l; /* _line_start on <var36:Location> */
 var39 = var41;
 RET_LABEL40:(void)0;
 }
@@ -1670,19 +1690,19 @@ var24 = var_35;
 if (var24){
 {
 { /* Inline parser_nodes#Token#is_loose= (var_cursor,1) on <var_cursor:nullable Token(Token)> */
-var_cursor->attrs[COLOR_nit__parser_nodes__Token___is_loose].s = 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
+var_cursor->attrs[COLOR_nitc__parser_nodes__Token___is_loose].s = 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
 RET_LABEL45:(void)0;
 }
 }
 {
-var46 = nit___nit__Token___next_looses(var_lt);
+var46 = nitc___nitc__Token___next_looses(var_lt);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var46, var_cursor); /* Direct call array#Array#add on <var46:Array[Token]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var46, var_cursor); /* Direct call array#Array#add on <var46:Array[Token]>*/
 }
 {
 { /* Inline parser_nodes#Token#next_token (var_cursor) on <var_cursor:nullable Token(Token)> */
-var49 = var_cursor->attrs[COLOR_nit__parser_nodes__Token___next_token].val; /* _next_token on <var_cursor:nullable Token(Token)> */
+var49 = var_cursor->attrs[COLOR_nitc__parser_nodes__Token___next_token].val; /* _next_token on <var_cursor:nullable Token(Token)> */
 var47 = var49;
 RET_LABEL48:(void)0;
 }
@@ -1705,7 +1725,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_cursor,((val*)NULL)) on <var_cursor:nullable Token> */
 var_other = ((val*)NULL);
 {
-var54 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
+var54 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
 }
 var55 = !var54;
 var52 = var55;
@@ -1720,7 +1740,7 @@ if (var51){
 { /* Inline kernel#Object#!= (var_cursor,var_n) on <var_cursor:nullable Token(Token)> */
 var_other = var_n;
 {
-var59 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
+var59 = ((short int(*)(val* self, val* p0))(var_cursor->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cursor, var_other); /* == on <var_cursor:nullable Token(Token)>*/
 }
 var60 = !var59;
 var57 = var60;
@@ -1735,19 +1755,19 @@ var50 = var_56;
 if (var50){
 {
 { /* Inline parser_nodes#Token#is_loose= (var_cursor,1) on <var_cursor:nullable Token(Token)> */
-var_cursor->attrs[COLOR_nit__parser_nodes__Token___is_loose].s = 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
+var_cursor->attrs[COLOR_nitc__parser_nodes__Token___is_loose].s = 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
 RET_LABEL61:(void)0;
 }
 }
 {
-var62 = nit___nit__Token___prev_looses(var_n);
+var62 = nitc___nitc__Token___prev_looses(var_n);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var62, var_cursor); /* Direct call array#Array#add on <var62:Array[Token]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var62, var_cursor); /* Direct call array#Array#add on <var62:Array[Token]>*/
 }
 {
 { /* Inline parser_nodes#Token#next_token (var_cursor) on <var_cursor:nullable Token(Token)> */
-var65 = var_cursor->attrs[COLOR_nit__parser_nodes__Token___next_token].val; /* _next_token on <var_cursor:nullable Token(Token)> */
+var65 = var_cursor->attrs[COLOR_nitc__parser_nodes__Token___next_token].val; /* _next_token on <var_cursor:nullable Token(Token)> */
 var63 = var65;
 RET_LABEL64:(void)0;
 }
@@ -1762,197 +1782,197 @@ BREAK_label66: (void)0;
 }
 {
 { /* Inline parser_nodes#Token#next_token (var_n) on <var_n:ANode(Token)> */
-var69 = var_n->attrs[COLOR_nit__parser_nodes__Token___next_token].val; /* _next_token on <var_n:ANode(Token)> */
+var69 = var_n->attrs[COLOR_nitc__parser_nodes__Token___next_token].val; /* _next_token on <var_n:ANode(Token)> */
 var67 = var69;
 RET_LABEL68:(void)0;
 }
 }
 {
 { /* Inline parser_work#ComputeProdLocationVisitor#token= (self,var67) on <self:ComputeProdLocationVisitor> */
-self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___token].val = var67; /* _token on <self:ComputeProdLocationVisitor> */
+self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___token].val = var67; /* _token on <self:ComputeProdLocationVisitor> */
 RET_LABEL70:(void)0;
 }
 }
-var71 = var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var_n:ANode(Token)> */
+var71 = var_n->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_n:ANode(Token)> */
 if (unlikely(var71 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 227);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 227);
 fatal_exit(1);
 }
 var_loc = var71;
-self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token].val = var_n; /* _last_token on <self:ComputeProdLocationVisitor> */
-var72 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___last_token].val = var_n; /* _last_token on <self:ComputeProdLocationVisitor> */
+var72 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var72 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 231);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 231);
 fatal_exit(1);
 }
 {
-var73 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var72);
+var73 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var72);
 }
 var74 = !var73;
 if (var74){
-var75 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var75 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var75 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 232);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 232);
 fatal_exit(1);
 }
 var_76 = var75;
 {
-var77 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_76);
+var77 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_76);
 }
 var_78 = var77;
 for(;;) {
 {
-var79 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_78);
+var79 = ((short int(*)(val* self))((((long)var_78&3)?class_info[((long)var_78&3)]:var_78->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_78); /* is_ok on <var_78:IndexedIterator[Prod]>*/
 }
 if (var79){
-{
-var80 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_78);
+} else {
+goto BREAK_label80;
 }
-var_no = var80;
-var_no->attrs[COLOR_nit__parser_work__Prod___first_location].val = var_loc; /* _first_location on <var_no:Prod> */
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_78); /* Direct call array#ArrayIterator#next on <var_78:ArrayIterator[Prod]>*/
+var81 = ((val*(*)(val* self))((((long)var_78&3)?class_info[((long)var_78&3)]:var_78->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_78); /* item on <var_78:IndexedIterator[Prod]>*/
 }
-} else {
-goto BREAK_label81;
+var_no = var81;
+var_no->attrs[COLOR_nitc__parser_work__Prod___first_location].val = var_loc; /* _first_location on <var_no:Prod> */
+{
+((void(*)(val* self))((((long)var_78&3)?class_info[((long)var_78&3)]:var_78->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_78); /* next on <var_78:IndexedIterator[Prod]>*/
 }
 }
-BREAK_label81: (void)0;
+BREAK_label80: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_78); /* Direct call array#ArrayIterator#finish on <var_78:ArrayIterator[Prod]>*/
+((void(*)(val* self))((((long)var_78&3)?class_info[((long)var_78&3)]:var_78->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_78); /* finish on <var_78:IndexedIterator[Prod]>*/
 }
-var82 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var82 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var82 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 235);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 235);
 fatal_exit(1);
 }
 {
-standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var82); /* Direct call array#AbstractArray#clear on <var82:Array[Prod]>*/
+core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var82); /* Direct call array#AbstractArray#clear on <var82:Array[Prod]>*/
 }
 } else {
 }
-var83 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var83 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var83 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 239);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 239);
 fatal_exit(1);
 }
 {
-var84 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var83);
+var84 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var83);
 }
 var85 = !var84;
 if (var85){
-var86 = NEW_nit__Location(&type_nit__Location);
+var86 = NEW_nitc__Location(&type_nitc__Location);
 {
 { /* Inline location#Location#file (var_loc) on <var_loc:Location> */
-var89 = var_loc->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_loc:Location> */
+var89 = var_loc->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var_loc:Location> */
 var87 = var89;
 RET_LABEL88:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
-var92 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
+var92 = var_loc->attrs[COLOR_nitc__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
 var90 = var92;
 RET_LABEL91:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
-var95 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
+var95 = var_loc->attrs[COLOR_nitc__location__Location___line_start].l; /* _line_start on <var_loc:Location> */
 var93 = var95;
 RET_LABEL94:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
-var98 = var_loc->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
+var98 = var_loc->attrs[COLOR_nitc__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
 var96 = var98;
 RET_LABEL97:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
-var101 = var_loc->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
+var101 = var_loc->attrs[COLOR_nitc__location__Location___column_start].l; /* _column_start on <var_loc:Location> */
 var99 = var101;
 RET_LABEL100:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var86->class->vft[COLOR_nit__location__Location__file_61d]))(var86, var87); /* file= on <var86:Location>*/
+((void(*)(val* self, val* p0))(var86->class->vft[COLOR_nitc__location__Location__file_61d]))(var86, var87); /* file= on <var86:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var86->class->vft[COLOR_nit__location__Location__line_start_61d]))(var86, var90); /* line_start= on <var86:Location>*/
+((void(*)(val* self, long p0))(var86->class->vft[COLOR_nitc__location__Location__line_start_61d]))(var86, var90); /* line_start= on <var86:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var86->class->vft[COLOR_nit__location__Location__line_end_61d]))(var86, var93); /* line_end= on <var86:Location>*/
+((void(*)(val* self, long p0))(var86->class->vft[COLOR_nitc__location__Location__line_end_61d]))(var86, var93); /* line_end= on <var86:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var86->class->vft[COLOR_nit__location__Location__column_start_61d]))(var86, var96); /* column_start= on <var86:Location>*/
+((void(*)(val* self, long p0))(var86->class->vft[COLOR_nitc__location__Location__column_start_61d]))(var86, var96); /* column_start= on <var86:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var86->class->vft[COLOR_nit__location__Location__column_end_61d]))(var86, var99); /* column_end= on <var86:Location>*/
+((void(*)(val* self, long p0))(var86->class->vft[COLOR_nitc__location__Location__column_end_61d]))(var86, var99); /* column_end= on <var86:Location>*/
 }
 {
-((void(*)(val* self))(var86->class->vft[COLOR_standard__kernel__Object__init]))(var86); /* init on <var86:Location>*/
+((void(*)(val* self))(var86->class->vft[COLOR_core__kernel__Object__init]))(var86); /* init on <var86:Location>*/
 }
 var_loco = var86;
-var102 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var102 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var102 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 241);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 241);
 fatal_exit(1);
 }
 var_103 = var102;
 {
-var104 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_103);
+var104 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_103);
 }
 var_105 = var104;
 for(;;) {
 {
-var106 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_105);
+var106 = ((short int(*)(val* self))((((long)var_105&3)?class_info[((long)var_105&3)]:var_105->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_105); /* is_ok on <var_105:IndexedIterator[Prod]>*/
 }
 if (var106){
+} else {
+goto BREAK_label107;
+}
 {
-var107 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_105);
+var108 = ((val*(*)(val* self))((((long)var_105&3)?class_info[((long)var_105&3)]:var_105->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_105); /* item on <var_105:IndexedIterator[Prod]>*/
 }
-var_no108 = var107;
+var_no109 = var108;
 {
-{ /* Inline parser_nodes#ANode#location= (var_no108,var_loco) on <var_no108:Prod> */
-var_no108->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_loco; /* _location on <var_no108:Prod> */
-RET_LABEL109:(void)0;
+{ /* Inline parser_nodes#ANode#location= (var_no109,var_loco) on <var_no109:Prod> */
+var_no109->attrs[COLOR_nitc__parser_nodes__ANode___location].val = var_loco; /* _location on <var_no109:Prod> */
+RET_LABEL110:(void)0;
 }
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_105); /* Direct call array#ArrayIterator#next on <var_105:ArrayIterator[Prod]>*/
+((void(*)(val* self))((((long)var_105&3)?class_info[((long)var_105&3)]:var_105->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_105); /* next on <var_105:IndexedIterator[Prod]>*/
 }
-} else {
-goto BREAK_label110;
 }
-}
-BREAK_label110: (void)0;
+BREAK_label107: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_105); /* Direct call array#ArrayIterator#finish on <var_105:ArrayIterator[Prod]>*/
+((void(*)(val* self))((((long)var_105&3)?class_info[((long)var_105&3)]:var_105->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_105); /* finish on <var_105:IndexedIterator[Prod]>*/
 }
-var111 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var111 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var111 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 244);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 244);
 fatal_exit(1);
 }
 {
-standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var111); /* Direct call array#AbstractArray#clear on <var111:Array[Prod]>*/
+core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var111); /* Direct call array#AbstractArray#clear on <var111:Array[Prod]>*/
 }
 } else {
 }
 } else {
 /* <var_n:ANode> isa Prod */
-cltype113 = type_nit__Prod.color;
-idtype114 = type_nit__Prod.id;
+cltype113 = type_nitc__Prod.color;
+idtype114 = type_nitc__Prod.id;
 if(cltype113 >= var_n->type->table_size) {
 var112 = 0;
 } else {
@@ -1960,22 +1980,22 @@ var112 = var_n->type->type_table[cltype113] == idtype114;
 }
 if (unlikely(!var112)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 247);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 247);
 fatal_exit(1);
 }
-var115 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
+var115 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
 if (unlikely(var115 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 248);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 248);
 fatal_exit(1);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var115, var_n); /* Direct call array#Array#add on <var115:Array[Prod]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var115, var_n); /* Direct call array#Array#add on <var115:Array[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)>*/
+((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nitc__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on <var_n:ANode(Prod)>*/
 }
-var116 = var_n->attrs[COLOR_nit__parser_work__Prod___first_location].val; /* _first_location on <var_n:ANode(Prod)> */
+var116 = var_n->attrs[COLOR_nitc__parser_work__Prod___first_location].val; /* _first_location on <var_n:ANode(Prod)> */
 var_startl = var116;
 if (var_startl == NULL) {
 var117 = 0; /* is null */
@@ -1986,7 +2006,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_startl,((val*)NULL)) on <var_startl:nullable Location> */
 var_other = ((val*)NULL);
 {
-var120 = ((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)>*/
+var120 = ((short int(*)(val* self, val* p0))(var_startl->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_startl, var_other); /* == on <var_startl:nullable Location(Location)>*/
 }
 var121 = !var120;
 var118 = var121;
@@ -1996,22 +2016,22 @@ RET_LABEL119:(void)0;
 var117 = var118;
 }
 if (var117){
-var122 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
+var122 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___last_token].val; /* _last_token on <self:ComputeProdLocationVisitor> */
 if (var122 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 255);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 255);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#location (var122) on <var122:nullable Token> */
 if (unlikely(var122 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
-var125 = var122->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <var122:nullable Token> */
+var125 = var122->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var122:nullable Token> */
 if (unlikely(var125 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24);
 fatal_exit(1);
 }
 var123 = var125;
@@ -2020,220 +2040,220 @@ RET_LABEL124:(void)0;
 }
 var_endl = var123;
 {
-var126 = nit___nit__Location___standard__kernel__Object___61d_61d(var_startl, var_endl);
+var126 = nitc___nitc__Location___core__kernel__Object___61d_61d(var_startl, var_endl);
 }
 if (var126){
 {
 { /* Inline parser_nodes#ANode#location= (var_n,var_startl) on <var_n:ANode(Prod)> */
-var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_startl; /* _location on <var_n:ANode(Prod)> */
+var_n->attrs[COLOR_nitc__parser_nodes__ANode___location].val = var_startl; /* _location on <var_n:ANode(Prod)> */
 RET_LABEL127:(void)0;
 }
 }
 } else {
-var128 = NEW_nit__Location(&type_nit__Location);
+var128 = NEW_nitc__Location(&type_nitc__Location);
 {
 { /* Inline location#Location#file (var_startl) on <var_startl:nullable Location(Location)> */
-var131 = var_startl->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_startl:nullable Location(Location)> */
+var131 = var_startl->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var_startl:nullable Location(Location)> */
 var129 = var131;
 RET_LABEL130:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_start (var_startl) on <var_startl:nullable Location(Location)> */
-var134 = var_startl->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_startl:nullable Location(Location)> */
+var134 = var_startl->attrs[COLOR_nitc__location__Location___line_start].l; /* _line_start on <var_startl:nullable Location(Location)> */
 var132 = var134;
 RET_LABEL133:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
-var137 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
+var137 = var_endl->attrs[COLOR_nitc__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
 var135 = var137;
 RET_LABEL136:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_start (var_startl) on <var_startl:nullable Location(Location)> */
-var140 = var_startl->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_startl:nullable Location(Location)> */
+var140 = var_startl->attrs[COLOR_nitc__location__Location___column_start].l; /* _column_start on <var_startl:nullable Location(Location)> */
 var138 = var140;
 RET_LABEL139:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
-var143 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
+var143 = var_endl->attrs[COLOR_nitc__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
 var141 = var143;
 RET_LABEL142:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nit__location__Location__file_61d]))(var128, var129); /* file= on <var128:Location>*/
+((void(*)(val* self, val* p0))(var128->class->vft[COLOR_nitc__location__Location__file_61d]))(var128, var129); /* file= on <var128:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var128->class->vft[COLOR_nit__location__Location__line_start_61d]))(var128, var132); /* line_start= on <var128:Location>*/
+((void(*)(val* self, long p0))(var128->class->vft[COLOR_nitc__location__Location__line_start_61d]))(var128, var132); /* line_start= on <var128:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var128->class->vft[COLOR_nit__location__Location__line_end_61d]))(var128, var135); /* line_end= on <var128:Location>*/
+((void(*)(val* self, long p0))(var128->class->vft[COLOR_nitc__location__Location__line_end_61d]))(var128, var135); /* line_end= on <var128:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var128->class->vft[COLOR_nit__location__Location__column_start_61d]))(var128, var138); /* column_start= on <var128:Location>*/
+((void(*)(val* self, long p0))(var128->class->vft[COLOR_nitc__location__Location__column_start_61d]))(var128, var138); /* column_start= on <var128:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var128->class->vft[COLOR_nit__location__Location__column_end_61d]))(var128, var141); /* column_end= on <var128:Location>*/
+((void(*)(val* self, long p0))(var128->class->vft[COLOR_nitc__location__Location__column_end_61d]))(var128, var141); /* column_end= on <var128:Location>*/
 }
 {
-((void(*)(val* self))(var128->class->vft[COLOR_standard__kernel__Object__init]))(var128); /* init on <var128:Location>*/
+((void(*)(val* self))(var128->class->vft[COLOR_core__kernel__Object__init]))(var128); /* init on <var128:Location>*/
 }
 {
 { /* Inline parser_nodes#ANode#location= (var_n,var128) on <var_n:ANode(Prod)> */
-var_n->attrs[COLOR_nit__parser_nodes__ANode___location].val = var128; /* _location on <var_n:ANode(Prod)> */
+var_n->attrs[COLOR_nitc__parser_nodes__ANode___location].val = var128; /* _location on <var_n:ANode(Prod)> */
 RET_LABEL144:(void)0;
 }
 }
 }
-var145 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var145 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var145 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 263);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 263);
 fatal_exit(1);
 }
 {
-var146 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var145);
+var146 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var145);
 }
 var147 = !var146;
 if (var147){
-var148 = NEW_nit__Location(&type_nit__Location);
+var148 = NEW_nitc__Location(&type_nitc__Location);
 {
 { /* Inline location#Location#file (var_endl) on <var_endl:Location> */
-var151 = var_endl->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_endl:Location> */
+var151 = var_endl->attrs[COLOR_nitc__location__Location___file].val; /* _file on <var_endl:Location> */
 var149 = var151;
 RET_LABEL150:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
-var154 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
+var154 = var_endl->attrs[COLOR_nitc__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
 var152 = var154;
 RET_LABEL153:(void)0;
 }
 }
 {
 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
-var157 = var_endl->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
+var157 = var_endl->attrs[COLOR_nitc__location__Location___line_end].l; /* _line_end on <var_endl:Location> */
 var155 = var157;
 RET_LABEL156:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
-var160 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
+var160 = var_endl->attrs[COLOR_nitc__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
 var158 = var160;
 RET_LABEL159:(void)0;
 }
 }
 {
 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
-var163 = var_endl->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
+var163 = var_endl->attrs[COLOR_nitc__location__Location___column_end].l; /* _column_end on <var_endl:Location> */
 var161 = var163;
 RET_LABEL162:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var148->class->vft[COLOR_nit__location__Location__file_61d]))(var148, var149); /* file= on <var148:Location>*/
+((void(*)(val* self, val* p0))(var148->class->vft[COLOR_nitc__location__Location__file_61d]))(var148, var149); /* file= on <var148:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var148->class->vft[COLOR_nit__location__Location__line_start_61d]))(var148, var152); /* line_start= on <var148:Location>*/
+((void(*)(val* self, long p0))(var148->class->vft[COLOR_nitc__location__Location__line_start_61d]))(var148, var152); /* line_start= on <var148:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var148->class->vft[COLOR_nit__location__Location__line_end_61d]))(var148, var155); /* line_end= on <var148:Location>*/
+((void(*)(val* self, long p0))(var148->class->vft[COLOR_nitc__location__Location__line_end_61d]))(var148, var155); /* line_end= on <var148:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var148->class->vft[COLOR_nit__location__Location__column_start_61d]))(var148, var158); /* column_start= on <var148:Location>*/
+((void(*)(val* self, long p0))(var148->class->vft[COLOR_nitc__location__Location__column_start_61d]))(var148, var158); /* column_start= on <var148:Location>*/
 }
 {
-((void(*)(val* self, long p0))(var148->class->vft[COLOR_nit__location__Location__column_end_61d]))(var148, var161); /* column_end= on <var148:Location>*/
+((void(*)(val* self, long p0))(var148->class->vft[COLOR_nitc__location__Location__column_end_61d]))(var148, var161); /* column_end= on <var148:Location>*/
 }
 {
-((void(*)(val* self))(var148->class->vft[COLOR_standard__kernel__Object__init]))(var148); /* init on <var148:Location>*/
+((void(*)(val* self))(var148->class->vft[COLOR_core__kernel__Object__init]))(var148); /* init on <var148:Location>*/
 }
 var_loc164 = var148;
-var165 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var165 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var165 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 265);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 265);
 fatal_exit(1);
 }
 var_166 = var165;
 {
-var167 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_166);
+var167 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_166);
 }
 var_168 = var167;
 for(;;) {
 {
-var169 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_168);
+var169 = ((short int(*)(val* self))((((long)var_168&3)?class_info[((long)var_168&3)]:var_168->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_168); /* is_ok on <var_168:IndexedIterator[Prod]>*/
 }
 if (var169){
+} else {
+goto BREAK_label170;
+}
 {
-var170 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_168);
+var171 = ((val*(*)(val* self))((((long)var_168&3)?class_info[((long)var_168&3)]:var_168->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_168); /* item on <var_168:IndexedIterator[Prod]>*/
 }
-var_no171 = var170;
+var_no172 = var171;
 {
-{ /* Inline parser_nodes#ANode#location= (var_no171,var_loc164) on <var_no171:Prod> */
-var_no171->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_loc164; /* _location on <var_no171:Prod> */
-RET_LABEL172:(void)0;
+{ /* Inline parser_nodes#ANode#location= (var_no172,var_loc164) on <var_no172:Prod> */
+var_no172->attrs[COLOR_nitc__parser_nodes__ANode___location].val = var_loc164; /* _location on <var_no172:Prod> */
+RET_LABEL173:(void)0;
 }
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_168); /* Direct call array#ArrayIterator#next on <var_168:ArrayIterator[Prod]>*/
-}
-} else {
-goto BREAK_label173;
+((void(*)(val* self))((((long)var_168&3)?class_info[((long)var_168&3)]:var_168->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_168); /* next on <var_168:IndexedIterator[Prod]>*/
 }
 }
-BREAK_label173: (void)0;
+BREAK_label170: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_168); /* Direct call array#ArrayIterator#finish on <var_168:ArrayIterator[Prod]>*/
+((void(*)(val* self))((((long)var_168&3)?class_info[((long)var_168&3)]:var_168->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_168); /* finish on <var_168:IndexedIterator[Prod]>*/
 }
-var174 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var174 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var174 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 269);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 269);
 fatal_exit(1);
 }
 {
-standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var174); /* Direct call array#AbstractArray#clear on <var174:Array[Prod]>*/
+core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var174); /* Direct call array#AbstractArray#clear on <var174:Array[Prod]>*/
 }
 } else {
 }
 } else {
-var175 = self->attrs[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
+var175 = self->attrs[COLOR_nitc__parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
 if (unlikely(var175 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work, 273);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 273);
 fatal_exit(1);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var175, var_n); /* Direct call array#Array#add on <var175:Array[Prod]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var175, var_n); /* Direct call array#Array#add on <var175:Array[Prod]>*/
 }
 }
 }
 RET_LABEL:;
 }
 /* method parser_work#ComputeProdLocationVisitor#init for (self: ComputeProdLocationVisitor) */
-void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___standard__kernel__Object__init(val* self) {
+void nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___core__kernel__Object__init(val* self) {
 {
-((void(*)(val* self))(self->class->vft[COLOR_nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___standard__kernel__Object__init]))(self); /* init on <self:ComputeProdLocationVisitor>*/
+((void(*)(val* self))(self->class->vft[COLOR_nitc__parser_work___nitc__parser_work__ComputeProdLocationVisitor___core__kernel__Object__init]))(self); /* init on <self:ComputeProdLocationVisitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_work#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
-val* nit__parser_work___nit__parser_work__TextCollectorVisitor___text(val* self) {
+val* nitc__parser_work___nitc__parser_work__TextCollectorVisitor___text(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <self:TextCollectorVisitor> */
+var1 = self->attrs[COLOR_nitc__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", FILE_nit__parser_work, 281);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 281);
 fatal_exit(1);
 }
 var = var1;
@@ -2241,12 +2261,12 @@ RET_LABEL:;
 return var;
 }
 /* method parser_work#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
-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> */
+void nitc__parser_work___nitc__parser_work__TextCollectorVisitor___text_61d(val* self, val* p0) {
+self->attrs[COLOR_nitc__parser_work__TextCollectorVisitor___text].val = p0; /* _text on <self:TextCollectorVisitor> */
 RET_LABEL:;
 }
 /* method parser_work#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
-void nit__parser_work___nit__parser_work__TextCollectorVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
+void nitc__parser_work___nitc__parser_work__TextCollectorVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
 val* var_n /* var n: ANode */;
 short int var /* : Bool */;
 int cltype;
@@ -2258,8 +2278,8 @@ val* var4 /* : String */;
 val* var5 /* : String */;
 var_n = p0;
 /* <var_n:ANode> isa Token */
-cltype = type_nit__Token.color;
-idtype = type_nit__Token.id;
+cltype = type_nitc__Token.color;
+idtype = type_nitc__Token.id;
 if(cltype >= var_n->type->table_size) {
 var = 0;
 } else {
@@ -2269,10 +2289,10 @@ if (var){
 var_ = self;
 {
 { /* Inline parser_work#TextCollectorVisitor#text (var_) on <var_:TextCollectorVisitor> */
-var3 = var_->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val; /* _text on <var_:TextCollectorVisitor> */
+var3 = var_->attrs[COLOR_nitc__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", FILE_nit__parser_work, 281);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_work, 281);
 fatal_exit(1);
 }
 var1 = var3;
@@ -2280,26 +2300,26 @@ RET_LABEL2:(void)0;
 }
 }
 {
-var4 = nit__lexer_work___Token___text(var_n);
+var4 = nitc__lexer_work___Token___text(var_n);
 }
 {
-var5 = ((val*(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__String___43d]))(var1, var4); /* + on <var1:String>*/
+var5 = ((val*(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_text__String___43d]))(var1, var4); /* + on <var1:String>*/
 }
 {
 { /* Inline parser_work#TextCollectorVisitor#text= (var_,var5) on <var_:TextCollectorVisitor> */
-var_->attrs[COLOR_nit__parser_work__TextCollectorVisitor___text].val = var5; /* _text on <var_:TextCollectorVisitor> */
+var_->attrs[COLOR_nitc__parser_work__TextCollectorVisitor___text].val = var5; /* _text on <var_:TextCollectorVisitor> */
 RET_LABEL6:(void)0;
 }
 }
 } else {
 }
 {
-((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>*/
+((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nitc__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on <var_n:ANode>*/
 }
 RET_LABEL:;
 }
 /* method parser_work#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
-val* nit__parser_work___nit__parser_work__ReduceAction___concat(val* self, val* p0, val* p1) {
+val* nitc__parser_work___nitc__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] */;
@@ -2307,7 +2327,7 @@ short int var1 /* : Bool */;
 var_l1 = p0;
 var_l2 = p1;
 {
-var1 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_l1);
+var1 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_l1);
 }
 if (var1){
 var = var_l2;
@@ -2315,7 +2335,7 @@ goto RET_LABEL;
 } else {
 }
 {
-standard___standard__Sequence___append(var_l1, var_l2); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
+core___core__Sequence___append(var_l1, var_l2); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
 }
 var = var_l1;
 goto RET_LABEL;
@@ -2323,14 +2343,163 @@ RET_LABEL:;
 return var;
 }
 /* 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> */
+void nitc__parser_work___nitc__parser_work__ReduceAction___goto_61d(val* self, long p0) {
+self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l = p0; /* _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 nitc__parser_work___nitc__parser_work__ReduceAction___core__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>*/
+((void(*)(val* self))(self->class->vft[COLOR_nitc__parser_work___nitc__parser_work__ReduceAction___core__kernel__Object__init]))(self); /* init on <self:ReduceAction>*/
 }
 RET_LABEL:;
 }
+/* method parser_work#AExpr#as_id for (self: AExpr): nullable String */
+val* nitc__parser_work___AExpr___as_id(val* self) {
+val* var /* : nullable String */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+val* var2 /* : String */;
+short int var3 /* : Bool */;
+int cltype4;
+int idtype5;
+short int var6 /* : Bool */;
+val* var7 /* : AExpr */;
+val* var9 /* : AExpr */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+short int var13 /* : Bool */;
+val* var14 /* : AExprs */;
+val* var16 /* : AExprs */;
+val* var17 /* : ANodes[AExpr] */;
+val* var19 /* : ANodes[AExpr] */;
+short int var20 /* : Bool */;
+short int var21 /* : Bool */;
+val* var22 /* : AQid */;
+val* var24 /* : AQid */;
+val* var25 /* : TId */;
+val* var27 /* : TId */;
+val* var28 /* : String */;
+/* <self:AExpr> isa AMethidExpr */
+cltype = type_nitc__AMethidExpr.color;
+idtype = type_nitc__AMethidExpr.id;
+if(cltype >= self->type->table_size) {
+var1 = 0;
+} else {
+var1 = self->type->type_table[cltype] == idtype;
+}
+if (var1){
+{
+var2 = nitc__parser_work___Prod___collect_text(self);
+}
+var = var2;
+goto RET_LABEL;
+} else {
+}
+/* <self:AExpr> isa ACallExpr */
+cltype4 = type_nitc__ACallExpr.color;
+idtype5 = type_nitc__ACallExpr.id;
+if(cltype4 >= self->type->table_size) {
+var3 = 0;
+} else {
+var3 = self->type->type_table[cltype4] == idtype5;
+}
+var6 = !var3;
+if (var6){
+var = ((val*)NULL);
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:AExpr(ACallExpr)> */
+var9 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AExpr(ACallExpr)> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2022);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+/* <var7:AExpr> isa AImplicitSelfExpr */
+cltype11 = type_nitc__AImplicitSelfExpr.color;
+idtype12 = type_nitc__AImplicitSelfExpr.id;
+if(cltype11 >= var7->type->table_size) {
+var10 = 0;
+} else {
+var10 = var7->type->type_table[cltype11] == idtype12;
+}
+var13 = !var10;
+if (var13){
+var = ((val*)NULL);
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:AExpr(ACallExpr)> */
+var16 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:AExpr(ACallExpr)> */
+if (unlikely(var16 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2299);
+fatal_exit(1);
+}
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#AExprs#n_exprs (var14) on <var14:AExprs> */
+var19 = var14->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var14:AExprs> */
+if (unlikely(var19 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2709);
+fatal_exit(1);
+}
+var17 = var19;
+RET_LABEL18:(void)0;
+}
+}
+{
+var20 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var17);
+}
+var21 = !var20;
+if (var21){
+var = ((val*)NULL);
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline parser_nodes#ACallFormExpr#n_qid (self) on <self:AExpr(ACallExpr)> */
+var24 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:AExpr(ACallExpr)> */
+if (unlikely(var24 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2296);
+fatal_exit(1);
+}
+var22 = var24;
+RET_LABEL23:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#AQid#n_id (var22) on <var22:AQid> */
+var27 = var22->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var22:AQid> */
+if (unlikely(var27 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1658);
+fatal_exit(1);
+}
+var25 = var27;
+RET_LABEL26:(void)0;
+}
+}
+{
+var28 = nitc__lexer_work___Token___text(var25);
+}
+var = var28;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}