c_src: regenerate
[nit.git] / c_src / nitc__parser_prod.sep.3.c
similarity index 58%
rename from c_src/nit__parser_prod.sep.3.c
rename to c_src/nitc__parser_prod.sep.3.c
index c85fb3c..cdafa87 100644 (file)
-#include "nit__parser_prod.sep.0.h"
+#include "nitc__parser_prod.sep.0.h"
+/* method parser_prod#AIfExpr#visit_all for (self: AIfExpr, Visitor) */
+void nitc__parser_prod___AIfExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
+val* var_v /* var v: Visitor */;
+val* var /* : TKwif */;
+val* var1 /* : AExpr */;
+val* var2 /* : TKwthen */;
+val* var3 /* : nullable AExpr */;
+val* var4 /* : nullable TKwelse */;
+val* var5 /* : nullable AExpr */;
+var_v = p0;
+var = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on <self:AIfExpr> */
+if (unlikely(var == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2994);
+fatal_exit(1);
+}
+{
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var1 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2995);
+fatal_exit(1);
+}
+{
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var2 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val; /* _n_kwthen on <self:AIfExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 2996);
+fatal_exit(1);
+}
+{
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var3 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val; /* _n_then on <self:AIfExpr> */
+{
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var4 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val; /* _n_kwelse on <self:AIfExpr> */
+{
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+var5 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val; /* _n_else on <self:AIfExpr> */
+{
+nitc___nitc__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+}
+RET_LABEL:;
+}
+/* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
+void nitc__parser_prod___AIfexprExpr___init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
+val* var_n_kwif /* var n_kwif: nullable TKwif */;
+val* var_n_expr /* var n_expr: nullable AExpr */;
+val* var_n_kwthen /* var n_kwthen: nullable TKwthen */;
+val* var_n_then /* var n_then: nullable AExpr */;
+val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
+val* var_n_else /* var n_else: nullable AExpr */;
+{
+{ /* Inline kernel#Object#init (self) on <self:AIfexprExpr> */
+RET_LABEL1:(void)0;
+}
+}
+var_n_kwif = p0;
+var_n_expr = p1;
+var_n_kwthen = p2;
+var_n_then = p3;
+var_n_kwelse = p4;
+var_n_else = p5;
+if (unlikely(var_n_kwif == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3012);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwif].val = var_n_kwif; /* _n_kwif on <self:AIfexprExpr> */
+if (var_n_kwif == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3013);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on <var_n_kwif:nullable TKwif> */
+if (unlikely(var_n_kwif == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_kwif->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwif:nullable TKwif> */
+RET_LABEL2:(void)0;
+}
+}
+if (unlikely(var_n_expr == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3014);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIfexprExpr> */
+if (var_n_expr == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3015);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
+if (unlikely(var_n_expr == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+RET_LABEL3:(void)0;
+}
+}
+if (unlikely(var_n_kwthen == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3016);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on <self:AIfexprExpr> */
+if (var_n_kwthen == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3017);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_kwthen,self) on <var_n_kwthen:nullable TKwthen> */
+if (unlikely(var_n_kwthen == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_kwthen->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwthen:nullable TKwthen> */
+RET_LABEL4:(void)0;
+}
+}
+if (unlikely(var_n_then == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3018);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_then].val = var_n_then; /* _n_then on <self:AIfexprExpr> */
+if (var_n_then == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3019);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_then,self) on <var_n_then:nullable AExpr> */
+if (unlikely(var_n_then == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_then->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_then:nullable AExpr> */
+RET_LABEL5:(void)0;
+}
+}
+if (unlikely(var_n_kwelse == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3020);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AIfexprExpr> */
+if (var_n_kwelse == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3021);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse> */
+if (unlikely(var_n_kwelse == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_kwelse->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse> */
+RET_LABEL6:(void)0;
+}
+}
+if (unlikely(var_n_else == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3022);
+fatal_exit(1);
+}
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_else].val = var_n_else; /* _n_else on <self:AIfexprExpr> */
+if (var_n_else == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3023);
+fatal_exit(1);
+} else {
+{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr> */
+if (unlikely(var_n_else == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
+fatal_exit(1);
+}
+var_n_else->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr> */
+RET_LABEL7:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AIfexprExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+val* var_old_child /* var old_child: ANode */;
+val* var_new_child /* var new_child: nullable ANode */;
+val* var /* : TKwif */;
+short int var1 /* : Bool */;
+val* var_other /* var other: nullable Object */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+short int var6 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+val* var7 /* : AExpr */;
+short int var8 /* : Bool */;
+short int var10 /* : Bool */;
+short int var12 /* : Bool */;
+short int var13 /* : Bool */;
+int cltype14;
+int idtype15;
+const char* var_class_name16;
+val* var17 /* : TKwthen */;
+short int var18 /* : Bool */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+short int var23 /* : Bool */;
+int cltype24;
+int idtype25;
+const char* var_class_name26;
+val* var27 /* : AExpr */;
+short int var28 /* : Bool */;
+short int var30 /* : Bool */;
+short int var32 /* : Bool */;
+short int var33 /* : Bool */;
+int cltype34;
+int idtype35;
+const char* var_class_name36;
+val* var37 /* : TKwelse */;
+short int var38 /* : Bool */;
+short int var40 /* : Bool */;
+short int var42 /* : Bool */;
+short int var43 /* : Bool */;
+int cltype44;
+int idtype45;
+const char* var_class_name46;
+val* var47 /* : AExpr */;
+short int var48 /* : Bool */;
+short int var50 /* : Bool */;
+short int var52 /* : Bool */;
+short int var53 /* : Bool */;
+int cltype54;
+int idtype55;
+const char* var_class_name56;
+var_old_child = p0;
+var_new_child = p1;
+var = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
+if (unlikely(var == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3028);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwif> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwif> */
+var5 = var == var_other;
+var3 = var5;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+}
+var1 = var3;
+goto RET_LABEL2;
+RET_LABEL2:(void)0;
+}
+}
+if (var1){
+/* <var_new_child:nullable ANode> isa TKwif */
+cltype = type_nitc__TKwif.color;
+idtype = type_nitc__TKwif.id;
+if(var_new_child == NULL) {
+var6 = 0;
+} else {
+if(cltype >= var_new_child->type->table_size) {
+var6 = 0;
+} else {
+var6 = var_new_child->type->type_table[cltype] == idtype;
+}
+}
+if (unlikely(!var6)) {
+var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3029);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwif= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+var7 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
+if (unlikely(var7 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3032);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
+var12 = var7 == var_other;
+var10 = var12;
+goto RET_LABEL11;
+RET_LABEL11:(void)0;
+}
+}
+var8 = var10;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
+}
+}
+if (var8){
+/* <var_new_child:nullable ANode> isa AExpr */
+cltype14 = type_nitc__AExpr.color;
+idtype15 = type_nitc__AExpr.id;
+if(var_new_child == NULL) {
+var13 = 0;
+} else {
+if(cltype14 >= var_new_child->type->table_size) {
+var13 = 0;
+} else {
+var13 = var_new_child->type->type_table[cltype14] == idtype15;
+}
+}
+if (unlikely(!var13)) {
+var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3033);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_expr= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+var17 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3036);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwthen> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwthen> */
+var22 = var17 == var_other;
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+var18 = var20;
+goto RET_LABEL19;
+RET_LABEL19:(void)0;
+}
+}
+if (var18){
+/* <var_new_child:nullable ANode> isa TKwthen */
+cltype24 = type_nitc__TKwthen.color;
+idtype25 = type_nitc__TKwthen.id;
+if(var_new_child == NULL) {
+var23 = 0;
+} else {
+if(cltype24 >= var_new_child->type->table_size) {
+var23 = 0;
+} else {
+var23 = var_new_child->type->type_table[cltype24] == idtype25;
+}
+}
+if (unlikely(!var23)) {
+var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwthen", var_class_name26);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3037);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_kwthen_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+var27 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
+if (unlikely(var27 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3040);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
+var32 = var27 == var_other;
+var30 = var32;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
+}
+}
+var28 = var30;
+goto RET_LABEL29;
+RET_LABEL29:(void)0;
+}
+}
+if (var28){
+/* <var_new_child:nullable ANode> isa AExpr */
+cltype34 = type_nitc__AExpr.color;
+idtype35 = type_nitc__AExpr.id;
+if(var_new_child == NULL) {
+var33 = 0;
+} else {
+if(cltype34 >= var_new_child->type->table_size) {
+var33 = 0;
+} else {
+var33 = var_new_child->type->type_table[cltype34] == idtype35;
+}
+}
+if (unlikely(!var33)) {
+var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3041);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_then= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+var37 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
+if (unlikely(var37 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3044);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var37,var_old_child) on <var37:TKwelse> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var37,var_other) on <var37:TKwelse> */
+var42 = var37 == var_other;
+var40 = var42;
+goto RET_LABEL41;
+RET_LABEL41:(void)0;
+}
+}
+var38 = var40;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+}
+if (var38){
+/* <var_new_child:nullable ANode> isa TKwelse */
+cltype44 = type_nitc__TKwelse.color;
+idtype45 = type_nitc__TKwelse.id;
+if(var_new_child == NULL) {
+var43 = 0;
+} else {
+if(cltype44 >= var_new_child->type->table_size) {
+var43 = 0;
+} else {
+var43 = var_new_child->type->type_table[cltype44] == idtype45;
+}
+}
+if (unlikely(!var43)) {
+var_class_name46 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwelse", var_class_name46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3045);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+var47 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
+if (unlikely(var47 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3048);
+fatal_exit(1);
+}
+{
+{ /* Inline kernel#Object#== (var47,var_old_child) on <var47:AExpr> */
+var_other = var_old_child;
+{
+{ /* Inline kernel#Object#is_same_instance (var47,var_other) on <var47:AExpr> */
+var52 = var47 == var_other;
+var50 = var52;
+goto RET_LABEL51;
+RET_LABEL51:(void)0;
+}
+}
+var48 = var50;
+goto RET_LABEL49;
+RET_LABEL49:(void)0;
+}
+}
+if (var48){
+/* <var_new_child:nullable ANode> isa AExpr */
+cltype54 = type_nitc__AExpr.color;
+idtype55 = type_nitc__AExpr.id;
+if(var_new_child == NULL) {
+var53 = 0;
+} else {
+if(cltype54 >= var_new_child->type->table_size) {
+var53 = 0;
+} else {
+var53 = var_new_child->type->type_table[cltype54] == idtype55;
+}
+}
+if (unlikely(!var53)) {
+var_class_name56 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name56);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3049);
+fatal_exit(1);
+}
+{
+nitc__parser_prod___AIfexprExpr___n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_else= on <self:AIfexprExpr>*/
+}
+goto RET_LABEL;
+} else {
+}
+RET_LABEL:;
+}
 /* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
-void nit__parser_prod___AIfexprExpr___n_kwif_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_kwif_61d(val* self, val* p0) {
 val* var_node /* var node: TKwif */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwif> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwif> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwif> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
-void nit__parser_prod___AIfexprExpr___n_kwthen_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_kwthen_61d(val* self, val* p0) {
 val* var_node /* var node: TKwthen */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwthen> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwthen> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwthen> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_then_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_then_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
-void nit__parser_prod___AIfexprExpr___n_kwelse_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_kwelse_61d(val* self, val* p0) {
 val* var_node /* var node: TKwelse */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwelse> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_else_61d(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___n_else_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
-void nit__parser_prod___AIfexprExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AIfexprExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwif */;
 val* var1 /* : AExpr */;
@@ -87,64 +624,64 @@ val* var3 /* : AExpr */;
 val* var4 /* : TKwelse */;
 val* var5 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3004);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3088);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3005);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3089);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3006);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3090);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var3 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3007);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3091);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var4 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
 if (unlikely(var4 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3008);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3092);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var5 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
+var5 = self->attrs[COLOR_nitc__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
 if (unlikely(var5 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3009);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3093);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AWhileExpr___init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
+void nitc__parser_prod___AWhileExpr___init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
 val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */;
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
@@ -171,68 +708,68 @@ var_n_block = p3;
 var_n_label = p4;
 if (unlikely(var_n_kwwhile == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3021);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3105);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
 if (var_n_kwwhile == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3022);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3106);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwwhile,self) on <var_n_kwwhile:nullable TKwwhile> */
 if (unlikely(var_n_kwwhile == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwwhile->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwhile:nullable TKwwhile> */
+var_n_kwwhile->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwhile:nullable TKwwhile> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3023);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3107);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3024);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3108);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3025);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3109);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
 if (var_n_kwdo == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3026);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3110);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
+var_n_kwdo->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
 RET_LABEL4:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
 if (var_n_block == NULL) {
 var = 0; /* is null */
 } else {
@@ -242,7 +779,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
+var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
 }
 var8 = !var7;
 var5 = var8;
@@ -254,13 +791,13 @@ var = var5;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
+var_n_block->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
 RET_LABEL9:(void)0;
 }
 }
 } else {
 }
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
 if (var_n_label == NULL) {
 var10 = 0; /* is null */
 } else {
@@ -270,7 +807,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
+var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
 }
 var14 = !var13;
 var11 = var14;
@@ -282,7 +819,7 @@ var10 = var11;
 if (var10){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
+var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
 RET_LABEL15:(void)0;
 }
 }
