readme: add information section
[nit.git] / c_src / nit__literal.sep.1.c
index 04fca40..ed8374a 100644 (file)
@@ -10,8 +10,8 @@ var_nmodule = p0;
 var2 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on <self:LiteralPhase> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 201);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -30,10 +30,10 @@ val* var_v /* var v: LiteralVisitor */;
 var_toolcontext = p0;
 var = NEW_nit__literal__LiteralVisitor(&type_nit__literal__LiteralVisitor);
 {
-((void (*)(val* self, val* p0))(var->class->vft[COLOR_nit__literal__LiteralVisitor__toolcontext_61d]))(var, var_toolcontext) /* toolcontext= on <var:LiteralVisitor>*/;
+((void(*)(val* self, val* p0))(var->class->vft[COLOR_nit__literal__LiteralVisitor__toolcontext_61d]))(var, var_toolcontext); /* toolcontext= on <var:LiteralVisitor>*/
 }
 {
-((void (*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var) /* init on <var:LiteralVisitor>*/;
+((void(*)(val* self))(var->class->vft[COLOR_standard__kernel__Object__init]))(var); /* init on <var:LiteralVisitor>*/
 }
 var_v = var;
 {
@@ -49,7 +49,7 @@ var1 = self->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _to
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
-show_backtrace(1);
+fatal_exit(1);
 }
 var = var1;
 RET_LABEL:;
@@ -65,17 +65,17 @@ void nit__literal___nit__literal__LiteralVisitor___nit__parser_nodes__Visitor__v
 val* var_n /* var n: ANode */;
 var_n = p0;
 {
-((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__literal__ANode__accept_literal]))(var_n, self) /* accept_literal on <var_n:ANode>*/;
+((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__literal__ANode__accept_literal]))(var_n, self); /* accept_literal on <var_n:ANode>*/
 }
 {
-((void (*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
+((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on <var_n:ANode>*/
 }
 RET_LABEL:;
 }
 /* method literal#LiteralVisitor#init for (self: LiteralVisitor) */
 void nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init(val* self) {
 {
-((void (*)(val* self))(self->class->vft[COLOR_nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init]))(self) /* init on <self:LiteralVisitor>*/;
+((void(*)(val* self))(self->class->vft[COLOR_nit__literal___nit__literal__LiteralVisitor___standard__kernel__Object__init]))(self); /* init on <self:LiteralVisitor>*/
 }
 RET_LABEL:;
 }
@@ -92,9 +92,8 @@ short int var1 /* : Bool */;
 int cltype;
 int idtype;
 short int var2 /* : Bool */;
-val* var3 /* : null */;
-val* var4 /* : nullable String */;
-val* var6 /* : nullable String */;
+val* var3 /* : nullable String */;
+val* var5 /* : nullable String */;
 /* <self:AExpr> isa AStringFormExpr */
 cltype = type_nit__AStringFormExpr.color;
 idtype = type_nit__AStringFormExpr.id;
@@ -105,24 +104,23 @@ var1 = self->type->type_table[cltype] == idtype;
 }
 var2 = !var1;
 if (var2){
-var3 = NULL;
-var = var3;
+var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline literal#AStringFormExpr#value (self) on <self:AExpr(AStringFormExpr)> */
-var6 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on <self:AExpr(AStringFormExpr)> */
-var4 = var6;
-RET_LABEL5:(void)0;
+var5 = self->attrs[COLOR_nit__literal__AStringFormExpr___value].val; /* _value on <self:AExpr(AStringFormExpr)> */
+var3 = var5;
+RET_LABEL4:(void)0;
 }
 }
-if (unlikely(var4 == NULL)) {
+if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Cast failed");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 65);
-show_backtrace(1);
+fatal_exit(1);
 }
-var = var4;
+var = var3;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
@@ -138,24 +136,21 @@ short int var3 /* : Bool */;
 int cltype4;
 int idtype5;
 short int var6 /* : Bool */;
-val* var7 /* : null */;
-val* var8 /* : AExpr */;
-val* var10 /* : AExpr */;
-short int var11 /* : Bool */;
-int cltype12;
-int idtype13;
-short int var14 /* : Bool */;
-val* var15 /* : null */;
+val* var7 /* : AExpr */;
+val* var9 /* : AExpr */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+short int var13 /* : Bool */;
+val* var14 /* : AExprs */;
 val* var16 /* : AExprs */;
-val* var18 /* : AExprs */;
+val* var17 /* : ANodes[AExpr] */;
 val* var19 /* : ANodes[AExpr] */;
-val* var21 /* : ANodes[AExpr] */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-val* var24 /* : null */;
-val* var25 /* : TId */;
-val* var27 /* : TId */;
-val* var28 /* : String */;
+short int var20 /* : Bool */;
+short int var21 /* : Bool */;
+val* var22 /* : TId */;
+val* var24 /* : TId */;
+val* var25 /* : String */;
 /* <self:AExpr> isa AMethidExpr */
 cltype = type_nit__AMethidExpr.color;
 idtype = type_nit__AMethidExpr.id;
@@ -182,88 +177,160 @@ var3 = self->type->type_table[cltype4] == idtype5;
 }
 var6 = !var3;
 if (var6){
-var7 = NULL;
-var = var7;
+var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:AExpr(ACallExpr)> */
-var10 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AExpr(ACallExpr)> */
-if (unlikely(var10 == NULL)) {
+var9 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AExpr(ACallExpr)> */
+if (unlikely(var9 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1802);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2025);
+fatal_exit(1);
 }
-var8 = var10;
-RET_LABEL9:(void)0;
+var7 = var9;
+RET_LABEL8:(void)0;
 }
 }