@@ -291,7 +828,7 @@ RET_LABEL15:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AWhileExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwwhile */;
@@ -339,10 +876,10 @@ int idtype47;
 const char* var_class_name48;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3035);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3119);
 fatal_exit(1);
 }
 {
@@ -363,8 +900,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwwhile */
-cltype = type_nit__TKwwhile.color;
-idtype = type_nit__TKwwhile.id;
+cltype = type_nitc__TKwwhile.color;
+idtype = type_nitc__TKwwhile.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -377,19 +914,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwhile", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3036);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3120);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWhileExpr___n_kwwhile_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on <self:AWhileExpr>*/
+nitc__parser_prod___AWhileExpr___n_kwwhile_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on <self:AWhileExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3039);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3123);
 fatal_exit(1);
 }
 {
@@ -410,8 +947,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
+cltype14 = type_nitc__AExpr.color;
+idtype15 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -424,19 +961,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3040);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3124);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWhileExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_expr= on <self:AWhileExpr>*/
+nitc__parser_prod___AWhileExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_expr= on <self:AWhileExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3043);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3127);
 fatal_exit(1);
 }
 {
@@ -457,8 +994,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa TKwdo */
-cltype24 = type_nit__TKwdo.color;
-idtype25 = type_nit__TKwdo.id;
+cltype24 = type_nitc__TKwdo.color;
+idtype25 = type_nitc__TKwdo.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -471,16 +1008,16 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3044);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3128);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWhileExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwdo= on <self:AWhileExpr>*/
+nitc__parser_prod___AWhileExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwdo= on <self:AWhileExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var27 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
+var27 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
 if (var27 == NULL) {
 var28 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -502,8 +1039,8 @@ var28 = var29;
 }
 if (var28){
 /* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype35 = type_nullable__nit__AExpr.color;
-idtype36 = type_nullable__nit__AExpr.id;
+cltype35 = type_nullable__nitc__AExpr.color;
+idtype36 = type_nullable__nitc__AExpr.id;
 if(var_new_child == NULL) {
 var34 = 1;
 } else {
@@ -516,16 +1053,16 @@ var34 = var_new_child->type->type_table[cltype35] == idtype36;
 if (unlikely(!var34)) {
 var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3048);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3132);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWhileExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_block= on <self:AWhileExpr>*/
+nitc__parser_prod___AWhileExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_block= on <self:AWhileExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var38 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
+var38 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
 if (var38 == NULL) {
 var39 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -547,8 +1084,8 @@ var39 = var40;
 }
 if (var39){
 /* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype46 = type_nullable__nit__ALabel.color;
-idtype47 = type_nullable__nit__ALabel.id;
+cltype46 = type_nullable__nitc__ALabel.color;
+idtype47 = type_nullable__nitc__ALabel.id;
 if(var_new_child == NULL) {
 var45 = 1;
 } else {
@@ -561,11 +1098,11 @@ var45 = var_new_child->type->type_table[cltype46] == idtype47;
 if (unlikely(!var45)) {
 var_class_name48 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3052);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3136);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWhileExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_label= on <self:AWhileExpr>*/
+nitc__parser_prod___AWhileExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_label= on <self:AWhileExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -573,46 +1110,46 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
-void nit__parser_prod___AWhileExpr___n_kwwhile_61d(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___n_kwwhile_61d(val* self, val* p0) {
 val* var_node /* var node: TKwwhile */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwwhile> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwhile> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwhile> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
-void nit__parser_prod___AWhileExpr___n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
-void nit__parser_prod___AWhileExpr___n_kwdo_61d(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___n_kwdo_61d(val* self, val* p0) {
 val* var_node /* var node: TKwdo */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
-void nit__parser_prod___AWhileExpr___n_block_61d(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___n_block_61d(val* self, val* p0) {
 val* var_node /* var node: nullable AExpr */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -620,7 +1157,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -630,7 +1167,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -642,7 +1179,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -651,7 +1188,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
 val* var_node /* var node: nullable ALabel */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -659,7 +1196,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -669,7 +1206,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -681,7 +1218,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -690,7 +1227,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AWhileExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwwhile */;
 val* var1 /* : AExpr */;
@@ -698,45 +1235,45 @@ val* var2 /* : TKwdo */;
 val* var3 /* : nullable AExpr */;
 val* var4 /* : nullable ALabel */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3086);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3170);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3087);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3171);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3088);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3172);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var3 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var4 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___ALoopExpr___init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
+void nitc__parser_prod___ALoopExpr___init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_kwloop /* var n_kwloop: nullable TKwloop */;
 val* var_n_block /* var n_block: nullable AExpr */;
 val* var_n_label /* var n_label: nullable ALabel */;
@@ -759,26 +1296,26 @@ var_n_block = p1;
 var_n_label = p2;
 if (unlikely(var_n_kwloop == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3100);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3184);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
 if (var_n_kwloop == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3101);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3185);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwloop,self) on <var_n_kwloop:nullable TKwloop> */
 if (unlikely(var_n_kwloop == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwloop->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwloop:nullable TKwloop> */
+var_n_kwloop->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwloop:nullable TKwloop> */
 RET_LABEL2:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
 if (var_n_block == NULL) {
 var = 0; /* is null */
 } else {
@@ -788,7 +1325,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var5 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
+var5 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
 }
 var6 = !var5;
 var3 = var6;
@@ -800,13 +1337,13 @@ var = var3;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
+var_n_block->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
 RET_LABEL7:(void)0;
 }
 }
 } else {
 }
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
 if (var_n_label == NULL) {
 var8 = 0; /* is null */
 } else {
@@ -816,7 +1353,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var11 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
+var11 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
 }
 var12 = !var11;
 var9 = var12;
@@ -828,7 +1365,7 @@ var8 = var9;
 if (var8){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
+var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
 RET_LABEL13:(void)0;
 }
 }
@@ -837,7 +1374,7 @@ RET_LABEL13:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___ALoopExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwloop */;
@@ -869,10 +1406,10 @@ int idtype27;
 const char* var_class_name28;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3110);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3194);
 fatal_exit(1);
 }
 {
@@ -893,8 +1430,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwloop */
-cltype = type_nit__TKwloop.color;
-idtype = type_nit__TKwloop.id;
+cltype = type_nitc__TKwloop.color;
+idtype = type_nitc__TKwloop.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -907,16 +1444,16 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwloop", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3111);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3195);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALoopExpr___n_kwloop_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_kwloop= on <self:ALoopExpr>*/
+nitc__parser_prod___ALoopExpr___n_kwloop_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_kwloop= on <self:ALoopExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
 if (var7 == NULL) {
 var8 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -938,8 +1475,8 @@ var8 = var9;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype15 = type_nullable__nit__AExpr.color;
-idtype16 = type_nullable__nit__AExpr.id;
+cltype15 = type_nullable__nitc__AExpr.color;
+idtype16 = type_nullable__nitc__AExpr.id;
 if(var_new_child == NULL) {
 var14 = 1;
 } else {
@@ -952,16 +1489,16 @@ var14 = var_new_child->type->type_table[cltype15] == idtype16;
 if (unlikely(!var14)) {
 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3115);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3199);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALoopExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
+nitc__parser_prod___ALoopExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var18 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
+var18 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
 if (var18 == NULL) {
 var19 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -983,8 +1520,8 @@ var19 = var20;
 }
 if (var19){
 /* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype26 = type_nullable__nit__ALabel.color;
-idtype27 = type_nullable__nit__ALabel.id;
+cltype26 = type_nullable__nitc__ALabel.color;
+idtype27 = type_nullable__nitc__ALabel.id;
 if(var_new_child == NULL) {
 var25 = 1;
 } else {
@@ -997,11 +1534,11 @@ var25 = var_new_child->type->type_table[cltype26] == idtype27;
 if (unlikely(!var25)) {
 var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name28);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3119);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3203);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALoopExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_label= on <self:ALoopExpr>*/
+nitc__parser_prod___ALoopExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_label= on <self:ALoopExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -1009,20 +1546,20 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
-void nit__parser_prod___ALoopExpr___n_kwloop_61d(val* self, val* p0) {
+void nitc__parser_prod___ALoopExpr___n_kwloop_61d(val* self, val* p0) {
 val* var_node /* var node: TKwloop */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwloop> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwloop> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwloop> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
-void nit__parser_prod___ALoopExpr___n_block_61d(val* self, val* p0) {
+void nitc__parser_prod___ALoopExpr___n_block_61d(val* self, val* p0) {
 val* var_node /* var node: nullable AExpr */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -1030,7 +1567,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -1040,7 +1577,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -1052,7 +1589,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -1061,7 +1598,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
+void nitc__parser_prod___ALoopExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
 val* var_node /* var node: nullable ALabel */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -1069,7 +1606,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -1079,7 +1616,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -1091,7 +1628,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -1100,90 +1637,86 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___ALoopExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwloop */;
 val* var1 /* : nullable AExpr */;
 val* var2 /* : nullable ALabel */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3227);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable TKwin, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AForExpr___init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
+/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable TKwdo, nullable AExpr, nullable ALabel) */
+void nitc__parser_prod___AForExpr___init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
 val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
-val* var_n_ids /* var n_ids: Collection[Object] */;
-val* var_n_kwin /* var n_kwin: nullable TKwin */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
+val* var_n_groups /* var n_groups: Collection[Object] */;
 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
 val* var_n_block /* var n_block: nullable AExpr */;
 val* var_n_label /* var n_label: nullable ALabel */;
-val* var /* : ANodes[TId] */;
-val* var4 /* : ANodes[TId] */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
+val* var /* : ANodes[AForGroup] */;
+val* var4 /* : ANodes[AForGroup] */;
+short int var6 /* : Bool */;
+short int var7 /* : Bool */;
 val* var_other /* var other: nullable Object */;
-short int var11 /* : Bool */;
+short int var9 /* : Bool */;
+short int var10 /* : Bool */;
 short int var12 /* : Bool */;
-short int var14 /* : Bool */;
+short int var13 /* : Bool */;
 short int var15 /* : Bool */;
-short int var17 /* : Bool */;
-short int var18 /* : Bool */;
+short int var16 /* : Bool */;
 {
 { /* Inline kernel#Object#init (self) on <self:AForExpr> */
 RET_LABEL1:(void)0;
 }
 }
 var_n_kwfor = p0;
-var_n_ids = p1;
-var_n_kwin = p2;
-var_n_expr = p3;
-var_n_kwdo = p4;
-var_n_block = p5;
-var_n_label = p6;
+var_n_groups = p1;
+var_n_kwdo = p2;
+var_n_block = p3;
+var_n_label = p4;
 if (unlikely(var_n_kwfor == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3159);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3241);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
 if (var_n_kwfor == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3160);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3242);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwfor,self) on <var_n_kwfor:nullable TKwfor> */
 if (unlikely(var_n_kwfor == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwfor->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwfor:nullable TKwfor> */
+var_n_kwfor->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwfor:nullable TKwfor> */
 RET_LABEL2:(void)0;
 }
 }
 {
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var4 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
+{ /* Inline parser_nodes#AForExpr#n_groups (self) on <self:AForExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on <self:AForExpr> */
 if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1934);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1920);
 fatal_exit(1);
 }
 var = var4;
@@ -1191,123 +1724,81 @@ RET_LABEL3:(void)0;
 }
 }
 {
-nit___nit__ANodes___unsafe_add_all(var, var_n_ids); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TId]>*/
-}
-if (unlikely(var_n_kwin == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3162);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val = var_n_kwin; /* _n_kwin on <self:AForExpr> */
-if (var_n_kwin == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3163);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwin,self) on <var_n_kwin:nullable TKwin> */
-if (unlikely(var_n_kwin == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwin->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwin:nullable TKwin> */
-RET_LABEL5:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3164);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AForExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3165);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL6:(void)0;
-}
+nitc___nitc__ANodes___unsafe_add_all(var, var_n_groups); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[AForGroup]>*/
 }
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3166);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3244);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
 if (var_n_kwdo == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3167);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3245);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
-RET_LABEL7:(void)0;
+var_n_kwdo->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
+RET_LABEL5:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
 if (var_n_block == NULL) {
-var8 = 0; /* is null */
+var6 = 0; /* is null */
 } else {
-var8 = 1; /* arg is null and recv is not */
+var6 = 1; /* arg is null and recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var11 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
+var9 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
 }
-var12 = !var11;
-var9 = var12;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
+var10 = !var9;
+var7 = var10;
+goto RET_LABEL8;
+RET_LABEL8:(void)0;
 }
-var8 = var9;
+var6 = var7;
 }
-if (var8){
+if (var6){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL13:(void)0;
+var_n_block->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
+RET_LABEL11:(void)0;
 }
 }
 } else {
 }
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
 if (var_n_label == NULL) {
-var14 = 0; /* is null */
+var12 = 0; /* is null */
 } else {
-var14 = 1; /* arg is null and recv is not */
+var12 = 1; /* arg is null and recv is not */
 }
 if (0) {
 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var17 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
+var15 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
 }
-var18 = !var17;
-var15 = var18;
-goto RET_LABEL16;
-RET_LABEL16:(void)0;
+var16 = !var15;
+var13 = var16;
+goto RET_LABEL14;
+RET_LABEL14:(void)0;
 }
-var14 = var15;
+var12 = var13;
 }
-if (var14){
+if (var12){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL19:(void)0;
+var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
+RET_LABEL17:(void)0;
 }
 }
 } else {
@@ -1315,7 +1806,7 @@ RET_LABEL19:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AForExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwfor */;
@@ -1327,10 +1818,10 @@ short int var6 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-val* var7 /* : ANodes[TId] */;
-val* var9 /* : ANodes[TId] */;
+val* var7 /* : ANodes[AForGroup] */;
+val* var9 /* : ANodes[AForGroup] */;
 short int var10 /* : Bool */;
-val* var11 /* : TKwin */;
+val* var11 /* : TKwdo */;
 short int var12 /* : Bool */;
 short int var14 /* : Bool */;
 short int var16 /* : Bool */;
@@ -1338,46 +1829,30 @@ short int var17 /* : Bool */;
 int cltype18;
 int idtype19;
 const char* var_class_name20;
-val* var21 /* : AExpr */;
+val* var21 /* : nullable AExpr */;
 short int var22 /* : Bool */;
-short int var24 /* : Bool */;
-short int var26 /* : Bool */;
+short int var23 /* : Bool */;
+short int var25 /* : Bool */;
 short int var27 /* : Bool */;
-int cltype28;
-int idtype29;
-const char* var_class_name30;
-val* var31 /* : TKwdo */;
-short int var32 /* : Bool */;
+short int var28 /* : Bool */;
+int cltype29;
+int idtype30;
+const char* var_class_name31;
+val* var32 /* : nullable ALabel */;
+short int var33 /* : Bool */;
 short int var34 /* : Bool */;
 short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-val* var41 /* : nullable AExpr */;
-short int var42 /* : Bool */;
-short int var43 /* : Bool */;
-short int var45 /* : Bool */;
-short int var47 /* : Bool */;
-short int var48 /* : Bool */;
-int cltype49;
-int idtype50;
-const char* var_class_name51;
-val* var52 /* : nullable ALabel */;
-short int var53 /* : Bool */;
-short int var54 /* : Bool */;
-short int var56 /* : Bool */;
-short int var58 /* : Bool */;
-short int var59 /* : Bool */;
-int cltype60;
-int idtype61;
-const char* var_class_name62;
+short int var38 /* : Bool */;
+short int var39 /* : Bool */;
+int cltype40;
+int idtype41;
+const char* var_class_name42;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3176);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3254);
 fatal_exit(1);
 }
 {
@@ -1398,8 +1873,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwfor */
-cltype = type_nit__TKwfor.color;
-idtype = type_nit__TKwfor.id;
+cltype = type_nitc__TKwfor.color;
+idtype = type_nitc__TKwfor.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -1412,21 +1887,21 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwfor", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3177);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3255);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AForExpr___n_kwfor_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:AForExpr>*/
+nitc__parser_prod___AForExpr___n_kwfor_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:AForExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 {
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var9 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
+{ /* Inline parser_nodes#AForExpr#n_groups (self) on <self:AForExpr> */
+var9 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on <self:AForExpr> */
 if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1934);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1920);
 fatal_exit(1);
 }
 var7 = var9;
@@ -1434,23 +1909,23 @@ RET_LABEL8:(void)0;
 }
 }
 {
-var10 = nit___nit__ANodes___replace_child(var7, var_old_child, var_new_child);
+var10 = nitc___nitc__ANodes___replace_child(var7, var_old_child, var_new_child);
 }
 if (var10){
 goto RET_LABEL;
 } else {
 }
-var11 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val; /* _n_kwin on <self:AForExpr> */
+var11 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
 if (unlikely(var11 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3181);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3259);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var11,var_old_child) on <var11:TKwin> */
+{ /* Inline kernel#Object#== (var11,var_old_child) on <var11:TKwdo> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var11,var_other) on <var11:TKwin> */
+{ /* Inline kernel#Object#is_same_instance (var11,var_other) on <var11:TKwdo> */
 var16 = var11 == var_other;
 var14 = var16;
 goto RET_LABEL15;
@@ -1463,210 +1938,116 @@ RET_LABEL13:(void)0;
 }
 }
 if (var12){
-/* <var_new_child:nullable ANode> isa TKwin */
-cltype18 = type_nit__TKwin.color;
-idtype19 = type_nit__TKwin.id;
-if(var_new_child == NULL) {
-var17 = 0;
-} else {
-if(cltype18 >= var_new_child->type->table_size) {
-var17 = 0;
-} else {
-var17 = var_new_child->type->type_table[cltype18] == idtype19;
-}
-}
-if (unlikely(!var17)) {
-var_class_name20 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwin", var_class_name20);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3182);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_kwin_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwin= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var21 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3185);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var21,var_old_child) on <var21:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:AExpr> */
-var26 = var21 == var_other;
-var24 = var26;
-goto RET_LABEL25;
-RET_LABEL25:(void)0;
-}
-}
-var22 = var24;
-goto RET_LABEL23;
-RET_LABEL23:(void)0;
-}
-}
-if (var22){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype28 = type_nit__AExpr.color;
-idtype29 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var27 = 0;
-} else {
-if(cltype28 >= var_new_child->type->table_size) {
-var27 = 0;
-} else {
-var27 = var_new_child->type->type_table[cltype28] == idtype29;
-}
-}
-if (unlikely(!var27)) {
-var_class_name30 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name30);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3186);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_expr= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var31 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var31 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3189);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var31,var_old_child) on <var31:TKwdo> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var31,var_other) on <var31:TKwdo> */
-var36 = var31 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-}
-if (var32){
 /* <var_new_child:nullable ANode> isa TKwdo */
-cltype38 = type_nit__TKwdo.color;
-idtype39 = type_nit__TKwdo.id;
+cltype18 = type_nitc__TKwdo.color;
+idtype19 = type_nitc__TKwdo.id;
 if(var_new_child == NULL) {
-var37 = 0;
+var17 = 0;
 } else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
+if(cltype18 >= var_new_child->type->table_size) {
+var17 = 0;
 } else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
+var17 = var_new_child->type->type_table[cltype18] == idtype19;
 }
 }
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3190);
+if (unlikely(!var17)) {
+var_class_name20 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name20);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3260);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AForExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:AForExpr>*/
+nitc__parser_prod___AForExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:AForExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var41 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-if (var41 == NULL) {
-var42 = 0; /* <var_old_child:ANode> cannot be null */
+var21 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
+if (var21 == NULL) {
+var22 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
-{ /* Inline kernel#Object#== (var41,var_old_child) on <var41:nullable AExpr> */
+{ /* Inline kernel#Object#== (var21,var_old_child) on <var21:nullable AExpr> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:nullable AExpr(AExpr)> */
-var47 = var41 == var_other;
-var45 = var47;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
+{ /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:nullable AExpr(AExpr)> */
+var27 = var21 == var_other;
+var25 = var27;
+goto RET_LABEL26;
+RET_LABEL26:(void)0;
 }
 }
-var43 = var45;
-goto RET_LABEL44;
-RET_LABEL44:(void)0;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
 }
-var42 = var43;
+var22 = var23;
 }
-if (var42){
+if (var22){
 /* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype49 = type_nullable__nit__AExpr.color;
-idtype50 = type_nullable__nit__AExpr.id;
+cltype29 = type_nullable__nitc__AExpr.color;
+idtype30 = type_nullable__nitc__AExpr.id;
 if(var_new_child == NULL) {
-var48 = 1;
+var28 = 1;
 } else {
-if(cltype49 >= var_new_child->type->table_size) {
-var48 = 0;
+if(cltype29 >= var_new_child->type->table_size) {
+var28 = 0;
 } else {
-var48 = var_new_child->type->type_table[cltype49] == idtype50;
+var28 = var_new_child->type->type_table[cltype29] == idtype30;
 }
 }
-if (unlikely(!var48)) {
-var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name51);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3194);
+if (unlikely(!var28)) {
+var_class_name31 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name31);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3264);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AForExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on <self:AForExpr>*/
+nitc__parser_prod___AForExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on <self:AForExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var52 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-if (var52 == NULL) {
-var53 = 0; /* <var_old_child:ANode> cannot be null */
+var32 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
+if (var32 == NULL) {
+var33 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
-{ /* Inline kernel#Object#== (var52,var_old_child) on <var52:nullable ALabel> */
+{ /* Inline kernel#Object#== (var32,var_old_child) on <var32:nullable ALabel> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var52,var_other) on <var52:nullable ALabel(ALabel)> */
-var58 = var52 == var_other;
-var56 = var58;
-goto RET_LABEL57;
-RET_LABEL57:(void)0;
+{ /* Inline kernel#Object#is_same_instance (var32,var_other) on <var32:nullable ALabel(ALabel)> */
+var38 = var32 == var_other;
+var36 = var38;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
 }
 }
-var54 = var56;
-goto RET_LABEL55;
-RET_LABEL55:(void)0;
+var34 = var36;
+goto RET_LABEL35;
+RET_LABEL35:(void)0;
 }
-var53 = var54;
+var33 = var34;
 }
-if (var53){
+if (var33){
 /* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype60 = type_nullable__nit__ALabel.color;
-idtype61 = type_nullable__nit__ALabel.id;
+cltype40 = type_nullable__nitc__ALabel.color;
+idtype41 = type_nullable__nitc__ALabel.id;
 if(var_new_child == NULL) {
-var59 = 1;
+var39 = 1;
 } else {
-if(cltype60 >= var_new_child->type->table_size) {
-var59 = 0;
+if(cltype40 >= var_new_child->type->table_size) {
+var39 = 0;
 } else {
-var59 = var_new_child->type->type_table[cltype60] == idtype61;
+var39 = var_new_child->type->type_table[cltype40] == idtype41;
 }
 }
-if (unlikely(!var59)) {
-var_class_name62 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name62);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3198);
+if (unlikely(!var39)) {
+var_class_name42 = var_new_child == NULL ? "null" : var_new_child->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name42);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3268);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AForExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_label= on <self:AForExpr>*/
+nitc__parser_prod___AForExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_label= on <self:AForExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -1674,59 +2055,33 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
-void nit__parser_prod___AForExpr___n_kwfor_61d(val* self, val* p0) {
+void nitc__parser_prod___AForExpr___n_kwfor_61d(val* self, val* p0) {
 val* var_node /* var node: TKwfor */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwfor> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwfor> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwin= for (self: AForExpr, TKwin) */
-void nit__parser_prod___AForExpr___n_kwin_61d(val* self, val* p0) {
-val* var_node /* var node: TKwin */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val = var_node; /* _n_kwin on <self:AForExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwin> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwin> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
-void nit__parser_prod___AForExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on <self:AForExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwfor> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
-void nit__parser_prod___AForExpr___n_kwdo_61d(val* self, val* p0) {
+void nitc__parser_prod___AForExpr___n_kwdo_61d(val* self, val* p0) {
 val* var_node /* var node: TKwdo */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
-void nit__parser_prod___AForExpr___n_block_61d(val* self, val* p0) {
+void nitc__parser_prod___AForExpr___n_block_61d(val* self, val* p0) {
 val* var_node /* var node: nullable AExpr */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -1734,7 +2089,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -1744,7 +2099,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -1756,7 +2111,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -1765,7 +2120,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
+void nitc__parser_prod___AForExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
 val* var_node /* var node: nullable ALabel */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -1773,7 +2128,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -1783,7 +2138,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -1795,7 +2150,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -1804,32 +2159,30 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AForExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwfor */;
-val* var1 /* : ANodes[TId] */;
-val* var3 /* : ANodes[TId] */;
-val* var4 /* : TKwin */;
-val* var5 /* : AExpr */;
-val* var6 /* : TKwdo */;
-val* var7 /* : nullable AExpr */;
-val* var8 /* : nullable ALabel */;
+val* var1 /* : ANodes[AForGroup] */;
+val* var3 /* : ANodes[AForGroup] */;
+val* var4 /* : TKwdo */;
+val* var5 /* : nullable AExpr */;
+val* var6 /* : nullable ALabel */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3237);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3297);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 {
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var3 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
+{ /* Inline parser_nodes#AForExpr#n_groups (self) on <self:AForExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on <self:AForExpr> */
 if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1934);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1920);
 fatal_exit(1);
 }
 var1 = var3;
@@ -1837,47 +2190,29 @@ RET_LABEL2:(void)0;
 }
 }
 {
-nit___nit__ANodes___visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[TId]>*/
+nitc___nitc__ANodes___visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[AForGroup]>*/
 }
-var4 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val; /* _n_kwin on <self:AForExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
 if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3239);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var5 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3240);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var6 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var6 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3241);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3299);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
+var5 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var8 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
+var6 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#init_awithexpr for (self: AWithExpr, nullable TKwwith, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AWithExpr___init_awithexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
+void nitc__parser_prod___AWithExpr___init_awithexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
 val* var_n_kwwith /* var n_kwwith: nullable TKwwith */;
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
@@ -1904,68 +2239,68 @@ var_n_block = p3;
 var_n_label = p4;
 if (unlikely(var_n_kwwith == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3255);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3313);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val = var_n_kwwith; /* _n_kwwith on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwwith].val = var_n_kwwith; /* _n_kwwith on <self:AWithExpr> */
 if (var_n_kwwith == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3256);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3314);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwwith,self) on <var_n_kwwith:nullable TKwwith> */
 if (unlikely(var_n_kwwith == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwwith->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwith:nullable TKwwith> */
+var_n_kwwith->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwith:nullable TKwwith> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3257);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3315);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWithExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3258);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3316);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3259);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3317);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWithExpr> */
 if (var_n_kwdo == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3260);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3318);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
 if (unlikely(var_n_kwdo == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
+var_n_kwdo->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
 RET_LABEL4:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val = var_n_block; /* _n_block on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val = var_n_block; /* _n_block on <self:AWithExpr> */
 if (var_n_block == NULL) {
 var = 0; /* is null */
 } else {
@@ -1975,7 +2310,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
+var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
 }
 var8 = !var7;
 var5 = var8;
@@ -1987,13 +2322,13 @@ var = var5;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
+var_n_block->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
 RET_LABEL9:(void)0;
 }
 }
 } else {
 }
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWithExpr> */
 if (var_n_label == NULL) {
 var10 = 0; /* is null */
 } else {
@@ -2003,7 +2338,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
+var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
 }
 var14 = !var13;
 var11 = var14;