-/* <var8:AExpr> isa AImplicitSelfExpr */
-cltype12 = type_nit__AImplicitSelfExpr.color;
-idtype13 = type_nit__AImplicitSelfExpr.id;
-if(cltype12 >= var8->type->table_size) {
-var11 = 0;
+/* <var7:AExpr> isa AImplicitSelfExpr */
+cltype11 = type_nit__AImplicitSelfExpr.color;
+idtype12 = type_nit__AImplicitSelfExpr.id;
+if(cltype11 >= var7->type->table_size) {
+var10 = 0;
 } else {
-var11 = var8->type->type_table[cltype12] == idtype13;
+var10 = var7->type->type_table[cltype11] == idtype12;
 }
-var14 = !var11;
-if (var14){
-var15 = NULL;
-var = var15;
+var13 = !var10;
+if (var13){
+var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:AExpr(ACallExpr)> */
-var18 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:AExpr(ACallExpr)> */
-if (unlikely(var18 == NULL)) {
+var16 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:AExpr(ACallExpr)> */
+if (unlikely(var16 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2002);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2295);
+fatal_exit(1);
 }
-var16 = var18;
-RET_LABEL17:(void)0;
+var14 = var16;
+RET_LABEL15:(void)0;
 }
 }
 {
-{ /* Inline parser_nodes#AExprs#n_exprs (var16) on <var16:AExprs> */
-var21 = var16->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var16:AExprs> */
-if (unlikely(var21 == NULL)) {
+{ /* Inline parser_nodes#AExprs#n_exprs (var14) on <var14:AExprs> */
+var19 = var14->attrs[COLOR_nit__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var14:AExprs> */
+if (unlikely(var19 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2408);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2771);
+fatal_exit(1);
 }
-var19 = var21;
-RET_LABEL20:(void)0;
+var17 = var19;
+RET_LABEL18:(void)0;
 }
 }
 {
-var22 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var19);
+var20 = nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var17);
 }
-var23 = !var22;
-if (var23){
-var24 = NULL;
-var = var24;
+var21 = !var20;
+if (var21){
+var = ((val*)NULL);
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:AExpr(ACallExpr)> */
-var27 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:AExpr(ACallExpr)> */
-if (unlikely(var27 == NULL)) {
+var24 = self->attrs[COLOR_nit__parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:AExpr(ACallExpr)> */
+if (unlikely(var24 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1999);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2292);
+fatal_exit(1);
 }
-var25 = var27;
-RET_LABEL26:(void)0;
+var22 = var24;
+RET_LABEL23:(void)0;
 }
 }
 {
-var28 = nit__lexer_work___Token___text(var25);
+var25 = nit__lexer_work___Token___text(var22);
 }
-var = var28;
+var = var25;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method literal#Text#remove_underscores for (self: Text): Text */
+val* nit__literal___standard__Text___remove_underscores(val* self) {
+val* var /* : Text */;
+val* var1 /* : FlatBuffer */;
+val* var_b /* var b: FlatBuffer */;
+val* var3 /* : SequenceRead[Char] */;
+val* var_ /* var : SequenceRead[Char] */;
+val* var4 /* : Iterator[nullable Object] */;
+val* var_5 /* var : IndexedIterator[Char] */;
+short int var6 /* : Bool */;
+val* var7 /* : nullable Object */;
+uint32_t var8 /* : Char */;
+uint32_t var_i /* var i: Char */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
+{
+{ /* Inline string#FlatBuffer#init (var1) on <var1:FlatBuffer> */
+{
+((void(*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1); /* init on <var1:FlatBuffer>*/
+}
+RET_LABEL2:(void)0;
+}
+}
+var_b = var1;
+{
+var3 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on <self:Text>*/
+}
+var_ = var3;
+{
+var4 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:SequenceRead[Char]>*/
+}
+var_5 = var4;
+for(;;) {
+{
+var6 = ((short int(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_5); /* is_ok on <var_5:IndexedIterator[Char]>*/
+}
+if (var6){
+{
+var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_5); /* item on <var_5:IndexedIterator[Char]>*/
+}
+var8 = (uint32_t)((long)(var7)>>2);
+var_i = var8;
+{
+{ /* Inline kernel#Char#== (var_i,'_') on <var_i:Char> */
+var11 = var_i == '_';
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
+}
+}
+if (var9){
+goto BREAK_label;
+} else {
+}
+{
+standard___standard__FlatBuffer___Buffer__add(var_b, var_i); /* Direct call string#FlatBuffer#add on <var_b:FlatBuffer>*/
+}
+BREAK_label: (void)0;
+{
+((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_5); /* next on <var_5:IndexedIterator[Char]>*/
+}
+} else {
+goto BREAK_label12;
+}
+}
+BREAK_label12: (void)0;
+{
+((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_5); /* finish on <var_5:IndexedIterator[Char]>*/
+}
+var = var_b;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
@@ -296,8 +363,8 @@ var_v = p0;
 var2 = self->attrs[COLOR_nit__parser_nodes__ADecIntExpr___n_number].val; /* _n_number on <self:ADecIntExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2216);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2512);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -311,7 +378,7 @@ var4 = standard___standard__Text___to_i(var3);
 }
 {
 { /* Inline literal#AIntExpr#value= (self,var4) on <self:ADecIntExpr> */
-var6 = BOX_standard__Int(var4); /* autobox from Int to nullable Int */
+var6 = (val*)(var4<<2|1);
 self->attrs[COLOR_nit__literal__AIntExpr___value].val = var6; /* _value on <self:ADecIntExpr> */
 RET_LABEL5:(void)0;
 }
@@ -324,18 +391,29 @@ val* var_v /* var v: LiteralVisitor */;
 val* var /* : THexNumber */;
 val* var2 /* : THexNumber */;
 val* var3 /* : String */;
-long var4 /* : Int */;
+val* var4 /* : Text */;
 val* var5 /* : Text */;
-long var6 /* : Int */;
-val* var8 /* : nullable Int */;
+val* var_s /* var s: Text */;
+short int var6 /* : Bool */;
+val* var7 /* : ToolContext */;
+val* var9 /* : ToolContext */;
+val* var10 /* : Location */;
+val* var12 /* : Location */;
+static val* varonce;
+val* var13 /* : String */;
+char* var14 /* : NativeString */;
+val* var15 /* : FlatString */;
+val* var16 /* : Message */;
+long var17 /* : Int */;
+val* var19 /* : nullable Int */;
 var_v = p0;
 {
 { /* Inline parser_nodes#AHexIntExpr#n_hex_number (self) on <self:AHexIntExpr> */
 var2 = self->attrs[COLOR_nit__parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on <self:AHexIntExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2224);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2520);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -344,18 +422,763 @@ RET_LABEL1:(void)0;
 {
 var3 = nit__lexer_work___Token___text(var);
 }
-var4 = 2;
 {
-var5 = standard___standard__Text___substring_from(var3, var4);
+var4 = standard___standard__Text___substring_from(var3, 2l);
 }
 {
-var6 = standard___standard__Text___to_hex(var5);
+var5 = nit__literal___standard__Text___remove_underscores(var4);
 }
+var_s = var5;
 {
-{ /* Inline literal#AIntExpr#value= (self,var6) on <self:AHexIntExpr> */
-var8 = BOX_standard__Int(var6); /* autobox from Int to nullable Int */
-self->attrs[COLOR_nit__literal__AIntExpr___value].val = var8; /* _value on <self:AHexIntExpr> */
-RET_LABEL7:(void)0;
+var6 = standard___standard__Text___is_empty(var_s);
+}
+if (var6){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:AHexIntExpr> */
+var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:AHexIntExpr> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var13 = varonce;
+} else {
+var14 = "Error: invalid hexadecimal literal";
+var15 = standard___standard__NativeString___to_s_with_length(var14, 34l);
+var13 = var15;
+varonce = var13;
+}
+{
+var16 = nit___nit__ToolContext___error(var7, var10, var13);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var17 = standard___standard__Text___to_hex(var_s);
+}
+{
+{ /* Inline literal#AIntExpr#value= (self,var17) on <self:AHexIntExpr> */
+var19 = (val*)(var17<<2|1);
+self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on <self:AHexIntExpr> */
+RET_LABEL18:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#ABinIntExpr#accept_literal for (self: ABinIntExpr, LiteralVisitor) */
+void nit__literal___ABinIntExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : TBinNumber */;
+val* var2 /* : TBinNumber */;
+val* var3 /* : String */;
+val* var4 /* : Text */;
+val* var5 /* : Text */;
+val* var_s /* var s: Text */;
+short int var6 /* : Bool */;
+val* var7 /* : ToolContext */;
+val* var9 /* : ToolContext */;
+val* var10 /* : Location */;
+val* var12 /* : Location */;
+static val* varonce;
+val* var13 /* : String */;
+char* var14 /* : NativeString */;
+val* var15 /* : FlatString */;
+val* var16 /* : Message */;
+long var17 /* : Int */;
+val* var19 /* : nullable Int */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#ABinIntExpr#n_bin_number (self) on <self:ABinIntExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__ABinIntExpr___n_bin_number].val; /* _n_bin_number on <self:ABinIntExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bin_number");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2528);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+{
+var4 = standard___standard__Text___substring_from(var3, 2l);
+}
+{
+var5 = nit__literal___standard__Text___remove_underscores(var4);
+}
+var_s = var5;
+{
+var6 = standard___standard__Text___is_empty(var_s);
+}
+if (var6){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:ABinIntExpr> */
+var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:ABinIntExpr> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var13 = varonce;
+} else {
+var14 = "Error: invalid binary literal";
+var15 = standard___standard__NativeString___to_s_with_length(var14, 29l);
+var13 = var15;
+varonce = var13;
+}
+{
+var16 = nit___nit__ToolContext___error(var7, var10, var13);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var17 = standard___standard__Text___to_bin(var_s);
+}
+{
+{ /* Inline literal#AIntExpr#value= (self,var17) on <self:ABinIntExpr> */
+var19 = (val*)(var17<<2|1);
+self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on <self:ABinIntExpr> */
+RET_LABEL18:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#AOctIntExpr#accept_literal for (self: AOctIntExpr, LiteralVisitor) */
+void nit__literal___AOctIntExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : TOctNumber */;
+val* var2 /* : TOctNumber */;
+val* var3 /* : String */;
+val* var4 /* : Text */;
+val* var5 /* : Text */;
+val* var_s /* var s: Text */;
+short int var6 /* : Bool */;
+val* var7 /* : ToolContext */;
+val* var9 /* : ToolContext */;
+val* var10 /* : Location */;
+val* var12 /* : Location */;
+static val* varonce;
+val* var13 /* : String */;
+char* var14 /* : NativeString */;
+val* var15 /* : FlatString */;
+val* var16 /* : Message */;
+long var17 /* : Int */;
+val* var19 /* : nullable Int */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#AOctIntExpr#n_oct_number (self) on <self:AOctIntExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__AOctIntExpr___n_oct_number].val; /* _n_oct_number on <self:AOctIntExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_oct_number");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2536);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+{
+var4 = standard___standard__Text___substring_from(var3, 2l);
+}
+{
+var5 = nit__literal___standard__Text___remove_underscores(var4);
+}
+var_s = var5;
+{
+var6 = standard___standard__Text___is_empty(var_s);
+}
+if (var6){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var9 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var9 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var7 = var9;
+RET_LABEL8:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:AOctIntExpr> */
+var12 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:AOctIntExpr> */
+if (unlikely(var12 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var13 = varonce;
+} else {
+var14 = "Error: invalid octal literal";
+var15 = standard___standard__NativeString___to_s_with_length(var14, 28l);
+var13 = var15;
+varonce = var13;
+}
+{
+var16 = nit___nit__ToolContext___error(var7, var10, var13);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var17 = standard___standard__Text___to_oct(var_s);
+}
+{
+{ /* Inline literal#AIntExpr#value= (self,var17) on <self:AOctIntExpr> */
+var19 = (val*)(var17<<2|1);
+self->attrs[COLOR_nit__literal__AIntExpr___value].val = var19; /* _value on <self:AOctIntExpr> */
+RET_LABEL18:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#AByteExpr#value for (self: AByteExpr): nullable Byte */
+val* nit__literal___AByteExpr___value(val* self) {
+val* var /* : nullable Byte */;
+val* var1 /* : nullable Byte */;
+var1 = self->attrs[COLOR_nit__literal__AByteExpr___value].val; /* _value on <self:AByteExpr> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method literal#AByteExpr#value= for (self: AByteExpr, nullable Byte) */
+void nit__literal___AByteExpr___value_61d(val* self, val* p0) {
+self->attrs[COLOR_nit__literal__AByteExpr___value].val = p0; /* _value on <self:AByteExpr> */
+RET_LABEL:;
+}
+/* method literal#ADecByteExpr#accept_literal for (self: ADecByteExpr, LiteralVisitor) */
+void nit__literal___ADecByteExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : TBytenum */;
+val* var2 /* : TBytenum */;
+val* var3 /* : String */;
+val* var_t /* var t: String */;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var8 /* : Int */;
+val* var9 /* : Text */;
+long var10 /* : Int */;
+unsigned char var11 /* : Byte */;
+unsigned char var13 /* : Byte */;
+val* var15 /* : nullable Byte */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#ADecByteExpr#n_bytenum (self) on <self:ADecByteExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__ADecByteExpr___n_bytenum].val; /* _n_bytenum on <self:ADecByteExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bytenum");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2549);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+var_t = var3;
+{
+var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on <var_t:String>*/
+}
+{
+{ /* Inline kernel#Int#- (var4,2l) on <var4:Int> */
+/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
+/* <2l:Int> isa OTHER */
+var7 = 1; /* easy <2l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var8 = var4 - 2l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+{
+var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 0l, var5); /* substring on <var_t:String>*/
+}
+{
+var10 = standard___standard__Text___to_i(var9);
+}
+{
+{ /* Inline kernel#Int#to_b (var10) on <var10:Int> */
+var13 = (unsigned char)var10;
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+}
+{
+{ /* Inline literal#AByteExpr#value= (self,var11) on <self:ADecByteExpr> */
+var15 = BOX_standard__Byte(var11); /* autobox from Byte to nullable Byte */
+self->attrs[COLOR_nit__literal__AByteExpr___value].val = var15; /* _value on <self:ADecByteExpr> */
+RET_LABEL14:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#AHexByteExpr#accept_literal for (self: AHexByteExpr, LiteralVisitor) */
+void nit__literal___AHexByteExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : THexBytenum */;
+val* var2 /* : THexBytenum */;
+val* var3 /* : String */;
+val* var_t /* var t: String */;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var8 /* : Int */;
+val* var9 /* : Text */;
+val* var10 /* : Text */;
+val* var_s /* var s: Text */;
+short int var11 /* : Bool */;
+val* var12 /* : ToolContext */;
+val* var14 /* : ToolContext */;
+val* var15 /* : Location */;
+val* var17 /* : Location */;
+static val* varonce;
+val* var18 /* : String */;
+char* var19 /* : NativeString */;
+val* var20 /* : FlatString */;
+val* var21 /* : Message */;
+long var22 /* : Int */;
+unsigned char var23 /* : Byte */;
+unsigned char var25 /* : Byte */;
+val* var27 /* : nullable Byte */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#AHexByteExpr#n_hex_bytenum (self) on <self:AHexByteExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__AHexByteExpr___n_hex_bytenum].val; /* _n_hex_bytenum on <self:AHexByteExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_bytenum");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2557);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+var_t = var3;
+{
+var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on <var_t:String>*/
+}
+{
+{ /* Inline kernel#Int#- (var4,4l) on <var4:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var7 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var8 = var4 - 4l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+{
+var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on <var_t:String>*/
+}
+{
+var10 = nit__literal___standard__Text___remove_underscores(var9);
+}
+var_s = var10;
+{
+var11 = standard___standard__Text___is_empty(var_s);
+}
+if (var11){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var14 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:AHexByteExpr> */
+var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:AHexByteExpr> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var18 = varonce;
+} else {
+var19 = "Error: invalid hexadecimal literal";
+var20 = standard___standard__NativeString___to_s_with_length(var19, 34l);
+var18 = var20;
+varonce = var18;
+}
+{
+var21 = nit___nit__ToolContext___error(var12, var15, var18);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var22 = standard___standard__Text___to_hex(var_s);
+}
+{
+{ /* Inline kernel#Int#to_b (var22) on <var22:Int> */
+var25 = (unsigned char)var22;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+}
+{
+{ /* Inline literal#AByteExpr#value= (self,var23) on <self:AHexByteExpr> */
+var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */
+self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on <self:AHexByteExpr> */
+RET_LABEL26:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#ABinByteExpr#accept_literal for (self: ABinByteExpr, LiteralVisitor) */
+void nit__literal___ABinByteExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : TBinBytenum */;
+val* var2 /* : TBinBytenum */;
+val* var3 /* : String */;
+val* var_t /* var t: String */;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var8 /* : Int */;
+val* var9 /* : Text */;
+val* var10 /* : Text */;
+val* var_s /* var s: Text */;
+short int var11 /* : Bool */;
+val* var12 /* : ToolContext */;
+val* var14 /* : ToolContext */;
+val* var15 /* : Location */;
+val* var17 /* : Location */;
+static val* varonce;
+val* var18 /* : String */;
+char* var19 /* : NativeString */;
+val* var20 /* : FlatString */;
+val* var21 /* : Message */;
+long var22 /* : Int */;
+unsigned char var23 /* : Byte */;
+unsigned char var25 /* : Byte */;
+val* var27 /* : nullable Byte */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#ABinByteExpr#n_bin_bytenum (self) on <self:ABinByteExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__ABinByteExpr___n_bin_bytenum].val; /* _n_bin_bytenum on <self:ABinByteExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_bin_bytenum");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2565);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+var_t = var3;
+{
+var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on <var_t:String>*/
+}
+{
+{ /* Inline kernel#Int#- (var4,4l) on <var4:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var7 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var8 = var4 - 4l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+{
+var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on <var_t:String>*/
+}
+{
+var10 = nit__literal___standard__Text___remove_underscores(var9);
+}
+var_s = var10;
+{
+var11 = standard___standard__Text___is_empty(var_s);
+}
+if (var11){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var14 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:ABinByteExpr> */
+var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:ABinByteExpr> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var18 = varonce;
+} else {
+var19 = "Error: invalid binary literal";
+var20 = standard___standard__NativeString___to_s_with_length(var19, 29l);
+var18 = var20;
+varonce = var18;
+}
+{
+var21 = nit___nit__ToolContext___error(var12, var15, var18);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var22 = standard___standard__Text___to_bin(var_s);
+}
+{
+{ /* Inline kernel#Int#to_b (var22) on <var22:Int> */
+var25 = (unsigned char)var22;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+}
+{
+{ /* Inline literal#AByteExpr#value= (self,var23) on <self:ABinByteExpr> */
+var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */
+self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on <self:ABinByteExpr> */
+RET_LABEL26:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method literal#AOctByteExpr#accept_literal for (self: AOctByteExpr, LiteralVisitor) */
+void nit__literal___AOctByteExpr___ANode__accept_literal(val* self, val* p0) {
+val* var_v /* var v: LiteralVisitor */;
+val* var /* : TOctBytenum */;
+val* var2 /* : TOctBytenum */;
+val* var3 /* : String */;
+val* var_t /* var t: String */;
+long var4 /* : Int */;
+long var5 /* : Int */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var8 /* : Int */;
+val* var9 /* : Text */;
+val* var10 /* : Text */;
+val* var_s /* var s: Text */;
+short int var11 /* : Bool */;
+val* var12 /* : ToolContext */;
+val* var14 /* : ToolContext */;
+val* var15 /* : Location */;
+val* var17 /* : Location */;
+static val* varonce;
+val* var18 /* : String */;
+char* var19 /* : NativeString */;
+val* var20 /* : FlatString */;
+val* var21 /* : Message */;
+long var22 /* : Int */;
+unsigned char var23 /* : Byte */;
+unsigned char var25 /* : Byte */;
+val* var27 /* : nullable Byte */;
+var_v = p0;
+{
+{ /* Inline parser_nodes#AOctByteExpr#n_oct_bytenum (self) on <self:AOctByteExpr> */
+var2 = self->attrs[COLOR_nit__parser_nodes__AOctByteExpr___n_oct_bytenum].val; /* _n_oct_bytenum on <self:AOctByteExpr> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_oct_bytenum");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2573);
+fatal_exit(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+var3 = nit__lexer_work___Token___text(var);
+}
+var_t = var3;
+{
+var4 = ((long(*)(val* self))(var_t->class->vft[COLOR_standard__string__Text__length]))(var_t); /* length on <var_t:String>*/
+}
+{
+{ /* Inline kernel#Int#- (var4,4l) on <var4:Int> */
+/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
+/* <4l:Int> isa OTHER */
+var7 = 1; /* easy <4l:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var8 = var4 - 4l;
+var5 = var8;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+{
+var9 = ((val*(*)(val* self, long p0, long p1))(var_t->class->vft[COLOR_standard__string__Text__substring]))(var_t, 2l, var5); /* substring on <var_t:String>*/
+}
+{
+var10 = nit__literal___standard__Text___remove_underscores(var9);
+}
+var_s = var10;
+{
+var11 = standard___standard__Text___is_empty(var_s);
+}
+if (var11){
+{
+{ /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
+var14 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var14 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
+fatal_exit(1);
+}
+var12 = var14;
+RET_LABEL13:(void)0;
+}
+}
+{
+{ /* Inline parser_nodes#ANode#location (self) on <self:AOctByteExpr> */
+var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:AOctByteExpr> */
+if (unlikely(var17 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
+}
+var15 = var17;
+RET_LABEL16:(void)0;
+}
+}
+if (likely(varonce!=NULL)) {
+var18 = varonce;
+} else {
+var19 = "Error: invalid octal literal";
+var20 = standard___standard__NativeString___to_s_with_length(var19, 28l);
+var18 = var20;
+varonce = var18;
+}
+{
+var21 = nit___nit__ToolContext___error(var12, var15, var18);
+}
+goto RET_LABEL;
+} else {
+}
+{
+var22 = standard___standard__Text___to_oct(var_s);
+}
+{
+{ /* Inline kernel#Int#to_b (var22) on <var22:Int> */
+var25 = (unsigned char)var22;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+}
+{
+{ /* Inline literal#AByteExpr#value= (self,var23) on <self:AOctByteExpr> */
+var27 = BOX_standard__Byte(var23); /* autobox from Byte to nullable Byte */
+self->attrs[COLOR_nit__literal__AByteExpr___value].val = var27; /* _value on <self:AOctByteExpr> */
+RET_LABEL26:(void)0;
 }
 }
 RET_LABEL:;
@@ -379,8 +1202,8 @@ var_v = p0;
 var2 = self->attrs[COLOR_nit__parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2232);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2581);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -424,33 +1247,34 @@ val* var3 /* : String */;
 val* var4 /* : String */;
 val* var_txt /* var txt: String */;
 long var5 /* : Int */;
-long var6 /* : Int */;
-short int var7 /* : Bool */;
+short int var6 /* : Bool */;
+short int var8 /* : Bool */;
 short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-val* var11 /* : ToolContext */;
-val* var13 /* : ToolContext */;
-val* var14 /* : Location */;
+val* var10 /* : ToolContext */;
+val* var12 /* : ToolContext */;
+val* var13 /* : Location */;
+val* var14 /* : NativeArray[String] */;
 static val* varonce;
-val* var15 /* : String */;
-char* var16 /* : NativeString */;
-long var17 /* : Int */;
+static val* varonce15;
+val* var16 /* : String */;
+char* var17 /* : NativeString */;
 val* var18 /* : FlatString */;
-val* var19 /* : Array[Object] */;
-long var20 /* : Int */;
-val* var21 /* : NativeArray[Object] */;
-val* var22 /* : String */;
-val* var23 /* : SequenceRead[Char] */;
-long var24 /* : Int */;
-val* var25 /* : nullable Object */;
+static val* varonce19;
+val* var20 /* : String */;
+char* var21 /* : NativeString */;
+val* var22 /* : FlatString */;
+val* var23 /* : String */;
+val* var24 /* : Message */;
+val* var25 /* : SequenceRead[Char] */;
+val* var26 /* : nullable Object */;
 var_v = p0;
 {
 { /* Inline parser_nodes#ACharExpr#n_char (self) on <self:ACharExpr> */
 var2 = self->attrs[COLOR_nit__parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2240);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2589);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -464,73 +1288,78 @@ var4 = standard___standard__Text___unescape_nit(var3);
 }
 var_txt = var4;
 {
-var5 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
+var5 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on <var_txt:String>*/
 }
-var6 = 3;
 {
-{ /* Inline kernel#Int#!= (var5,var6) on <var5:Int> */
-var9 = var5 == var6;
-var10 = !var9;
-var7 = var10;
-goto RET_LABEL8;
-RET_LABEL8:(void)0;
+{ /* Inline kernel#Int#!= (var5,3l) on <var5:Int> */
+var8 = var5 == 3l;
+var9 = !var8;
+var6 = var9;
+goto RET_LABEL7;
+RET_LABEL7:(void)0;
 }
 }
-if (var7){
+if (var6){
 {
 { /* Inline literal#LiteralVisitor#toolcontext (var_v) on <var_v:LiteralVisitor> */
-var13 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
-if (unlikely(var13 == NULL)) {
+var12 = var_v->attrs[COLOR_nit__literal__LiteralVisitor___toolcontext].val; /* _toolcontext on <var_v:LiteralVisitor> */
+if (unlikely(var12 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__literal, 46);
-show_backtrace(1);
+fatal_exit(1);
 }
-var11 = var13;
-RET_LABEL12:(void)0;
+var10 = var12;
+RET_LABEL11:(void)0;
 }
 }
 {
-var14 = nit___nit__ANode___hot_location(self);
+var13 = nit___nit__ANode___hot_location(self);
 }
-if (varonce) {
-var15 = varonce;
+if (unlikely(varonce==NULL)) {
+var14 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+if (likely(varonce15!=NULL)) {
+var16 = varonce15;
 } else {
-var16 = "Invalid character literal ";
-var17 = 26;
-var18 = standard___standard__NativeString___to_s_with_length(var16, var17);
-var15 = var18;
-varonce = var15;
+var17 = "Syntax Error: invalid character literal `";
+var18 = standard___standard__NativeString___to_s_with_length(var17, 41l);
+var16 = var18;
+varonce15 = var16;
 }
-var19 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{ /* var19 = array_instance Array[Object] */
-var20 = 2;
-var21 = NEW_standard__NativeArray(var20, &type_standard__NativeArray__standard__Object);
-((struct instance_standard__NativeArray*)var21)->values[0] = (val*) var15;
-((struct instance_standard__NativeArray*)var21)->values[1] = (val*) var_txt;
-{
-((void (*)(val* self, val* p0, long p1))(var19->class->vft[COLOR_standard__array__Array__with_native]))(var19, var21, var20) /* with_native on <var19:Array[Object]>*/;
+((struct instance_standard__NativeArray*)var14)->values[0]=var16;
+if (likely(varonce19!=NULL)) {
+var20 = varonce19;
+} else {
+var21 = "`.";
+var22 = standard___standard__NativeString___to_s_with_length(var21, 2l);
+var20 = var22;
+varonce19 = var20;
 }
+((struct instance_standard__NativeArray*)var14)->values[2]=var20;
+} else {
+var14 = varonce;
+varonce = NULL;
 }
+((struct instance_standard__NativeArray*)var14)->values[1]=var_txt;
 {
-var22 = ((val* (*)(val* self))(var19->class->vft[COLOR_standard__string__Object__to_s]))(var19) /* to_s on <var19:Array[Object]>*/;
+var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on <var14:NativeArray[String]>*/
 }
+varonce = var14;
 {
-nit___nit__ToolContext___error(var11, var14, var22); /* Direct call toolcontext#ToolContext#error on <var11:ToolContext>*/
+var24 = nit___nit__ToolContext___error(var10, var13, var23);
 }
 goto RET_LABEL;
 } else {
 }
 {
-var23 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
 }
-var24 = 1;
 {
-var25 = ((val* (*)(val* self, long p0))(var23->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var23, var24) /* [] on <var23:SequenceRead[Char]>*/;
+var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, 1l); /* [] on <var25:SequenceRead[Char]>*/
 }
 {
-{ /* Inline literal#ACharExpr#value= (self,var25) on <self:ACharExpr> */
-self->attrs[COLOR_nit__literal__ACharExpr___value].val = var25; /* _value on <self:ACharExpr> */
-RET_LABEL26:(void)0;
+{ /* Inline literal#ACharExpr#value= (self,var26) on <self:ACharExpr> */
+self->attrs[COLOR_nit__literal__ACharExpr___value].val = var26; /* _value on <self:ACharExpr> */
+RET_LABEL27:(void)0;
 }
 }
 RET_LABEL:;
@@ -556,70 +1385,58 @@ val* var /* : Token */;
 val* var2 /* : Token */;
 val* var3 /* : String */;
 val* var_txt /* var txt: String */;
-long var4 /* : Int */;
 long var_behead /* var behead: Int */;
-long var5 /* : Int */;
 long var_betail /* var betail: Int */;
-short int var6 /* : Bool */;
+short int var4 /* : Bool */;
+val* var5 /* : SequenceRead[Char] */;
+val* var6 /* : nullable Object */;
 val* var7 /* : SequenceRead[Char] */;
-long var8 /* : Int */;
-val* var9 /* : nullable Object */;
-val* var10 /* : SequenceRead[Char] */;
-long var11 /* : Int */;
-val* var12 /* : nullable Object */;
+val* var8 /* : nullable Object */;
+short int var9 /* : Bool */;
+short int var11 /* : Bool */;
+short int var_ /* var : Bool */;
+long var12 /* : Int */;
 short int var13 /* : Bool */;
 short int var15 /* : Bool */;
-short int var_ /* var : Bool */;
-long var16 /* : Int */;
-long var17 /* : Int */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var21 /* : Bool */;
-long var22 /* : Int */;
-long var23 /* : Int */;
-short int var24 /* : Bool */;
+short int var16 /* : Bool */;
+short int var17 /* : Bool */;
+val* var18 /* : SequenceRead[Char] */;
+val* var19 /* : nullable Object */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+uint32_t var23 /* : Char */;
+short int var_24 /* var : Bool */;
 val* var25 /* : SequenceRead[Char] */;
-long var26 /* : Int */;
-val* var27 /* : nullable Object */;
-char var28 /* : Char */;
+val* var26 /* : nullable Object */;
+short int var27 /* : Bool */;
 short int var29 /* : Bool */;
-short int var31 /* : Bool */;
-char var32 /* : Char */;
-short int var_33 /* var : Bool */;
-val* var34 /* : SequenceRead[Char] */;
-long var35 /* : Int */;
-val* var36 /* : nullable Object */;
-char var37 /* : Char */;
-short int var38 /* : Bool */;
-short int var40 /* : Bool */;
-char var41 /* : Char */;
-long var42 /* : Int */;
-long var43 /* : Int */;
-long var44 /* : Int */;
-short int var46 /* : Bool */;
-int cltype47;
-int idtype48;
-const char* var_class_name49;
-long var50 /* : Int */;
-long var51 /* : Int */;
-short int var53 /* : Bool */;
-int cltype54;
-int idtype55;
-const char* var_class_name56;
-long var57 /* : Int */;
-val* var58 /* : Text */;
-val* var59 /* : String */;
+uint32_t var30 /* : Char */;
+long var31 /* : Int */;
+long var32 /* : Int */;
+short int var34 /* : Bool */;
+int cltype35;
+int idtype36;
+const char* var_class_name37;
+long var38 /* : Int */;
+long var39 /* : Int */;
+short int var41 /* : Bool */;
+int cltype42;
+int idtype43;
+const char* var_class_name44;
+long var45 /* : Int */;
+val* var46 /* : Text */;
+val* var47 /* : String */;
 var_v = p0;
 {
 { /* Inline parser_nodes#AStringFormExpr#n_string (self) on <self:AStringFormExpr> */
 var2 = self->attrs[COLOR_nit__parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringFormExpr> */
 if (unlikely(var2 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2248);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2597);
+fatal_exit(1);
 }
 var = var2;
 RET_LABEL1:(void)0;
@@ -629,164 +1446,146 @@ RET_LABEL1:(void)0;
 var3 = nit__lexer_work___Token___text(var);
 }
 var_txt = var3;
-var4 = 1;
-var_behead = var4;
-var5 = 1;
-var_betail = var5;
+var_behead = 1l;
+var_betail = 1l;
 {
-var7 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var5 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
 }
-var8 = 0;
 {
-var9 = ((val* (*)(val* self, long p0))(var7->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, var8) /* [] on <var7:SequenceRead[Char]>*/;
+var6 = ((val*(*)(val* self, long p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var5, 0l); /* [] on <var5:SequenceRead[Char]>*/
 }
 {
-var10 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var7 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
 }
-var11 = 1;
 {
-var12 = ((val* (*)(val* self, long p0))(var10->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var11) /* [] on <var10:SequenceRead[Char]>*/;
+var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, 1l); /* [] on <var7:SequenceRead[Char]>*/
 }
 {
-{ /* Inline kernel#Char#== (var9,var12) on <var9:nullable Object(Char)> */
-var15 = var9 == var12 || (((struct instance_standard__Char*)var9)->value == ((struct instance_standard__Char*)var12)->value);
-var13 = var15;
-goto RET_LABEL14;
-RET_LABEL14:(void)0;
+{ /* Inline kernel#Char#== (var6,var8) on <var6:nullable Object(Char)> */
+var11 = var6 == var8;
+var9 = var11;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
 }
 }
-var_ = var13;
-if (var13){
+var_ = var9;
+if (var9){
 {
-var16 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
+var12 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on <var_txt:String>*/
 }
-var17 = 6;
 {
-{ /* Inline kernel#Int#>= (var16,var17) on <var16:Int> */
-/* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
-/* <var17:Int> isa OTHER */
-var20 = 1; /* easy <var17:Int> isa OTHER*/
-if (unlikely(!var20)) {
+{ /* Inline kernel#Int#>= (var12,6l) on <var12:Int> */
+/* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
+/* <6l:Int> isa OTHER */
+var15 = 1; /* easy <6l:Int> isa OTHER*/
+if (unlikely(!var15)) {
 var_class_name = type_standard__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
 }
-var21 = var16 >= var17;
-var18 = var21;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
+var16 = var12 >= 6l;
+var13 = var16;
+goto RET_LABEL14;
+RET_LABEL14:(void)0;
 }
 }
-var6 = var18;
+var4 = var13;
 } else {
-var6 = var_;
+var4 = var_;
 }
-if (var6){
-var22 = 3;
-var_behead = var22;
-var23 = 3;
-var_betail = var23;
+if (var4){
+var_behead = 3l;
+var_betail = 3l;
 {
-var25 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var18 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
 }
-var26 = 0;
 {
-var27 = ((val* (*)(val* self, long p0))(var25->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, var26) /* [] on <var25:SequenceRead[Char]>*/;
+var19 = ((val*(*)(val* self, long p0))((((long)var18&3)?class_info[((long)var18&3)]:var18->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var18, 0l); /* [] on <var18:SequenceRead[Char]>*/
 }
-var28 = '\"';
 {
-{ /* Inline kernel#Char#== (var27,var28) on <var27:nullable Object(Char)> */
-var31 = (var27 != NULL) && (var27->class == &class_standard__Char);
-if (var31) {
-var32 = ((struct instance_standard__Char*)var27)->value; /* autounbox from nullable Object to Char */;
-var31 = (var32 == var28);
-}
-var29 = var31;
-goto RET_LABEL30;
-RET_LABEL30:(void)0;
+{ /* Inline kernel#Char#== (var19,'\"') on <var19:nullable Object(Char)> */
+var23 = (uint32_t)((long)(var19)>>2);
+var22 = (var19 != NULL) && (var23 == '\"');
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
 }
 }
-var_33 = var29;
-if (var29){
+var_24 = var20;
+if (var20){
 {
-var34 = ((val* (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt) /* chars on <var_txt:String>*/;
+var25 = ((val*(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__chars]))(var_txt); /* chars on <var_txt:String>*/
 }
-var35 = 3;
 {
-var36 = ((val* (*)(val* self, long p0))(var34->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var34, var35) /* [] on <var34:SequenceRead[Char]>*/;
+var26 = ((val*(*)(val* self, long p0))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var25, 3l); /* [] on <var25:SequenceRead[Char]>*/
 }
-var37 = '\n';
 {
-{ /* Inline kernel#Char#== (var36,var37) on <var36:nullable Object(Char)> */
-var40 = (var36 != NULL) && (var36->class == &class_standard__Char);
-if (var40) {
-var41 = ((struct instance_standard__Char*)var36)->value; /* autounbox from nullable Object to Char */;
-var40 = (var41 == var37);
-}
-var38 = var40;
-goto RET_LABEL39;
-RET_LABEL39:(void)0;
+{ /* Inline kernel#Char#== (var26,'\n') on <var26:nullable Object(Char)> */
+var30 = (uint32_t)((long)(var26)>>2);
+var29 = (var26 != NULL) && (var30 == '\n');
+var27 = var29;
+goto RET_LABEL28;
+RET_LABEL28:(void)0;
 }
 }
-var24 = var38;
+var17 = var27;
 } else {
-var24 = var_33;
+var17 = var_24;
 }
-if (var24){
-var42 = 4;
-var_behead = var42;
+if (var17){
+var_behead = 4l;
 } else {
 }
 } else {
 }
 {
-var43 = ((long (*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt) /* length on <var_txt:String>*/;
+var31 = ((long(*)(val* self))(var_txt->class->vft[COLOR_standard__string__Text__length]))(var_txt); /* length on <var_txt:String>*/
 }
 {
-{ /* Inline kernel#Int#- (var43,var_behead) on <var43:Int> */
+{ /* Inline kernel#Int#- (var31,var_behead) on <var31:Int> */
 /* Covariant cast for argument 0 (i) <var_behead:Int> isa OTHER */
 /* <var_behead:Int> isa OTHER */
-var46 = 1; /* easy <var_behead:Int> isa OTHER*/
-if (unlikely(!var46)) {
-var_class_name49 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+var34 = 1; /* easy <var_behead:Int> isa OTHER*/
+if (unlikely(!var34)) {
+var_class_name37 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var50 = var43 - var_behead;
-var44 = var50;
-goto RET_LABEL45;
-RET_LABEL45:(void)0;
+var38 = var31 - var_behead;
+var32 = var38;
+goto RET_LABEL33;
+RET_LABEL33:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#- (var44,var_betail) on <var44:Int> */
+{ /* Inline kernel#Int#- (var32,var_betail) on <var32:Int> */
 /* Covariant cast for argument 0 (i) <var_betail:Int> isa OTHER */
 /* <var_betail:Int> isa OTHER */
-var53 = 1; /* easy <var_betail:Int> isa OTHER*/
-if (unlikely(!var53)) {
-var_class_name56 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+var41 = 1; /* easy <var_betail:Int> isa OTHER*/
+if (unlikely(!var41)) {
+var_class_name44 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var57 = var44 - var_betail;
-var51 = var57;
-goto RET_LABEL52;
-RET_LABEL52:(void)0;
+var45 = var32 - var_betail;
+var39 = var45;
+goto RET_LABEL40;
+RET_LABEL40:(void)0;
 }
 }
 {
-var58 = ((val* (*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_standard__string__Text__substring]))(var_txt, var_behead, var51) /* substring on <var_txt:String>*/;
+var46 = ((val*(*)(val* self, long p0, long p1))(var_txt->class->vft[COLOR_standard__string__Text__substring]))(var_txt, var_behead, var39); /* substring on <var_txt:String>*/
 }
 {
-var59 = standard___standard__Text___unescape_nit(var58);
+var47 = standard___standard__Text___unescape_nit(var46);
 }
 {
-{ /* Inline literal#AStringFormExpr#value= (self,var59) on <self:AStringFormExpr> */
-self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = var59; /* _value on <self:AStringFormExpr> */
-RET_LABEL60:(void)0;
+{ /* Inline literal#AStringFormExpr#value= (self,var47) on <self:AStringFormExpr> */
+self->attrs[COLOR_nit__literal__AStringFormExpr___value].val = var47; /* _value on <self:AStringFormExpr> */
+RET_LABEL48:(void)0;
 }
 }
 RET_LABEL:;