@@ -2015,7 +2350,7 @@ var10 = var11;
 if (var10){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
+var_n_label->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
 RET_LABEL15:(void)0;
 }
 }
@@ -2024,7 +2359,7 @@ RET_LABEL15:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#replace_child for (self: AWithExpr, ANode, nullable ANode) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AWithExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwwith */;
@@ -2072,10 +2407,10 @@ int idtype47;
 const char* var_class_name48;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwith");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3269);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3327);
 fatal_exit(1);
 }
 {
@@ -2096,8 +2431,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwwith */
-cltype = type_nit__TKwwith.color;
-idtype = type_nit__TKwwith.id;
+cltype = type_nitc__TKwwith.color;
+idtype = type_nitc__TKwwith.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -2110,19 +2445,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwith", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3270);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3328);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWithExpr___n_kwwith_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwwith= on <self:AWithExpr>*/
+nitc__parser_prod___AWithExpr___n_kwwith_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwwith= on <self:AWithExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3273);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3331);
 fatal_exit(1);
 }
 {
@@ -2143,8 +2478,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
+cltype14 = type_nitc__AExpr.color;
+idtype15 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -2157,19 +2492,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3274);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3332);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWithExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_expr= on <self:AWithExpr>*/
+nitc__parser_prod___AWithExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_expr= on <self:AWithExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3277);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3335);
 fatal_exit(1);
 }
 {
@@ -2190,8 +2525,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa TKwdo */
-cltype24 = type_nit__TKwdo.color;
-idtype25 = type_nit__TKwdo.id;
+cltype24 = type_nitc__TKwdo.color;
+idtype25 = type_nitc__TKwdo.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -2204,16 +2539,16 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3278);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3336);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWithExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwdo= on <self:AWithExpr>*/
+nitc__parser_prod___AWithExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwdo= on <self:AWithExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var27 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
+var27 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
 if (var27 == NULL) {
 var28 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -2235,8 +2570,8 @@ var28 = var29;
 }
 if (var28){
 /* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype35 = type_nullable__nit__AExpr.color;
-idtype36 = type_nullable__nit__AExpr.id;
+cltype35 = type_nullable__nitc__AExpr.color;
+idtype36 = type_nullable__nitc__AExpr.id;
 if(var_new_child == NULL) {
 var34 = 1;
 } else {
@@ -2249,16 +2584,16 @@ var34 = var_new_child->type->type_table[cltype35] == idtype36;
 if (unlikely(!var34)) {
 var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3282);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3340);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWithExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_block= on <self:AWithExpr>*/
+nitc__parser_prod___AWithExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_block= on <self:AWithExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var38 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
+var38 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
 if (var38 == NULL) {
 var39 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -2280,8 +2615,8 @@ var39 = var40;
 }
 if (var39){
 /* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype46 = type_nullable__nit__ALabel.color;
-idtype47 = type_nullable__nit__ALabel.id;
+cltype46 = type_nullable__nitc__ALabel.color;
+idtype47 = type_nullable__nitc__ALabel.id;
 if(var_new_child == NULL) {
 var45 = 1;
 } else {
@@ -2294,11 +2629,11 @@ var45 = var_new_child->type->type_table[cltype46] == idtype47;
 if (unlikely(!var45)) {
 var_class_name48 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3286);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3344);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AWithExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_label= on <self:AWithExpr>*/
+nitc__parser_prod___AWithExpr___nitc__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_label= on <self:AWithExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -2306,46 +2641,46 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#n_kwwith= for (self: AWithExpr, TKwwith) */
-void nit__parser_prod___AWithExpr___n_kwwith_61d(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___n_kwwith_61d(val* self, val* p0) {
 val* var_node /* var node: TKwwith */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val = var_node; /* _n_kwwith on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwwith].val = var_node; /* _n_kwwith on <self:AWithExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwwith> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwith> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwith> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#n_expr= for (self: AWithExpr, AExpr) */
-void nit__parser_prod___AWithExpr___n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val = var_node; /* _n_expr on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val = var_node; /* _n_expr on <self:AWithExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#n_kwdo= for (self: AWithExpr, TKwdo) */
-void nit__parser_prod___AWithExpr___n_kwdo_61d(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___n_kwdo_61d(val* self, val* p0) {
 val* var_node /* var node: TKwdo */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWithExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#n_block= for (self: AWithExpr, nullable AExpr) */
-void nit__parser_prod___AWithExpr___n_block_61d(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___n_block_61d(val* self, val* p0) {
 val* var_node /* var node: nullable AExpr */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -2353,7 +2688,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val = var_node; /* _n_block on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val = var_node; /* _n_block on <self:AWithExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -2363,7 +2698,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -2375,7 +2710,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -2384,7 +2719,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#n_label= for (self: AWithExpr, nullable ALabel) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___nitc__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
 val* var_node /* var node: nullable ALabel */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -2392,7 +2727,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWithExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWithExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -2402,7 +2737,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -2414,7 +2749,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -2423,7 +2758,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AWithExpr#visit_all for (self: AWithExpr, Visitor) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AWithExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwwith */;
 val* var1 /* : AExpr */;
@@ -2431,45 +2766,45 @@ val* var2 /* : TKwdo */;
 val* var3 /* : nullable AExpr */;
 val* var4 /* : nullable ALabel */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwith");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3320);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3378);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3321);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3379);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3322);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3380);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var3 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var4 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable TKwelse, nullable AExpr) */
-void nit__parser_prod___AAssertExpr___init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
+void nitc__parser_prod___AAssertExpr___init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
 val* var_n_kwassert /* var n_kwassert: nullable TKwassert */;
 val* var_n_id /* var n_id: nullable TId */;
 val* var_n_expr /* var n_expr: nullable AExpr */;
@@ -2500,26 +2835,26 @@ var_n_kwelse = p3;
 var_n_else = p4;
 if (unlikely(var_n_kwassert == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3336);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3394);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
 if (var_n_kwassert == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3337);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3395);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwassert,self) on <var_n_kwassert:nullable TKwassert> */
 if (unlikely(var_n_kwassert == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwassert->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwassert:nullable TKwassert> */
+var_n_kwassert->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwassert:nullable TKwassert> */
 RET_LABEL2:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
 if (var_n_id == NULL) {
 var = 0; /* is null */
 } else {
@@ -2529,7 +2864,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_id,((val*)NULL)) on <var_n_id:nullable TId> */
 var_other = ((val*)NULL);
 {
-var5 = ((short int(*)(val* self, val* p0))(var_n_id->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_id, var_other); /* == on <var_n_id:nullable TId(TId)>*/
+var5 = ((short int(*)(val* self, val* p0))(var_n_id->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_id, var_other); /* == on <var_n_id:nullable TId(TId)>*/
 }
 var6 = !var5;
 var3 = var6;
@@ -2541,7 +2876,7 @@ var = var3;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
-var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
+var_n_id->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
 RET_LABEL7:(void)0;
 }
 }
@@ -2549,26 +2884,26 @@ RET_LABEL7:(void)0;
 }
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3340);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3398);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3341);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3399);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL8:(void)0;
 }
 }
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AAssertExpr> */
 if (var_n_kwelse == NULL) {
 var9 = 0; /* is null */
 } else {
@@ -2578,7 +2913,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_kwelse,((val*)NULL)) on <var_n_kwelse:nullable TKwelse> */
 var_other = ((val*)NULL);
 {
-var12 = ((short int(*)(val* self, val* p0))(var_n_kwelse->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwelse, var_other); /* == on <var_n_kwelse:nullable TKwelse(TKwelse)>*/
+var12 = ((short int(*)(val* self, val* p0))(var_n_kwelse->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_kwelse, var_other); /* == on <var_n_kwelse:nullable TKwelse(TKwelse)>*/
 }
 var13 = !var12;
 var10 = var13;
@@ -2590,13 +2925,13 @@ var9 = var10;
 if (var9){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse(TKwelse)> */
-var_n_kwelse->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse(TKwelse)> */
+var_n_kwelse->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse(TKwelse)> */
 RET_LABEL14:(void)0;
 }
 }
 } else {
 }
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
 if (var_n_else == NULL) {
 var15 = 0; /* is null */
 } else {
@@ -2606,7 +2941,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_n_else,((val*)NULL)) on <var_n_else:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var18 = ((short int(*)(val* self, val* p0))(var_n_else->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_else, var_other); /* == on <var_n_else:nullable AExpr(AExpr)>*/
+var18 = ((short int(*)(val* self, val* p0))(var_n_else->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n_else, var_other); /* == on <var_n_else:nullable AExpr(AExpr)>*/
 }
 var19 = !var18;
 var16 = var19;
@@ -2618,7 +2953,7 @@ var15 = var16;
 if (var15){
 {
 { /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
-var_n_else->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
+var_n_else->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
 RET_LABEL20:(void)0;
 }
 }
@@ -2627,7 +2962,7 @@ RET_LABEL20:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
-void nit__parser_prod___AAssertExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AAssertExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwassert */;
@@ -2676,10 +3011,10 @@ int idtype48;
 const char* var_class_name49;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3350);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3408);
 fatal_exit(1);
 }
 {
@@ -2700,8 +3035,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwassert */
-cltype = type_nit__TKwassert.color;
-idtype = type_nit__TKwassert.id;
+cltype = type_nitc__TKwassert.color;
+idtype = type_nitc__TKwassert.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -2714,16 +3049,16 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwassert", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3351);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3409);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAssertExpr___n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:AAssertExpr>*/
+nitc__parser_prod___AAssertExpr___n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:AAssertExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
 if (var7 == NULL) {
 var8 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -2745,8 +3080,8 @@ var8 = var9;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa nullable TId */
-cltype15 = type_nullable__nit__TId.color;
-idtype16 = type_nullable__nit__TId.id;
+cltype15 = type_nullable__nitc__TId.color;
+idtype16 = type_nullable__nitc__TId.id;
 if(var_new_child == NULL) {
 var14 = 1;
 } else {
@@ -2759,19 +3094,19 @@ var14 = var_new_child->type->type_table[cltype15] == idtype16;
 if (unlikely(!var14)) {
 var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3355);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3413);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAssertExpr___n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on <self:AAssertExpr>*/
+nitc__parser_prod___AAssertExpr___n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on <self:AAssertExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var18 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
+var18 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
 if (unlikely(var18 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3358);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3416);
 fatal_exit(1);
 }
 {
@@ -2792,8 +3127,8 @@ RET_LABEL20:(void)0;
 }
 if (var19){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype25 = type_nit__AExpr.color;
-idtype26 = type_nit__AExpr.id;
+cltype25 = type_nitc__AExpr.color;
+idtype26 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var24 = 0;
 } else {
@@ -2806,16 +3141,16 @@ var24 = var_new_child->type->type_table[cltype25] == idtype26;
 if (unlikely(!var24)) {
 var_class_name27 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3359);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3417);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAssertExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:AAssertExpr>*/
+nitc__parser_prod___AAssertExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:AAssertExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var28 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
+var28 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
 if (var28 == NULL) {
 var29 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -2837,8 +3172,8 @@ var29 = var30;
 }
 if (var29){
 /* <var_new_child:nullable ANode> isa nullable TKwelse */
-cltype36 = type_nullable__nit__TKwelse.color;
-idtype37 = type_nullable__nit__TKwelse.id;
+cltype36 = type_nullable__nitc__TKwelse.color;
+idtype37 = type_nullable__nitc__TKwelse.id;
 if(var_new_child == NULL) {
 var35 = 1;
 } else {
@@ -2851,16 +3186,16 @@ var35 = var_new_child->type->type_table[cltype36] == idtype37;
 if (unlikely(!var35)) {
 var_class_name38 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwelse", var_class_name38);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3363);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3421);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAssertExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwelse= on <self:AAssertExpr>*/
+nitc__parser_prod___AAssertExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwelse= on <self:AAssertExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var39 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
+var39 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
 if (var39 == NULL) {
 var40 = 0; /* <var_old_child:ANode> cannot be null */
 } else {
@@ -2882,8 +3217,8 @@ var40 = var41;
 }
 if (var40){
 /* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype47 = type_nullable__nit__AExpr.color;
-idtype48 = type_nullable__nit__AExpr.id;
+cltype47 = type_nullable__nitc__AExpr.color;
+idtype48 = type_nullable__nitc__AExpr.id;
 if(var_new_child == NULL) {
 var46 = 1;
 } else {
@@ -2896,11 +3231,11 @@ var46 = var_new_child->type->type_table[cltype47] == idtype48;
 if (unlikely(!var46)) {
 var_class_name49 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name49);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3367);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3425);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAssertExpr___n_else_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_else= on <self:AAssertExpr>*/
+nitc__parser_prod___AAssertExpr___n_else_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_else= on <self:AAssertExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -2908,20 +3243,20 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
-void nit__parser_prod___AAssertExpr___n_kwassert_61d(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___n_kwassert_61d(val* self, val* p0) {
 val* var_node /* var node: TKwassert */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwassert> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwassert> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwassert> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
-void nit__parser_prod___AAssertExpr___n_id_61d(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___n_id_61d(val* self, val* p0) {
 val* var_node /* var node: nullable TId */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -2929,7 +3264,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -2939,7 +3274,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TId> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TId(TId)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TId(TId)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -2951,7 +3286,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -2960,20 +3295,20 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
-void nit__parser_prod___AAssertExpr___n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#n_kwelse= for (self: AAssertExpr, nullable TKwelse) */
-void nit__parser_prod___AAssertExpr___n_kwelse_61d(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___n_kwelse_61d(val* self, val* p0) {
 val* var_node /* var node: nullable TKwelse */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -2981,7 +3316,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AAssertExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -2991,7 +3326,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwelse> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwelse(TKwelse)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwelse(TKwelse)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -3003,7 +3338,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwelse(TKwelse)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwelse(TKwelse)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwelse(TKwelse)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -3012,7 +3347,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
-void nit__parser_prod___AAssertExpr___n_else_61d(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___n_else_61d(val* self, val* p0) {
 val* var_node /* var node: nullable AExpr */;
 short int var /* : Bool */;
 short int var1 /* : Bool */;
@@ -3020,7 +3355,7 @@ val* var_other /* var other: nullable Object */;
 short int var3 /* : Bool */;
 short int var4 /* : Bool */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
 if (var_node == NULL) {
 var = 0; /* is null */
 } else {
@@ -3030,7 +3365,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
 var_other = ((val*)NULL);
 {
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
+var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
 }
 var4 = !var3;
 var1 = var4;
@@ -3042,7 +3377,7 @@ var = var1;
 if (var){
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
 RET_LABEL5:(void)0;
 }
 }
@@ -3051,7 +3386,7 @@ RET_LABEL5:(void)0;
 RET_LABEL:;
 }
 /* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
-void nit__parser_prod___AAssertExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AAssertExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwassert */;
 val* var1 /* : nullable TId */;
@@ -3059,40 +3394,40 @@ val* var2 /* : AExpr */;
 val* var3 /* : nullable TKwelse */;
 val* var4 /* : nullable AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3401);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3459);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3403);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3461);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var3 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var4 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
+var4 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
 {
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
-void nit__parser_prod___AOnceExpr___init_aonceexpr(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AOnceExpr___init_aonceexpr(val* self, val* p0, val* p1) {
 val* var_n_kwonce /* var n_kwonce: nullable TKwonce */;
 val* var_n_expr /* var n_expr: nullable AExpr */;
 {
@@ -3104,50 +3439,50 @@ var_n_kwonce = p0;
 var_n_expr = p1;
 if (unlikely(var_n_kwonce == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3414);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3472);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
 if (var_n_kwonce == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3415);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3473);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwonce,self) on <var_n_kwonce:nullable TKwonce> */
 if (unlikely(var_n_kwonce == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwonce->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwonce:nullable TKwonce> */
+var_n_kwonce->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwonce:nullable TKwonce> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3416);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3474);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3417);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3475);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL3:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOnceExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AOnceExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwonce */;
@@ -3169,10 +3504,10 @@ int idtype15;
 const char* var_class_name16;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3422);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3480);
 fatal_exit(1);
 }
 {
@@ -3193,8 +3528,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa TKwonce */
-cltype = type_nit__TKwonce.color;
-idtype = type_nit__TKwonce.id;
+cltype = type_nitc__TKwonce.color;
+idtype = type_nitc__TKwonce.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -3207,19 +3542,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwonce", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3423);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3481);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOnceExpr___n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:AOnceExpr>*/
+nitc__parser_prod___AOnceExpr___n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:AOnceExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3426);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3484);
 fatal_exit(1);
 }
 {
@@ -3240,8 +3575,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
+cltype14 = type_nitc__AExpr.color;
+idtype15 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -3254,11 +3589,11 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3427);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3485);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOnceExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:AOnceExpr>*/
+nitc__parser_prod___AOnceExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:AOnceExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -3266,59 +3601,59 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
-void nit__parser_prod___AOnceExpr___n_kwonce_61d(val* self, val* p0) {
+void nitc__parser_prod___AOnceExpr___n_kwonce_61d(val* self, val* p0) {
 val* var_node /* var node: TKwonce */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwonce> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwonce> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwonce> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
-void nit__parser_prod___AOnceExpr___n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AOnceExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
-void nit__parser_prod___AOnceExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AOnceExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : TKwonce */;
 val* var1 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3446);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3504);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3447);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3505);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable TKwor, nullable AExpr) */
-void nit__parser_prod___AOrExpr___init_aorexpr(val* self, val* p0, val* p1, val* p2) {
+void nitc__parser_prod___AOrExpr___init_aorexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_op /* var n_op: nullable TKwor */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
@@ -3332,71 +3667,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3528);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3586);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3529);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3587);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3530);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3588);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3531);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3589);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwor> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3532);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3590);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3533);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3591);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AOrExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -3426,10 +3761,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3538);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3596);
 fatal_exit(1);
 }
 {
@@ -3450,8 +3785,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -3464,19 +3799,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3539);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3597);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on <self:AOrExpr>*/
+nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on <self:AOrExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3542);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3600);
 fatal_exit(1);
 }
 {
@@ -3497,8 +3832,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa TKwor */
-cltype14 = type_nit__TKwor.color;
-idtype15 = type_nit__TKwor.id;
+cltype14 = type_nitc__TKwor.color;
+idtype15 = type_nitc__TKwor.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -3511,19 +3846,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwor", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3543);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3601);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_op= on <self:AOrExpr>*/
+nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_op= on <self:AOrExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3546);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3604);
 fatal_exit(1);
 }
 {
@@ -3544,8 +3879,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -3558,11 +3893,11 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3547);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3605);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:AOrExpr>*/
+nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:AOrExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -3570,82 +3905,82 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#n_op= for (self: AOrExpr, Token) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AOrExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3571);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3629);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3572);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3630);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3573);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3631);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable TKwand, nullable AExpr) */
-void nit__parser_prod___AAndExpr___init_aandexpr(val* self, val* p0, val* p1, val* p2) {
+void nitc__parser_prod___AAndExpr___init_aandexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_op /* var n_op: nullable TKwand */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
@@ -3659,71 +3994,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3583);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3641);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3584);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3642);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3585);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3643);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AAndExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3586);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3644);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwand> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwand> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwand> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3587);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3645);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3588);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3646);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AAndExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -3753,10 +4088,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3593);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3651);
 fatal_exit(1);
 }
 {
@@ -3777,8 +4112,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -3791,19 +4126,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3594);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3652);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on <self:AAndExpr>*/
+nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on <self:AAndExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3597);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3655);
 fatal_exit(1);
 }
 {
@@ -3824,8 +4159,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa TKwand */
-cltype14 = type_nit__TKwand.color;
-idtype15 = type_nit__TKwand.id;
+cltype14 = type_nitc__TKwand.color;
+idtype15 = type_nitc__TKwand.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -3838,19 +4173,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwand", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3598);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3656);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_op= on <self:AAndExpr>*/
+nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_op= on <self:AAndExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3601);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3659);
 fatal_exit(1);
 }
 {
@@ -3871,8 +4206,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -3885,11 +4220,11 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3602);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3660);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:AAndExpr>*/
+nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:AAndExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -3897,82 +4232,82 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#n_op= for (self: AAndExpr, Token) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
+void nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AAndExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
+void nitc__parser_prod___AAndExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AAndExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3626);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3684);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3627);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3685);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3628);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3686);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable TKwor, nullable TKwelse, nullable AExpr) */
-void nit__parser_prod___AOrElseExpr___init_aorelseexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
+void nitc__parser_prod___AOrElseExpr___init_aorelseexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_op /* var n_op: nullable TKwor */;
 val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
@@ -3988,92 +4323,92 @@ var_n_kwelse = p2;
 var_n_expr2 = p3;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3639);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3697);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3640);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3698);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3641);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3699);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrElseExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3642);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3700);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwor> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_kwelse == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3643);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3701);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOrElseExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AOrElseExpr> */
 if (var_n_kwelse == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3644);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3702);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse> */
 if (unlikely(var_n_kwelse == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwelse->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse> */
+var_n_kwelse->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse> */
 RET_LABEL4:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3645);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3703);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3646);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3704);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL5:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -4111,10 +4446,10 @@ int idtype35;
 const char* var_class_name36;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3651);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3709);
 fatal_exit(1);
 }
 {
@@ -4135,8 +4470,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -4149,19 +4484,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3652);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3710);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:AOrElseExpr>*/
+nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:AOrElseExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3655);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3713);
 fatal_exit(1);
 }
 {
@@ -4182,8 +4517,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa TKwor */
-cltype14 = type_nit__TKwor.color;
-idtype15 = type_nit__TKwor.id;
+cltype14 = type_nitc__TKwor.color;
+idtype15 = type_nitc__TKwor.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -4196,19 +4531,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwor", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3656);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3714);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_op= on <self:AOrElseExpr>*/
+nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_op= on <self:AOrElseExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3659);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3717);
 fatal_exit(1);
 }
 {
@@ -4229,8 +4564,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa TKwelse */
-cltype24 = type_nit__TKwelse.color;
-idtype25 = type_nit__TKwelse.id;
+cltype24 = type_nitc__TKwelse.color;
+idtype25 = type_nitc__TKwelse.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -4243,19 +4578,19 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwelse", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3660);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3718);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrElseExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_kwelse= on <self:AOrElseExpr>*/
+nitc__parser_prod___AOrElseExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_kwelse= on <self:AOrElseExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var27 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
+var27 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
 if (unlikely(var27 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3663);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3721);
 fatal_exit(1);
 }
 {
@@ -4276,8 +4611,8 @@ RET_LABEL29:(void)0;
 }
 if (var28){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype34 = type_nit__AExpr.color;
-idtype35 = type_nit__AExpr.id;
+cltype34 = type_nitc__AExpr.color;
+idtype35 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var33 = 0;
 } else {
@@ -4290,11 +4625,11 @@ var33 = var_new_child->type->type_table[cltype34] == idtype35;
 if (unlikely(!var33)) {
 var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3664);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3722);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:AOrElseExpr>*/
+nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:AOrElseExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -4302,105 +4637,105 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#n_op= for (self: AOrElseExpr, Token) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrElseExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#n_kwelse= for (self: AOrElseExpr, TKwelse) */
-void nit__parser_prod___AOrElseExpr___n_kwelse_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrElseExpr___n_kwelse_61d(val* self, val* p0) {
 val* var_node /* var node: TKwelse */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AOrElseExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AOrElseExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwelse> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
+void nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AOrElseExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : TKwelse */;
 val* var3 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3693);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3751);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3694);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3752);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3695);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3753);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var3 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
+var3 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3696);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3754);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable TKwimplies, nullable AExpr) */
-void nit__parser_prod___AImpliesExpr___init_aimpliesexpr(val* self, val* p0, val* p1, val* p2) {
+void nitc__parser_prod___AImpliesExpr___init_aimpliesexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
 val* var_n_op /* var n_op: nullable TKwimplies */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
@@ -4414,71 +4749,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3706);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3764);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3707);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3765);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3708);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3766);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AImpliesExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3709);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3767);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwimplies> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwimplies> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwimplies> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3710);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3768);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3711);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3769);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -4508,10 +4843,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3716);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3774);
 fatal_exit(1);
 }
 {
@@ -4532,8 +4867,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -4546,19 +4881,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3717);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3775);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
+nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3720);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3778);
 fatal_exit(1);
 }
 {
@@ -4579,8 +4914,8 @@ RET_LABEL9:(void)0;
 }
 if (var8){
 /* <var_new_child:nullable ANode> isa TKwimplies */
-cltype14 = type_nit__TKwimplies.color;
-idtype15 = type_nit__TKwimplies.id;
+cltype14 = type_nitc__TKwimplies.color;
+idtype15 = type_nitc__TKwimplies.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -4593,19 +4928,19 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwimplies", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3721);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3779);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_op= on <self:AImpliesExpr>*/
+nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_op= on <self:AImpliesExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3724);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3782);
 fatal_exit(1);
 }
 {
@@ -4626,8 +4961,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -4640,11 +4975,11 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3725);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3783);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:AImpliesExpr>*/
+nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:AImpliesExpr>*/
 }
 goto RET_LABEL;
 } else {
@@ -4652,82 +4987,82 @@ goto RET_LABEL;
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
+void nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#n_op= for (self: AImpliesExpr, Token) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
+void nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AImpliesExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
+void nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+void nitc__parser_prod___AImpliesExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3749);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3807);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3750);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3808);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3751);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3809);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
-void nit__parser_prod___ANotExpr___init_anotexpr(val* self, val* p0, val* p1) {
+void nitc__parser_prod___ANotExpr___init_anotexpr(val* self, val* p0, val* p1) {
 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
 val* var_n_expr /* var n_expr: nullable AExpr */;
 {
@@ -4739,50 +5074,50 @@ var_n_kwnot = p0;
 var_n_expr = p1;
 if (unlikely(var_n_kwnot == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3760);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3818);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
 if (var_n_kwnot == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3761);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3819);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on <var_n_kwnot:nullable TKwnot> */
 if (unlikely(var_n_kwnot == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwnot->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
+var_n_kwnot->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3762);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3820);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3763);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3821);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL3:(void)0;
 }
 }
 RET_LABEL:;
 }
 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
-void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+void nitc__parser_prod___ANotExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : TKwnot */;
@@ -4804,274 +5139,17 @@ int idtype15;
 const char* var_class_name16;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3768);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnot> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnot> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwnot */
-cltype = type_nit__TKwnot.color;
-idtype = type_nit__TKwnot.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3769);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANotExpr___n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3772);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3773);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANotExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on <self:ANotExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
-void nit__parser_prod___ANotExpr___n_kwnot_61d(val* self, val* p0) {
-val* var_node /* var node: TKwnot */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
-void nit__parser_prod___ANotExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
-void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwnot */;
-val* var1 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3792);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3793);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable TEq, nullable AExpr) */
-void nit__parser_prod___AEqExpr___init_aeqexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TEq */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AEqExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3803);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3804);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3805);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AEqExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3806);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TEq> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TEq> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3807);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3808);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
 if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3813);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3826);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
+{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnot> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
+{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnot> */
 var5 = var == var_other;
 var3 = var5;
 goto RET_LABEL4;
@@ -5084,9 +5162,9 @@ RET_LABEL2:(void)0;
 }
 }
 if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+/* <var_new_child:nullable ANode> isa TKwnot */
+cltype = type_nitc__TKwnot.color;
+idtype = type_nitc__TKwnot.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -5098,27 +5176,27 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 }
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3814);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3827);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
+nitc__parser_prod___ANotExpr___n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
 if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3817);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3830);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
+{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
+{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
 var12 = var7 == var_other;
 var10 = var12;
 goto RET_LABEL11;
@@ -5131,9 +5209,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TEq */
-cltype14 = type_nit__TEq.color;
-idtype15 = type_nit__TEq.id;
+/* <var_new_child:nullable ANode> isa AExpr */
+cltype14 = type_nitc__AExpr.color;
+idtype15 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -5145,147 +5223,77 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TEq", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3818);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_op= on <self:AEqExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3821);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3822);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3831);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:AEqExpr>*/
+nitc__parser_prod___ANotExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on <self:ANotExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_op= for (self: AEqExpr, Token) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
+/* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
+void nitc__parser_prod___ANotExpr___n_kwnot_61d(val* self, val* p0) {
+val* var_node /* var node: TKwnot */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AEqExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
 {
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
+void nitc__parser_prod___ANotExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
+void nitc__parser_prod___ANotExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
+val* var /* : TKwnot */;
+val* var1 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
 if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3846);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3850);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
 if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3847);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3848);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3851);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable TNe, nullable AExpr) */
-void nit__parser_prod___ANeExpr___init_aneexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable TEq, nullable AExpr) */
+void nitc__parser_prod___AEqExpr___init_aeqexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TNe */;
+val* var_n_op /* var n_op: nullable TEq */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:ANeExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AEqExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -5294,71 +5302,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3858);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3861);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3859);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3862);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3860);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3863);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AEqExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3861);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3864);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TNe> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TEq> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TNe> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TEq> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3862);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3865);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3863);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3866);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AEqExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -5388,10 +5396,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3868);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3871);
 fatal_exit(1);
 }
 {
@@ -5412,8 +5420,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -5426,19 +5434,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3869);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3872);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
+nitc__parser_prod___AEqExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3872);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3875);
 fatal_exit(1);
 }
 {
@@ -5458,9 +5466,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TNe */
-cltype14 = type_nit__TNe.color;
-idtype15 = type_nit__TNe.id;
+/* <var_new_child:nullable ANode> isa TEq */
+cltype14 = type_nitc__TEq.color;
+idtype15 = type_nitc__TEq.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -5472,20 +5480,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TNe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3873);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TEq", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3876);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_op= on <self:ANeExpr>*/
+nitc__parser_prod___AEqExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_op= on <self:AEqExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3876);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3879);
 fatal_exit(1);
 }
 {
@@ -5506,8 +5514,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -5520,99 +5528,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3877);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3880);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:ANeExpr>*/
+nitc__parser_prod___AEqExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:AEqExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
+void nitc__parser_prod___AEqExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#n_op= for (self: ANeExpr, Token) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AEqExpr#n_op= for (self: AEqExpr, Token) */
+void nitc__parser_prod___AEqExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AEqExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
+void nitc__parser_prod___AEqExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
+void nitc__parser_prod___AEqExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3901);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3904);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3902);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3905);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3903);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3906);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable TLt, nullable AExpr) */
-void nit__parser_prod___ALtExpr___init_altexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable TNe, nullable AExpr) */
+void nitc__parser_prod___ANeExpr___init_aneexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLt */;
+val* var_n_op /* var n_op: nullable TNe */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:ALtExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ANeExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -5621,71 +5629,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3913);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3916);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3914);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3917);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3915);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3918);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ANeExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3916);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3919);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLt> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TNe> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLt> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TNe> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3917);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3920);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3918);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3921);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
+void nitc__parser_prod___ANeExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -5715,10 +5723,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3923);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3926);
 fatal_exit(1);
 }
 {
@@ -5739,8 +5747,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -5753,19 +5761,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3924);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3927);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on <self:ALtExpr>*/
+nitc__parser_prod___ANeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3927);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3930);
 fatal_exit(1);
 }
 {
@@ -5785,9 +5793,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TLt */
-cltype14 = type_nit__TLt.color;
-idtype15 = type_nit__TLt.id;
+/* <var_new_child:nullable ANode> isa TNe */
+cltype14 = type_nitc__TNe.color;
+idtype15 = type_nitc__TNe.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -5799,20 +5807,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLt", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3928);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TNe", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3931);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_op= on <self:ALtExpr>*/
+nitc__parser_prod___ANeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_op= on <self:ANeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3931);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3934);
 fatal_exit(1);
 }
 {
@@ -5833,8 +5841,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -5847,99 +5855,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3932);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3935);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr2= on <self:ALtExpr>*/
+nitc__parser_prod___ANeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:ANeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
+void nitc__parser_prod___ANeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#n_op= for (self: ALtExpr, Token) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#ANeExpr#n_op= for (self: ANeExpr, Token) */
+void nitc__parser_prod___ANeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ANeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
+void nitc__parser_prod___ANeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
+void nitc__parser_prod___ANeExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3956);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3959);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3957);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3960);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3958);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3961);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable TLe, nullable AExpr) */
-void nit__parser_prod___ALeExpr___init_aleexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable TLt, nullable AExpr) */
+void nitc__parser_prod___ALtExpr___init_altexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLe */;
+val* var_n_op /* var n_op: nullable TLt */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:ALeExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ALtExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -5948,71 +5956,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3968);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3971);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3969);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3972);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3970);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3973);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALtExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3971);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3974);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLe> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLt> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLe> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLt> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3972);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3975);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3973);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3976);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
+void nitc__parser_prod___ALtExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -6042,10 +6050,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3978);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3981);
 fatal_exit(1);
 }
 {
@@ -6066,8 +6074,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -6080,19 +6088,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3979);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3982);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on <self:ALeExpr>*/
+nitc__parser_prod___ALtExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on <self:ALtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3982);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3985);
 fatal_exit(1);
 }
 {
@@ -6112,9 +6120,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TLe */
-cltype14 = type_nit__TLe.color;
-idtype15 = type_nit__TLe.id;
+/* <var_new_child:nullable ANode> isa TLt */
+cltype14 = type_nitc__TLt.color;
+idtype15 = type_nitc__TLt.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -6126,20 +6134,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3983);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLt", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3986);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_op= on <self:ALeExpr>*/
+nitc__parser_prod___ALtExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_op= on <self:ALtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3986);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3989);
 fatal_exit(1);
 }
 {
@@ -6160,8 +6168,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -6174,99 +6182,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3987);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 3990);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr2= on <self:ALeExpr>*/
+nitc__parser_prod___ALtExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr2= on <self:ALtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
+void nitc__parser_prod___ALtExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#n_op= for (self: ALeExpr, Token) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#ALtExpr#n_op= for (self: ALtExpr, Token) */
+void nitc__parser_prod___ALtExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
+void nitc__parser_prod___ALtExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
+void nitc__parser_prod___ALtExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4011);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4014);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4012);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4015);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4013);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4016);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable TLl, nullable AExpr) */
-void nit__parser_prod___ALlExpr___init_allexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable TLe, nullable AExpr) */
+void nitc__parser_prod___ALeExpr___init_aleexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLl */;
+val* var_n_op /* var n_op: nullable TLe */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:ALlExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ALeExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -6275,71 +6283,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4023);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4026);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4024);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4027);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4025);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4028);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALeExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4026);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4029);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLl> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLe> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLl> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLe> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4027);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4030);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4028);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4031);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
+void nitc__parser_prod___ALeExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -6369,10 +6377,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4033);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4036);
 fatal_exit(1);
 }
 {
@@ -6393,8 +6401,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -6407,19 +6415,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4034);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4037);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on <self:ALlExpr>*/
+nitc__parser_prod___ALeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on <self:ALeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4037);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4040);
 fatal_exit(1);
 }
 {
@@ -6439,9 +6447,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TLl */
-cltype14 = type_nit__TLl.color;
-idtype15 = type_nit__TLl.id;
+/* <var_new_child:nullable ANode> isa TLe */
+cltype14 = type_nitc__TLe.color;
+idtype15 = type_nitc__TLe.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -6453,20 +6461,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLl", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4038);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLe", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4041);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_op= on <self:ALlExpr>*/
+nitc__parser_prod___ALeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_op= on <self:ALeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4041);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4044);
 fatal_exit(1);
 }
 {
@@ -6487,8 +6495,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -6501,99 +6509,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4042);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4045);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr2= on <self:ALlExpr>*/
+nitc__parser_prod___ALeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr2= on <self:ALeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
+void nitc__parser_prod___ALeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#n_op= for (self: ALlExpr, Token) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#ALeExpr#n_op= for (self: ALeExpr, Token) */
+void nitc__parser_prod___ALeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
+void nitc__parser_prod___ALeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
+void nitc__parser_prod___ALeExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4066);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4069);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4067);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4070);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4068);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4071);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable TGt, nullable AExpr) */
-void nit__parser_prod___AGtExpr___init_agtexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable TLl, nullable AExpr) */
+void nitc__parser_prod___ALlExpr___init_allexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGt */;
+val* var_n_op /* var n_op: nullable TLl */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AGtExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ALlExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -6602,71 +6610,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4078);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4081);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4079);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4082);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4080);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4083);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALlExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4081);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4084);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGt> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLl> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGt> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLl> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4082);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4085);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4083);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4086);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
+void nitc__parser_prod___ALlExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -6696,10 +6704,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4088);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4091);
 fatal_exit(1);
 }
 {
@@ -6720,8 +6728,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -6734,19 +6742,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4089);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4092);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on <self:AGtExpr>*/
+nitc__parser_prod___ALlExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on <self:ALlExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4092);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4095);
 fatal_exit(1);
 }
 {
@@ -6766,9 +6774,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TGt */
-cltype14 = type_nit__TGt.color;
-idtype15 = type_nit__TGt.id;
+/* <var_new_child:nullable ANode> isa TLl */
+cltype14 = type_nitc__TLl.color;
+idtype15 = type_nitc__TLl.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -6780,20 +6788,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGt", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4093);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLl", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4096);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_op= on <self:AGtExpr>*/
+nitc__parser_prod___ALlExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_op= on <self:ALlExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4096);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4099);
 fatal_exit(1);
 }
 {
@@ -6814,8 +6822,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -6828,99 +6836,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4097);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4100);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr2= on <self:AGtExpr>*/
+nitc__parser_prod___ALlExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr2= on <self:ALlExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
+void nitc__parser_prod___ALlExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#n_op= for (self: AGtExpr, Token) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#ALlExpr#n_op= for (self: ALlExpr, Token) */
+void nitc__parser_prod___ALlExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALlExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
+void nitc__parser_prod___ALlExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
+void nitc__parser_prod___ALlExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4121);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4124);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4122);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4125);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4123);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4126);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable TGe, nullable AExpr) */
-void nit__parser_prod___AGeExpr___init_ageexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable TGt, nullable AExpr) */
+void nitc__parser_prod___AGtExpr___init_agtexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGe */;
+val* var_n_op /* var n_op: nullable TGt */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AGeExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AGtExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -6929,71 +6937,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4133);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4136);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4134);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4137);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4135);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4138);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGtExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4136);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4139);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGe> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGt> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGe> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGt> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4137);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4140);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4138);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4141);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AGtExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -7023,10 +7031,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4143);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4146);
 fatal_exit(1);
 }
 {
@@ -7047,8 +7055,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -7061,19 +7069,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4144);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4147);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on <self:AGeExpr>*/
+nitc__parser_prod___AGtExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on <self:AGtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4147);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4150);
 fatal_exit(1);
 }
 {
@@ -7093,9 +7101,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TGe */
-cltype14 = type_nit__TGe.color;
-idtype15 = type_nit__TGe.id;
+/* <var_new_child:nullable ANode> isa TGt */
+cltype14 = type_nitc__TGt.color;
+idtype15 = type_nitc__TGt.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -7107,20 +7115,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4148);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGt", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4151);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_op= on <self:AGeExpr>*/
+nitc__parser_prod___AGtExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_op= on <self:AGtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4151);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4154);
 fatal_exit(1);
 }
 {
@@ -7141,8 +7149,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -7155,99 +7163,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4152);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4155);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr2= on <self:AGeExpr>*/
+nitc__parser_prod___AGtExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr2= on <self:AGtExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
+void nitc__parser_prod___AGtExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#n_op= for (self: AGeExpr, Token) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AGtExpr#n_op= for (self: AGtExpr, Token) */
+void nitc__parser_prod___AGtExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
+void nitc__parser_prod___AGtExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
+void nitc__parser_prod___AGtExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4176);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4179);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4177);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4180);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4178);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4181);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable TGg, nullable AExpr) */
-void nit__parser_prod___AGgExpr___init_aggexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable TGe, nullable AExpr) */
+void nitc__parser_prod___AGeExpr___init_ageexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGg */;
+val* var_n_op /* var n_op: nullable TGe */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AGgExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AGeExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -7256,71 +7264,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4188);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4191);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4189);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4192);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4190);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4193);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGeExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4191);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4194);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGg> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGe> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGg> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGe> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4192);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4195);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4193);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4196);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AGeExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -7350,10 +7358,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4198);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4201);
 fatal_exit(1);
 }
 {
@@ -7374,8 +7382,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -7388,19 +7396,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4199);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4202);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on <self:AGgExpr>*/
+nitc__parser_prod___AGeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on <self:AGeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4202);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4205);
 fatal_exit(1);
 }
 {
@@ -7420,9 +7428,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TGg */
-cltype14 = type_nit__TGg.color;
-idtype15 = type_nit__TGg.id;
+/* <var_new_child:nullable ANode> isa TGe */
+cltype14 = type_nitc__TGe.color;
+idtype15 = type_nitc__TGe.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -7434,20 +7442,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGg", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4203);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGe", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4206);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_op= on <self:AGgExpr>*/
+nitc__parser_prod___AGeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_op= on <self:AGeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4206);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4209);
 fatal_exit(1);
 }
 {
@@ -7468,8 +7476,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -7482,172 +7490,172 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4207);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4210);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr2= on <self:AGgExpr>*/
+nitc__parser_prod___AGeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr2= on <self:AGeExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
+void nitc__parser_prod___AGeExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#n_op= for (self: AGgExpr, Token) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AGeExpr#n_op= for (self: AGeExpr, Token) */
+void nitc__parser_prod___AGeExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
+void nitc__parser_prod___AGeExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
+void nitc__parser_prod___AGeExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4231);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4234);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4232);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4235);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4233);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4236);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable TKwisa, nullable AType) */
-void nit__parser_prod___AIsaExpr___init_aisaexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable TGg, nullable AExpr) */
+void nitc__parser_prod___AGgExpr___init_aggexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_kwisa /* var n_kwisa: nullable TKwisa */;
-val* var_n_type /* var n_type: nullable AType */;
+val* var_n_op /* var n_op: nullable TGg */;
+val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AIsaExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AGgExpr> */
 RET_LABEL1:(void)0;
 }
 }
 var_n_expr = p0;
-var_n_kwisa = p1;
-var_n_type = p2;
+var_n_op = p1;
+var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4243);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4246);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4244);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4247);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
-if (unlikely(var_n_kwisa == NULL)) {
+if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4245);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4248);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val = var_n_kwisa; /* _n_kwisa on <self:AIsaExpr> */
-if (var_n_kwisa == NULL) {
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGgExpr> */
+if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4246);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4249);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwisa,self) on <var_n_kwisa:nullable TKwisa> */
-if (unlikely(var_n_kwisa == NULL)) {
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGg> */
+if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_kwisa->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwisa:nullable TKwisa> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGg> */
 RET_LABEL3:(void)0;
 }
 }
-if (unlikely(var_n_type == NULL)) {
+if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4247);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4250);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
-if (var_n_type == NULL) {
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
+if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4248);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4251);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
-if (unlikely(var_n_type == NULL)) {
+{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
+if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
-void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AGgExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -7659,7 +7667,7 @@ short int var6 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-val* var7 /* : TKwisa */;
+val* var7 /* : Token */;
 short int var8 /* : Bool */;
 short int var10 /* : Bool */;
 short int var12 /* : Bool */;
@@ -7667,7 +7675,7 @@ short int var13 /* : Bool */;
 int cltype14;
 int idtype15;
 const char* var_class_name16;
-val* var17 /* : AType */;
+val* var17 /* : AExpr */;
 short int var18 /* : Bool */;
 short int var20 /* : Bool */;
 short int var22 /* : Bool */;
@@ -7677,10 +7685,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4253);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4256);
 fatal_exit(1);
 }
 {
@@ -7701,8 +7709,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -7715,26 +7723,26 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4254);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4257);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AIsaExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:AIsaExpr>*/
+nitc__parser_prod___AGgExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on <self:AGgExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
 if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4257);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4260);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwisa> */
+{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwisa> */
+{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
 var12 = var7 == var_other;
 var10 = var12;
 goto RET_LABEL11;
@@ -7747,9 +7755,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TKwisa */
-cltype14 = type_nit__TKwisa.color;
-idtype15 = type_nit__TKwisa.id;
+/* <var_new_child:nullable ANode> isa TGg */
+cltype14 = type_nitc__TGg.color;
+idtype15 = type_nitc__TGg.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -7761,27 +7769,27 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwisa", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4258);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGg", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4261);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AIsaExpr___n_kwisa_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_kwisa= on <self:AIsaExpr>*/
+nitc__parser_prod___AGgExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_op= on <self:AGgExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
 if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4261);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4264);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AType> */
+{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AType> */
+{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
 var22 = var17 == var_other;
 var20 = var22;
 goto RET_LABEL21;
@@ -7794,9 +7802,9 @@ RET_LABEL19:(void)0;
 }
 }
 if (var18){
-/* <var_new_child:nullable ANode> isa AType */
-cltype24 = type_nit__AType.color;
-idtype25 = type_nit__AType.id;
+/* <var_new_child:nullable ANode> isa AExpr */
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -7808,173 +7816,173 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 }
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4262);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4265);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AIsaExpr___n_type_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_type= on <self:AIsaExpr>*/
+nitc__parser_prod___AGgExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr2= on <self:AGgExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
-void nit__parser_prod___AIsaExpr___n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
+void nitc__parser_prod___AGgExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#n_kwisa= for (self: AIsaExpr, TKwisa) */
-void nit__parser_prod___AIsaExpr___n_kwisa_61d(val* self, val* p0) {
-val* var_node /* var node: TKwisa */;
+/* method parser_prod#AGgExpr#n_op= for (self: AGgExpr, Token) */
+void nitc__parser_prod___AGgExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val = var_node; /* _n_kwisa on <self:AIsaExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGgExpr> */
 {
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwisa> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwisa> */
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
-void nit__parser_prod___AIsaExpr___n_type_61d(val* self, val* p0) {
-val* var_node /* var node: AType */;
+/* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
+void nitc__parser_prod___AGgExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
 {
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
-void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
+void nitc__parser_prod___AGgExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
-val* var1 /* : TKwisa */;
-val* var2 /* : AType */;
+val* var1 /* : Token */;
+val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4286);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4289);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
 if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4287);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4290);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
 if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4288);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4291);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable TPlus, nullable AExpr) */
-void nit__parser_prod___APlusExpr___init_aplusexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable TKwisa, nullable AType) */
+void nitc__parser_prod___AIsaExpr___init_aisaexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TPlus */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
+val* var_n_kwisa /* var n_kwisa: nullable TKwisa */;
+val* var_n_type /* var n_type: nullable AType */;
 {
-{ /* Inline kernel#Object#init (self) on <self:APlusExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AIsaExpr> */
 RET_LABEL1:(void)0;
 }
 }
 var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
+var_n_kwisa = p1;
+var_n_type = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4298);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4301);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4299);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4302);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
-if (unlikely(var_n_op == NULL)) {
+if (unlikely(var_n_kwisa == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4300);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4303);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:APlusExpr> */
-if (var_n_op == NULL) {
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_kwisa].val = var_n_kwisa; /* _n_kwisa on <self:AIsaExpr> */
+if (var_n_kwisa == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4301);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4304);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TPlus> */
-if (unlikely(var_n_op == NULL)) {
+{ /* Inline parser_nodes#ANode#parent= (var_n_kwisa,self) on <var_n_kwisa:nullable TKwisa> */
+if (unlikely(var_n_kwisa == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TPlus> */
+var_n_kwisa->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwisa:nullable TKwisa> */
 RET_LABEL3:(void)0;
 }
 }
-if (unlikely(var_n_expr2 == NULL)) {
+if (unlikely(var_n_type == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4302);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4305);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
-if (var_n_expr2 == NULL) {
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
+if (var_n_type == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4303);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4306);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
+{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
+if (unlikely(var_n_type == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_type->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AIsaExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -7986,7 +7994,7 @@ short int var6 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-val* var7 /* : Token */;
+val* var7 /* : TKwisa */;
 short int var8 /* : Bool */;
 short int var10 /* : Bool */;
 short int var12 /* : Bool */;
@@ -7994,7 +8002,7 @@ short int var13 /* : Bool */;
 int cltype14;
 int idtype15;
 const char* var_class_name16;
-val* var17 /* : AExpr */;
+val* var17 /* : AType */;
 short int var18 /* : Bool */;
 short int var20 /* : Bool */;
 short int var22 /* : Bool */;
@@ -8004,10 +8012,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4308);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4311);
 fatal_exit(1);
 }
 {
@@ -8028,8 +8036,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -8042,26 +8050,26 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4309);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4312);
 fatal_exit(1);
 }
 {
-nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on <self:APlusExpr>*/
+nitc__parser_prod___AIsaExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:AIsaExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
 if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4312);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4315);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
+{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwisa> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
+{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwisa> */
 var12 = var7 == var_other;
 var10 = var12;
 goto RET_LABEL11;
@@ -8074,9 +8082,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TPlus */
-cltype14 = type_nit__TPlus.color;
-idtype15 = type_nit__TPlus.id;
+/* <var_new_child:nullable ANode> isa TKwisa */
+cltype14 = type_nitc__TKwisa.color;
+idtype15 = type_nitc__TKwisa.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -8088,27 +8096,27 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TPlus", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4313);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwisa", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4316);
 fatal_exit(1);
 }
 {
-nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_op= on <self:APlusExpr>*/
+nitc__parser_prod___AIsaExpr___n_kwisa_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_kwisa= on <self:AIsaExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
 if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4316);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4319);
 fatal_exit(1);
 }
 {
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
+{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AType> */
 var_other = var_old_child;
 {
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
+{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AType> */
 var22 = var17 == var_other;
 var20 = var22;
 goto RET_LABEL21;
@@ -8121,9 +8129,9 @@ RET_LABEL19:(void)0;
 }
 }
 if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+/* <var_new_child:nullable ANode> isa AType */
+cltype24 = type_nitc__AType.color;
+idtype25 = type_nitc__AType.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -8135,100 +8143,100 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 }
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4317);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name26);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4320);
 fatal_exit(1);
 }
 {
-nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr2= on <self:APlusExpr>*/
+nitc__parser_prod___AIsaExpr___n_type_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_type= on <self:AIsaExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
+void nitc__parser_prod___AIsaExpr___n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#n_op= for (self: APlusExpr, Token) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
+/* method parser_prod#AIsaExpr#n_kwisa= for (self: AIsaExpr, TKwisa) */
+void nitc__parser_prod___AIsaExpr___n_kwisa_61d(val* self, val* p0) {
+val* var_node /* var node: TKwisa */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:APlusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_kwisa].val = var_node; /* _n_kwisa on <self:AIsaExpr> */
 {
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwisa> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwisa> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
+/* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
+void nitc__parser_prod___AIsaExpr___n_type_61d(val* self, val* p0) {
+val* var_node /* var node: AType */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
 {
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
+void nitc__parser_prod___AIsaExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
+val* var1 /* : TKwisa */;
+val* var2 /* : AType */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4341);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4344);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
 if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4342);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4345);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
 if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4343);
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4346);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable TMinus, nullable AExpr) */
-void nit__parser_prod___AMinusExpr___init_aminusexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable TPlus, nullable AExpr) */
+void nitc__parser_prod___APlusExpr___init_aplusexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TMinus */;
+val* var_n_op /* var n_op: nullable TPlus */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AMinusExpr> */
+{ /* Inline kernel#Object#init (self) on <self:APlusExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -8237,71 +8245,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4353);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4356);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4354);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4357);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4355);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4358);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:APlusExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4356);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4359);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TMinus> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TPlus> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TMinus> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TPlus> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4357);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4360);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4358);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4361);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
+void nitc__parser_prod___APlusExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -8331,10 +8339,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4363);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4366);
 fatal_exit(1);
 }
 {
@@ -8355,8 +8363,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -8369,19 +8377,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4364);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4367);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:AMinusExpr>*/
+nitc__parser_prod___APlusExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on <self:APlusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4367);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4370);
 fatal_exit(1);
 }
 {
@@ -8401,9 +8409,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TMinus */
-cltype14 = type_nit__TMinus.color;
-idtype15 = type_nit__TMinus.id;
+/* <var_new_child:nullable ANode> isa TPlus */
+cltype14 = type_nitc__TPlus.color;
+idtype15 = type_nitc__TPlus.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -8415,20 +8423,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4368);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TPlus", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4371);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_op= on <self:AMinusExpr>*/
+nitc__parser_prod___APlusExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_op= on <self:APlusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4371);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4374);
 fatal_exit(1);
 }
 {
@@ -8449,8 +8457,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -8463,99 +8471,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4372);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4375);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr2= on <self:AMinusExpr>*/
+nitc__parser_prod___APlusExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr2= on <self:APlusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
+void nitc__parser_prod___APlusExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#n_op= for (self: AMinusExpr, Token) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#APlusExpr#n_op= for (self: APlusExpr, Token) */
+void nitc__parser_prod___APlusExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:APlusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
+void nitc__parser_prod___APlusExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
+void nitc__parser_prod___APlusExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4396);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4399);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4397);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4400);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4398);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4401);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable TStarship, nullable AExpr) */
-void nit__parser_prod___AStarshipExpr___init_astarshipexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable TMinus, nullable AExpr) */
+void nitc__parser_prod___AMinusExpr___init_aminusexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStarship */;
+val* var_n_op /* var n_op: nullable TMinus */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AStarshipExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AMinusExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -8564,71 +8572,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4408);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4411);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4409);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4412);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4410);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4413);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AMinusExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4411);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4414);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarship> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TMinus> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarship> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TMinus> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4412);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4415);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4413);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4416);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -8658,10 +8666,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4418);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4421);
 fatal_exit(1);
 }
 {
@@ -8682,8 +8690,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -8696,19 +8704,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4419);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4422);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:AStarshipExpr>*/
+nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:AMinusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4422);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4425);
 fatal_exit(1);
 }
 {
@@ -8728,9 +8736,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TStarship */
-cltype14 = type_nit__TStarship.color;
-idtype15 = type_nit__TStarship.id;
+/* <var_new_child:nullable ANode> isa TMinus */
+cltype14 = type_nitc__TMinus.color;
+idtype15 = type_nitc__TMinus.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -8742,20 +8750,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarship", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4423);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4426);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_op= on <self:AStarshipExpr>*/
+nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_op= on <self:AMinusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4426);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4429);
 fatal_exit(1);
 }
 {
@@ -8776,8 +8784,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -8790,99 +8798,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4427);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4430);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr2= on <self:AStarshipExpr>*/
+nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr2= on <self:AMinusExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
+void nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#n_op= for (self: AStarshipExpr, Token) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AMinusExpr#n_op= for (self: AMinusExpr, Token) */
+void nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AMinusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
+void nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
+void nitc__parser_prod___AMinusExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4451);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4454);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4452);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4455);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4453);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4456);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable TStar, nullable AExpr) */
-void nit__parser_prod___AStarExpr___init_astarexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable TStarship, nullable AExpr) */
+void nitc__parser_prod___AStarshipExpr___init_astarshipexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStar */;
+val* var_n_op /* var n_op: nullable TStarship */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AStarExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AStarshipExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -8891,71 +8899,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4463);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4466);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4464);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4467);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4465);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4468);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarshipExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4466);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4469);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStar> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarship> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStar> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarship> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4467);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4470);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4468);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4471);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -8985,10 +8993,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4473);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4476);
 fatal_exit(1);
 }
 {
@@ -9009,8 +9017,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -9023,19 +9031,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4474);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4477);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on <self:AStarExpr>*/
+nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:AStarshipExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4477);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4480);
 fatal_exit(1);
 }
 {
@@ -9055,9 +9063,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TStar */
-cltype14 = type_nit__TStar.color;
-idtype15 = type_nit__TStar.id;
+/* <var_new_child:nullable ANode> isa TStarship */
+cltype14 = type_nitc__TStarship.color;
+idtype15 = type_nitc__TStarship.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -9069,20 +9077,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStar", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4478);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarship", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4481);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_op= on <self:AStarExpr>*/
+nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_op= on <self:AStarshipExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4481);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4484);
 fatal_exit(1);
 }
 {
@@ -9103,8 +9111,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -9117,99 +9125,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4482);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4485);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr2= on <self:AStarExpr>*/
+nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr2= on <self:AStarshipExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
+void nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#n_op= for (self: AStarExpr, Token) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AStarshipExpr#n_op= for (self: AStarshipExpr, Token) */
+void nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarshipExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
+void nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
+void nitc__parser_prod___AStarshipExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4506);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4509);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4507);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4510);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4508);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4511);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable TStarstar, nullable AExpr) */
-void nit__parser_prod___AStarstarExpr___init_astarstarexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable TStar, nullable AExpr) */
+void nitc__parser_prod___AStarExpr___init_astarexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStarstar */;
+val* var_n_op /* var n_op: nullable TStar */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:AStarstarExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AStarExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -9218,71 +9226,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4518);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4521);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4519);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4522);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4520);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4523);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4521);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4524);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarstar> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStar> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarstar> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStar> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4522);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4525);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4523);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4526);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AStarExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -9312,10 +9320,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4528);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4531);
 fatal_exit(1);
 }
 {
@@ -9336,8 +9344,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -9350,19 +9358,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4529);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4532);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:AStarstarExpr>*/
+nitc__parser_prod___AStarExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on <self:AStarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4532);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4535);
 fatal_exit(1);
 }
 {
@@ -9382,9 +9390,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TStarstar */
-cltype14 = type_nit__TStarstar.color;
-idtype15 = type_nit__TStarstar.id;
+/* <var_new_child:nullable ANode> isa TStar */
+cltype14 = type_nitc__TStar.color;
+idtype15 = type_nitc__TStar.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -9396,20 +9404,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarstar", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4533);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStar", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4536);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_op= on <self:AStarstarExpr>*/
+nitc__parser_prod___AStarExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_op= on <self:AStarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4536);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4539);
 fatal_exit(1);
 }
 {
@@ -9430,8 +9438,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -9444,99 +9452,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4537);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4540);
 fatal_exit(1);
 }
 {
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr2= on <self:AStarstarExpr>*/
+nitc__parser_prod___AStarExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr2= on <self:AStarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#n_expr= for (self: AStarstarExpr, AExpr) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
+void nitc__parser_prod___AStarExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#n_op= for (self: AStarstarExpr, Token) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AStarExpr#n_op= for (self: AStarExpr, Token) */
+void nitc__parser_prod___AStarExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
+void nitc__parser_prod___AStarExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarstarExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
+void nitc__parser_prod___AStarExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4561);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4564);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4562);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4565);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4563);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4566);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable TSlash, nullable AExpr) */
-void nit__parser_prod___ASlashExpr___init_aslashexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable TStarstar, nullable AExpr) */
+void nitc__parser_prod___AStarstarExpr___init_astarstarexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TSlash */;
+val* var_n_op /* var n_op: nullable TStarstar */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:ASlashExpr> */
+{ /* Inline kernel#Object#init (self) on <self:AStarstarExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -9545,71 +9553,71 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4573);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4576);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarstarExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4574);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4577);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4575);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4578);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarstarExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4576);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4579);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TSlash> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarstar> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TSlash> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarstar> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4577);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4580);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarstarExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4578);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4581);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
+/* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */
+void nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
 val* var_old_child /* var old_child: ANode */;
 val* var_new_child /* var new_child: nullable ANode */;
 val* var /* : AExpr */;
@@ -9639,10 +9647,10 @@ int idtype25;
 const char* var_class_name26;
 var_old_child = p0;
 var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4583);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4586);
 fatal_exit(1);
 }
 {
@@ -9663,8 +9671,8 @@ RET_LABEL2:(void)0;
 }
 if (var1){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
+cltype = type_nitc__AExpr.color;
+idtype = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var6 = 0;
 } else {
@@ -9677,19 +9685,19 @@ var6 = var_new_child->type->type_table[cltype] == idtype;
 if (unlikely(!var6)) {
 var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4584);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4587);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr= on <self:ASlashExpr>*/
+nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:AStarstarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ASlashExpr> */
+var7 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
 if (unlikely(var7 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4587);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4590);
 fatal_exit(1);
 }
 {
@@ -9709,9 +9717,9 @@ RET_LABEL9:(void)0;
 }
 }
 if (var8){
-/* <var_new_child:nullable ANode> isa TSlash */
-cltype14 = type_nit__TSlash.color;
-idtype15 = type_nit__TSlash.id;
+/* <var_new_child:nullable ANode> isa TStarstar */
+cltype14 = type_nitc__TStarstar.color;
+idtype15 = type_nitc__TStarstar.id;
 if(var_new_child == NULL) {
 var13 = 0;
 } else {
@@ -9723,20 +9731,20 @@ var13 = var_new_child->type->type_table[cltype14] == idtype15;
 }
 if (unlikely(!var13)) {
 var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TSlash", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4588);
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarstar", var_class_name16);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4591);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_op= on <self:ASlashExpr>*/
+nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_op= on <self:AStarstarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
+var17 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
 if (unlikely(var17 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4591);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4594);
 fatal_exit(1);
 }
 {
@@ -9757,8 +9765,8 @@ RET_LABEL19:(void)0;
 }
 if (var18){
 /* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
+cltype24 = type_nitc__AExpr.color;
+idtype25 = type_nitc__AExpr.id;
 if(var_new_child == NULL) {
 var23 = 0;
 } else {
@@ -9771,99 +9779,99 @@ var23 = var_new_child->type->type_table[cltype24] == idtype25;
 if (unlikely(!var23)) {
 var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4592);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4595);
 fatal_exit(1);
 }
 {
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr2= on <self:ASlashExpr>*/
+nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr2= on <self:AStarstarExpr>*/
 }
 goto RET_LABEL;
 } else {
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
+/* method parser_prod#AStarstarExpr#n_expr= for (self: AStarstarExpr, AExpr) */
+void nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarstarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#n_op= for (self: ASlashExpr, Token) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
+/* method parser_prod#AStarstarExpr#n_op= for (self: AStarstarExpr, Token) */
+void nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
 val* var_node /* var node: Token */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarstarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
+/* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */
+void nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
 val* var_node /* var node: AExpr */;
 var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ASlashExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarstarExpr> */
 {
 { /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
+var_node->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
 RET_LABEL1:(void)0;
 }
 }
 RET_LABEL:;
 }
-/* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
+/* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */
+void nitc__parser_prod___AStarstarExpr___nitc__parser_nodes__ANode__visit_all(val* self, val* p0) {
 val* var_v /* var v: Visitor */;
 val* var /* : AExpr */;
 val* var1 /* : Token */;
 val* var2 /* : AExpr */;
 var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
+var = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
 if (unlikely(var == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4616);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4619);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ASlashExpr> */
+var1 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4617);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4620);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
+var2 = self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4618);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4621);
 fatal_exit(1);
 }
 {
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
+nitc___nitc__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
 }
 RET_LABEL:;
 }
-/* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable TPercent, nullable AExpr) */
-void nit__parser_prod___APercentExpr___init_apercentexpr(val* self, val* p0, val* p1, val* p2) {
+/* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable TSlash, nullable AExpr) */
+void nitc__parser_prod___ASlashExpr___init_aslashexpr(val* self, val* p0, val* p1, val* p2) {
 val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TPercent */;
+val* var_n_op /* var n_op: nullable TSlash */;
 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
 {
-{ /* Inline kernel#Object#init (self) on <self:APercentExpr> */
+{ /* Inline kernel#Object#init (self) on <self:ASlashExpr> */
 RET_LABEL1:(void)0;
 }
 }
@@ -9872,64 +9880,64 @@ var_n_op = p1;
 var_n_expr2 = p2;
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4628);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4631);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
 if (var_n_expr == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4629);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4632);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
 if (unlikely(var_n_expr == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
+var_n_expr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
 RET_LABEL2:(void)0;
 }
 }
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4630);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4633);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:APercentExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ASlashExpr> */
 if (var_n_op == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4631);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4634);
 fatal_exit(1);
 } else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TPercent> */
+{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TSlash> */
 if (unlikely(var_n_op == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TPercent> */
+var_n_op->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TSlash> */
 RET_LABEL3:(void)0;
 }
 }
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4632);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4635);
 fatal_exit(1);
 }
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
+self->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
 if (var_n_expr2 == NULL) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4633);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_prod, 4636);
 fatal_exit(1);
 } else {
 { /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
 if (unlikely(var_n_expr2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
+PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 46);
 fatal_exit(1);
 }
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
+var_n_expr2->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
 RET_LABEL4:(void)0;
 }
 }