regern c_src
[nit.git] / c_src / nit__lexer_work.sep.1.c
index 9322c3e..9019e1a 100644 (file)
@@ -4,57 +4,55 @@ val* nit__lexer_work___Token___text(val* self) {
 val* var /* : String */;
 val* var1 /* : nullable String */;
 val* var_res /* var res: nullable String */;
-val* var2 /* : null */;
+short int var2 /* : Bool */;
 short int var3 /* : Bool */;
-short int var4 /* : Bool */;
 val* var_other /* var other: nullable Object */;
+short int var5 /* : Bool */;
 short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var8 /* : Location */;
-val* var10 /* : Location */;
-val* var11 /* : String */;
+val* var7 /* : Location */;
+val* var9 /* : Location */;
+val* var10 /* : String */;
 var1 = self->attrs[COLOR_nit__lexer_work__Token___cached_text].val; /* _cached_text on <self:Token> */
 var_res = var1;
-var2 = NULL;
 if (var_res == NULL) {
-var3 = 0; /* is null */
+var2 = 0; /* is null */
 } else {
-var3 = 1; /* arg is null and recv is not */
+var2 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_res,var2) on <var_res:nullable String> */
-var_other = var2;
+{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable String> */
+var_other = ((val*)NULL);
 {
-var6 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on <var_res:nullable String(String)>*/;
+var5 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable String(String)>*/
 }
-var7 = !var6;
-var4 = var7;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
+var6 = !var5;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
 }
-var3 = var4;
+var2 = var3;
 }
-if (var3){
+if (var2){
 var = var_res;
 goto RET_LABEL;
 } else {
 }
 {
 { /* Inline parser_nodes#ANode#location (self) on <self:Token> */
-var10 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:Token> */
-if (unlikely(var10 == NULL)) {
+var9 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:Token> */
+if (unlikely(var9 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23);
-show_backtrace(1);
+PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
+fatal_exit(1);
 }
-var8 = var10;
-RET_LABEL9:(void)0;
+var7 = var9;
+RET_LABEL8:(void)0;
 }
 }
 {
-var11 = nit___nit__Location___text(var8);
+var10 = nit___nit__Location___text(var7);
 }
-var_res = var11;
+var_res = var10;
 self->attrs[COLOR_nit__lexer_work__Token___cached_text].val = var_res; /* _cached_text on <self:Token> */
 var = var_res;
 goto RET_LABEL;
@@ -66,16 +64,19 @@ void nit__lexer_work___EOF___init_tk(val* self, val* p0) {
 val* var_loc /* var loc: Location */;
 static val* varonce;
 val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
+char* var2 /* : NativeString */;
 val* var3 /* : FlatString */;
+{
+{ /* Inline kernel#Object#init (self) on <self:EOF> */
+RET_LABEL1:(void)0;
+}
+}
 var_loc = p0;
-if (varonce) {
+if (likely(varonce!=NULL)) {
 var = varonce;
 } else {
-var1 = "";
-var2 = 0;
-var3 = standard___standard__NativeString___to_s_with_length(var1, var2);
+var2 = "";
+var3 = standard___standard__NativeString___to_s_with_length(var2, 0l);
 var = var3;
 varonce = var;
 }
@@ -91,7 +92,7 @@ var1 = self->attrs[COLOR_nit__lexer_work__AError___message].val; /* _message on
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 50);
-show_backtrace(1);
+fatal_exit(1);
 }
 var = var1;
 RET_LABEL:;
@@ -175,7 +176,7 @@ var1 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:L
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
-show_backtrace(1);
+fatal_exit(1);
 }
 var = var1;
 RET_LABEL:;
@@ -205,161 +206,155 @@ val* nit___nit__Lexer___peek(val* self) {
 val* var /* : Token */;
 val* var1 /* : nullable Token */;
 val* var_t /* var t: nullable Token */;
-val* var2 /* : null */;
+short int var2 /* : Bool */;
 short int var3 /* : Bool */;
-short int var4 /* : Bool */;
 val* var_other /* var other: nullable Object */;
+short int var5 /* : Bool */;
 short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var8 /* : nullable Token */;
-val* var9 /* : null */;
-short int var10 /* : Bool */;
-short int var11 /* : Bool */;
-val* var_other13 /* var other: nullable Object */;
+val* var7 /* : nullable Token */;
+short int var8 /* : Bool */;
+short int var9 /* : Bool */;
+val* var_other11 /* var other: nullable Object */;
+short int var12 /* : Bool */;
 short int var14 /* : Bool */;
+val* var15 /* : nullable Token */;
 short int var16 /* : Bool */;
 val* var17 /* : nullable Token */;
-short int var18 /* : Bool */;
 val* var19 /* : nullable Token */;
-val* var21 /* : nullable Token */;
 val* var_l /* var l: nullable Token */;
-val* var22 /* : null */;
+short int var20 /* : Bool */;
+short int var21 /* : Bool */;
 short int var23 /* : Bool */;
 short int var24 /* : Bool */;
-short int var26 /* : Bool */;
-short int var27 /* : Bool */;
-val* var30 /* : SourceFile */;
-val* var32 /* : SourceFile */;
+val* var27 /* : SourceFile */;
+val* var29 /* : SourceFile */;
 var1 = self->attrs[COLOR_nit__lexer_work__Lexer___token].val; /* _token on <self:Lexer> */
 var_t = var1;
-var2 = NULL;
 if (var_t == NULL) {
-var3 = 0; /* is null */
+var2 = 0; /* is null */
 } else {
-var3 = 1; /* arg is null and recv is not */
+var2 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_t,var2) on <var_t:nullable Token> */
-var_other = var2;
+{ /* Inline kernel#Object#!= (var_t,((val*)NULL)) on <var_t:nullable Token> */
+var_other = ((val*)NULL);
 {
-var6 = ((short int (*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_t, var_other) /* == on <var_t:nullable Token(Token)>*/;
+var5 = ((short int(*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_t, var_other); /* == on <var_t:nullable Token(Token)>*/
 }
-var7 = !var6;
-var4 = var7;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
+var6 = !var5;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
 }
-var3 = var4;
+var2 = var3;
 }
-if (var3){
+if (var2){
 var = var_t;
 goto RET_LABEL;
 } else {
 }
 {
-var8 = nit___nit__Lexer___get_token(self);
+var7 = nit___nit__Lexer___get_token(self);
 }
-var_t = var8;
+var_t = var7;
 for(;;) {
-var9 = NULL;
 if (var_t == NULL) {
-var10 = 1; /* is null */
+var8 = 1; /* is null */
 } else {
-var10 = 0; /* arg is null but recv is not */
+var8 = 0; /* arg is null but recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#== (var_t,var9) on <var_t:nullable Token> */
-var_other13 = var9;
+{ /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable Token> */
+var_other11 = ((val*)NULL);
 {
-{ /* Inline kernel#Object#is_same_instance (var_t,var_other13) on <var_t:nullable Token(Token)> */
-var16 = var_t == var_other13;
-var14 = var16;
-goto RET_LABEL15;
-RET_LABEL15:(void)0;
+{ /* Inline kernel#Object#is_same_instance (var_t,var_other11) on <var_t:nullable Token(Token)> */
+var14 = var_t == var_other11;
+var12 = var14;
+goto RET_LABEL13;
+RET_LABEL13:(void)0;
 }
 }
-var11 = var14;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
+var9 = var12;
+goto RET_LABEL10;
+RET_LABEL10:(void)0;
 }
-var10 = var11;
+var8 = var9;
 }
-if (var10){
+if (var8){
 {
-var17 = nit___nit__Lexer___get_token(self);
+var15 = nit___nit__Lexer___get_token(self);
 }
-var_t = var17;
+var_t = var15;
 } else {
 goto BREAK_label;
 }
 }
 BREAK_label: (void)0;
-var18 = var_t->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_t:nullable Token(Token)> */
-if (var18){
+var16 = var_t->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_t:nullable Token(Token)> */
+if (var16){
 {
 { /* Inline lexer_work#Lexer#last_token (self) on <self:Lexer> */
-var21 = self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val; /* _last_token on <self:Lexer> */
-var19 = var21;
-RET_LABEL20:(void)0;
+var19 = self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val; /* _last_token on <self:Lexer> */
+var17 = var19;
+RET_LABEL18:(void)0;
 }
 }
-var_l = var19;
-var22 = NULL;
+var_l = var17;
 if (var_l == NULL) {
-var23 = 0; /* is null */
+var20 = 0; /* is null */
 } else {
-var23 = 1; /* arg is null and recv is not */
+var20 = 1; /* arg is null and recv is not */
 }
 if (0) {
-{ /* Inline kernel#Object#!= (var_l,var22) on <var_l:nullable Token> */
-var_other = var22;
+{ /* Inline kernel#Object#!= (var_l,((val*)NULL)) on <var_l:nullable Token> */
+var_other = ((val*)NULL);
 {
-var26 = ((short int (*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other) /* == on <var_l:nullable Token(Token)>*/;
+var23 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Token(Token)>*/
 }
-var27 = !var26;
-var24 = var27;
-goto RET_LABEL25;
-RET_LABEL25:(void)0;
+var24 = !var23;
+var21 = var24;
+goto RET_LABEL22;
+RET_LABEL22:(void)0;
 }
-var23 = var24;
+var20 = var21;
 }
-if (var23){
+if (var20){
 {
 { /* Inline parser_nodes#Token#next_token= (var_l,var_t) on <var_l:nullable Token(Token)> */
 var_l->attrs[COLOR_nit__parser_nodes__Token___next_token].val = var_t; /* _next_token on <var_l:nullable Token(Token)> */
-RET_LABEL28:(void)0;
+RET_LABEL25:(void)0;
 }
 }
 {
 { /* Inline parser_nodes#Token#prev_token= (var_t,var_l) on <var_t:nullable Token(Token)> */
 var_t->attrs[COLOR_nit__parser_nodes__Token___prev_token].val = var_l; /* _prev_token on <var_t:nullable Token(Token)> */
-RET_LABEL29:(void)0;
+RET_LABEL26:(void)0;
 }
 }
 } else {
 {
 { /* Inline lexer_work#Lexer#file (self) on <self:Lexer> */
-var32 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
-if (unlikely(var32 == NULL)) {
+var29 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
+if (unlikely(var29 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
-show_backtrace(1);
+fatal_exit(1);
 }
-var30 = var32;
-RET_LABEL31:(void)0;
+var27 = var29;
+RET_LABEL28:(void)0;
 }
 }
 {
-{ /* Inline parser_nodes#SourceFile#first_token= (var30,var_t) on <var30:SourceFile> */
-var30->attrs[COLOR_nit__parser_nodes__SourceFile___first_token].val = var_t; /* _first_token on <var30:SourceFile> */
-RET_LABEL33:(void)0;
+{ /* Inline parser_nodes#SourceFile#first_token= (var27,var_t) on <var27:SourceFile> */
+var27->attrs[COLOR_nit__parser_nodes__SourceFile___first_token].val = var_t; /* _first_token on <var27:SourceFile> */
+RET_LABEL30:(void)0;
 }
 }
 }
 {
 { /* Inline lexer_work#Lexer#last_token= (self,var_t) on <self:Lexer> */
 self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val = var_t; /* _last_token on <self:Lexer> */
-RET_LABEL34:(void)0;
+RET_LABEL31:(void)0;
 }
 }
 } else {
@@ -375,13 +370,11 @@ val* nit___nit__Lexer___next(val* self) {
 val* var /* : Token */;
 val* var1 /* : Token */;
 val* var_result /* var result: Token */;
-val* var2 /* : null */;
 {
 var1 = nit___nit__Lexer___peek(self);
 }
 var_result = var1;
-var2 = NULL;
-self->attrs[COLOR_nit__lexer_work__Lexer___token].val = var2; /* _token on <self:Lexer> */
+self->attrs[COLOR_nit__lexer_work__Lexer___token].val = ((val*)NULL); /* _token on <self:Lexer> */
 var = var_result;
 goto RET_LABEL;
 RET_LABEL:;
@@ -390,1012 +383,932 @@ return var;
 /* method lexer_work#Lexer#get_token for (self: Lexer): nullable Token */
 val* nit___nit__Lexer___get_token(val* self) {
 val* var /* : nullable Token */;
-long var1 /* : Int */;
 long var_dfa_state /* var dfa_state: Int */;
-long var2 /* : Int */;
+long var1 /* : Int */;
 long var_sp /* var sp: Int */;
 long var_start_stream_pos /* var start_stream_pos: Int */;
-long var3 /* : Int */;
+long var2 /* : Int */;
 long var_start_pos /* var start_pos: Int */;
-long var4 /* : Int */;
+long var3 /* : Int */;
 long var_start_line /* var start_line: Int */;
-val* var5 /* : SourceFile */;
-val* var7 /* : SourceFile */;
+val* var4 /* : SourceFile */;
+val* var6 /* : SourceFile */;
 val* var_file /* var file: SourceFile */;
-val* var8 /* : String */;
-val* var10 /* : String */;
+val* var7 /* : String */;
+val* var9 /* : String */;
 val* var_string /* var string: String */;
-long var11 /* : Int */;
+long var10 /* : Int */;
 long var_string_len /* var string_len: Int */;
-long var12 /* : Int */;
+long var11 /* : Int */;
 long var13 /* : Int */;
-long var15 /* : Int */;
 long var_accept_state /* var accept_state: Int */;
+long var14 /* : Int */;
 long var16 /* : Int */;
+long var_accept_token /* var accept_token: Int */;
 long var17 /* : Int */;
 long var19 /* : Int */;
-long var_accept_token /* var accept_token: Int */;
+long var_accept_length /* var accept_length: Int */;
 long var20 /* : Int */;
-long var21 /* : Int */;
+long var22 /* : Int */;
+long var_accept_pos /* var accept_pos: Int */;
 long var23 /* : Int */;
-long var_accept_length /* var accept_length: Int */;
-long var24 /* : Int */;
 long var25 /* : Int */;
-long var27 /* : Int */;
-long var_accept_pos /* var accept_pos: Int */;
-long var28 /* : Int */;
-long var29 /* : Int */;
-long var31 /* : Int */;
 long var_accept_line /* var accept_line: Int */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
+short int var26 /* : Bool */;
+short int var28 /* : Bool */;
 int cltype;
 int idtype;
 const char* var_class_name;
-short int var35 /* : Bool */;
+short int var29 /* : Bool */;
+long var30 /* : Int */;
+long var32 /* : Int */;
+uint32_t var33 /* : Char */;
+long var34 /* : Int */;
 long var36 /* : Int */;
+long var_c /* var c: Int */;
 long var37 /* : Int */;
-long var39 /* : Int */;
-char var40 /* : Char */;
-long var41 /* : Int */;
+short int var39 /* : Bool */;
+int cltype40;
+int idtype41;
+const char* var_class_name42;
 long var43 /* : Int */;
-long var_c /* var c: Int */;
-long var44 /* : Int */;
-long var45 /* : Int */;
-short int var47 /* : Bool */;
-int cltype48;
-int idtype49;
-const char* var_class_name50;
-long var51 /* : Int */;
-short int var52 /* : Bool */;
+short int var44 /* : Bool */;
 short int var_cr /* var cr: Bool */;
-long var53 /* : Int */;
+long var45 /* : Int */;
 long var_line /* var line: Int */;
-long var54 /* : Int */;
+long var46 /* : Int */;
 long var_pos /* var pos: Int */;
-long var55 /* : Int */;
+short int var47 /* : Bool */;
+short int var49 /* : Bool */;
+val* var50 /* : Array[Int] */;
+val* var52 /* : Array[Int] */;
+val* var53 /* : nullable Object */;
+long var54 /* : Int */;
 short int var56 /* : Bool */;
-short int var58 /* : Bool */;
-short int var59 /* : Bool */;
-val* var60 /* : Array[Int] */;
-val* var62 /* : Array[Int] */;
-val* var63 /* : nullable Object */;
-long var64 /* : Int */;
-long var65 /* : Int */;
+int cltype57;
+int idtype58;
+const char* var_class_name59;
+long var60 /* : Int */;
+val* var61 /* : Array[Int] */;
+val* var63 /* : Array[Int] */;
+val* var64 /* : nullable Object */;
+short int var65 /* : Bool */;
 short int var67 /* : Bool */;
-int cltype68;
-int idtype69;
-const char* var_class_name70;
-long var71 /* : Int */;
-long var72 /* : Int */;
-val* var73 /* : Array[Int] */;
+long var68 /* : Int */;
+short int var70 /* : Bool */;
+int cltype71;
+int idtype72;
+const char* var_class_name73;
+long var74 /* : Int */;
 val* var75 /* : Array[Int] */;
-val* var76 /* : nullable Object */;
-long var77 /* : Int */;
-short int var78 /* : Bool */;
-short int var80 /* : Bool */;
-long var81 /* : Int */;
-long var82 /* : Int */;
-short int var84 /* : Bool */;
-int cltype85;
-int idtype86;
-const char* var_class_name87;
+val* var77 /* : Array[Int] */;
+val* var78 /* : nullable Object */;
+long var79 /* : Int */;
+short int var81 /* : Bool */;
+int cltype82;
+int idtype83;
+const char* var_class_name84;
+long var85 /* : Int */;
+long var_old_state /* var old_state: Int */;
+long var86 /* : Int */;
 long var88 /* : Int */;
-long var89 /* : Int */;
-short int var90 /* : Bool */;
-val* var91 /* : Array[Int] */;
-val* var93 /* : Array[Int] */;
-val* var94 /* : nullable Object */;
-long var95 /* : Int */;
+short int var89 /* : Bool */;
+short int var91 /* : Bool */;
+int cltype92;
+int idtype93;
+const char* var_class_name94;
+short int var95 /* : Bool */;
 long var96 /* : Int */;
-short int var98 /* : Bool */;
-int cltype99;
-int idtype100;
-const char* var_class_name101;
-long var102 /* : Int */;
-short int var103 /* : Bool */;
-long var_old_state /* var old_state: Int */;
-long var104 /* : Int */;
+long var98 /* : Int */;
+long var99 /* : Int */;
+short int var101 /* : Bool */;
+int cltype102;
+int idtype103;
+const char* var_class_name104;
 long var105 /* : Int */;
-long var107 /* : Int */;
-short int var108 /* : Bool */;
-short int var110 /* : Bool */;
-int cltype111;
-int idtype112;
-const char* var_class_name113;
+long var106 /* : Int */;
+long var108 /* : Int */;
+long var_low /* var low: Int */;
+long var109 /* : Int */;
+long var111 /* : Int for extern */;
+long var112 /* : Int */;
 short int var114 /* : Bool */;
-long var115 /* : Int */;
-long var116 /* : Int */;
+int cltype115;
+int idtype116;
+const char* var_class_name117;
 long var118 /* : Int */;
-long var119 /* : Int */;
+long var_high /* var high: Int */;
+short int var119 /* : Bool */;
 short int var121 /* : Bool */;
 int cltype122;
 int idtype123;
 const char* var_class_name124;
-long var125 /* : Int */;
-long var126 /* : Int */;
-long var127 /* : Int */;
-long var129 /* : Int */;
-long var130 /* : Int */;
-long var_low /* var low: Int */;
-long var131 /* : Int */;
-long var132 /* : Int */;
-long var134 /* : Int for extern */;
-long var135 /* : Int */;
-long var136 /* : Int */;
-short int var138 /* : Bool */;
-int cltype139;
-int idtype140;
-const char* var_class_name141;
-long var142 /* : Int */;
-long var_high /* var high: Int */;
-long var143 /* : Int */;
-short int var144 /* : Bool */;
-short int var146 /* : Bool */;
-int cltype147;
-int idtype148;
-const char* var_class_name149;
-short int var150 /* : Bool */;
-short int var151 /* : Bool */;
-short int var153 /* : Bool */;
-int cltype154;
-int idtype155;
-const char* var_class_name156;
-short int var157 /* : Bool */;
-long var158 /* : Int */;
-short int var160 /* : Bool */;
-int cltype161;
-int idtype162;
-const char* var_class_name163;
-long var164 /* : Int */;
-long var165 /* : Int */;
-long var166 /* : Int */;
-short int var168 /* : Bool */;
-int cltype169;
-int idtype170;
-const char* var_class_name171;
-long var172 /* : Int */;
+short int var125 /* : Bool */;
+short int var126 /* : Bool */;
+short int var128 /* : Bool */;
+int cltype129;
+int idtype130;
+const char* var_class_name131;
+short int var132 /* : Bool */;
+long var133 /* : Int */;
+short int var135 /* : Bool */;
+int cltype136;
+int idtype137;
+const char* var_class_name138;
+long var139 /* : Int */;
+long var140 /* : Int */;
+short int var142 /* : Bool */;
+int cltype143;
+int idtype144;
+const char* var_class_name145;
+long var146 /* : Int */;
 long var_middle /* var middle: Int */;
-long var173 /* : Int */;
-long var174 /* : Int */;
-short int var176 /* : Bool */;
-int cltype177;
-int idtype178;
-const char* var_class_name179;
-long var180 /* : Int */;
-long var181 /* : Int */;
-long var182 /* : Int */;
-short int var184 /* : Bool */;
-int cltype185;
-int idtype186;
-const char* var_class_name187;
-long var188 /* : Int */;
+long var147 /* : Int */;
+short int var149 /* : Bool */;
+int cltype150;
+int idtype151;
+const char* var_class_name152;
+long var153 /* : Int */;
+long var154 /* : Int */;
+short int var156 /* : Bool */;
+int cltype157;
+int idtype158;
+const char* var_class_name159;
+long var160 /* : Int */;
 long var_offset /* var offset: Int */;
-long var189 /* : Int */;
-long var191 /* : Int for extern */;
-short int var192 /* : Bool */;
+long var161 /* : Int */;
+long var163 /* : Int for extern */;
+short int var164 /* : Bool */;
+short int var166 /* : Bool */;
+int cltype167;
+int idtype168;
+const char* var_class_name169;
+short int var170 /* : Bool */;
+long var171 /* : Int */;
+short int var173 /* : Bool */;
+int cltype174;
+int idtype175;
+const char* var_class_name176;
+long var177 /* : Int */;
+long var178 /* : Int */;
+short int var180 /* : Bool */;
+int cltype181;
+int idtype182;
+const char* var_class_name183;
+long var184 /* : Int */;
+long var185 /* : Int */;
+long var187 /* : Int for extern */;
+short int var188 /* : Bool */;
+short int var190 /* : Bool */;
+int cltype191;
+int idtype192;
+const char* var_class_name193;
 short int var194 /* : Bool */;
-int cltype195;
-int idtype196;
-const char* var_class_name197;
-short int var198 /* : Bool */;
-long var199 /* : Int */;
-long var200 /* : Int */;
-short int var202 /* : Bool */;
-int cltype203;
-int idtype204;
-const char* var_class_name205;
-long var206 /* : Int */;
-long var207 /* : Int */;
+long var195 /* : Int */;
+short int var197 /* : Bool */;
+int cltype198;
+int idtype199;
+const char* var_class_name200;
+long var201 /* : Int */;
+long var202 /* : Int */;
+short int var204 /* : Bool */;
+int cltype205;
+int idtype206;
+const char* var_class_name207;
 long var208 /* : Int */;
-short int var210 /* : Bool */;
-int cltype211;
-int idtype212;
-const char* var_class_name213;
+long var209 /* : Int */;
+long var211 /* : Int for extern */;
+long var212 /* : Int */;
 long var214 /* : Int */;
-long var215 /* : Int */;
-long var217 /* : Int for extern */;
-short int var218 /* : Bool */;
-short int var220 /* : Bool */;
-int cltype221;
-int idtype222;
-const char* var_class_name223;
-short int var224 /* : Bool */;
-long var225 /* : Int */;
-long var226 /* : Int */;
-short int var228 /* : Bool */;
-int cltype229;
-int idtype230;
-const char* var_class_name231;
-long var232 /* : Int */;
+short int var215 /* : Bool */;
+short int var217 /* : Bool */;
+int cltype218;
+int idtype219;
+const char* var_class_name220;
+short int var221 /* : Bool */;
+short int var223 /* : Bool */;
+short int var225 /* : Bool */;
+int cltype226;
+int idtype227;
+const char* var_class_name228;
+short int var229 /* : Bool */;
+long var230 /* : Int */;
+long var232 /* : Int for extern */;
+long var_tok /* var tok: Int */;
 long var233 /* : Int */;
-long var234 /* : Int */;
+long var235 /* : Int */;
 short int var236 /* : Bool */;
-int cltype237;
-int idtype238;
-const char* var_class_name239;
+short int var238 /* : Bool */;
+short int var239 /* : Bool */;
 long var240 /* : Int */;
-long var241 /* : Int */;
-long var243 /* : Int for extern */;
-long var244 /* : Int */;
-long var245 /* : Int */;
+short int var242 /* : Bool */;
+int cltype243;
+int idtype244;
+const char* var_class_name245;
+long var246 /* : Int */;
 long var247 /* : Int */;
-short int var248 /* : Bool */;
-short int var250 /* : Bool */;
-int cltype251;
-int idtype252;
-const char* var_class_name253;
+long var248 /* : Int */;
+long var249 /* : Int */;
+long var251 /* : Int */;
+short int var252 /* : Bool */;
 short int var254 /* : Bool */;
+short int var255 /* : Bool */;
 long var256 /* : Int */;
-short int var257 /* : Bool */;
-short int var259 /* : Bool */;
-int cltype260;
-int idtype261;
-const char* var_class_name262;
+short int var258 /* : Bool */;
+int cltype259;
+int idtype260;
+const char* var_class_name261;
+long var262 /* : Int */;
 short int var263 /* : Bool */;
-long var264 /* : Int */;
-long var266 /* : Int for extern */;
-long var_tok /* var tok: Int */;
+short int var265 /* : Bool */;
+val* var266 /* : Location */;
 long var267 /* : Int */;
-long var268 /* : Int */;
-long var270 /* : Int */;
-short int var271 /* : Bool */;
-short int var273 /* : Bool */;
-short int var274 /* : Bool */;
-long var275 /* : Int */;
-short int var277 /* : Bool */;
-int cltype278;
-int idtype279;
-const char* var_class_name280;
+short int var269 /* : Bool */;
+int cltype270;
+int idtype271;
+const char* var_class_name272;
+long var273 /* : Int */;
+long var274 /* : Int */;
+short int var276 /* : Bool */;
+int cltype277;
+int idtype278;
+const char* var_class_name279;
+long var280 /* : Int */;
 long var281 /* : Int */;
-long var282 /* : Int */;
-long var283 /* : Int */;
-long var284 /* : Int */;
-long var285 /* : Int */;
+short int var283 /* : Bool */;
+int cltype284;
+int idtype285;
+const char* var_class_name286;
 long var287 /* : Int */;
-short int var288 /* : Bool */;
-short int var290 /* : Bool */;
-short int var291 /* : Bool */;
-val* var292 /* : Location */;
-long var293 /* : Int */;
-long var294 /* : Int */;
-short int var296 /* : Bool */;
-int cltype297;
-int idtype298;
-const char* var_class_name299;
-long var300 /* : Int */;
-long var301 /* : Int */;
-long var302 /* : Int */;
-short int var304 /* : Bool */;
-int cltype305;
-int idtype306;
-const char* var_class_name307;
-long var308 /* : Int */;
-long var309 /* : Int */;
-long var310 /* : Int */;
-short int var312 /* : Bool */;
-int cltype313;
-int idtype314;
-const char* var_class_name315;
-long var316 /* : Int */;
 val* var_location /* var location: Location */;
+val* var288 /* : Token */;
+val* var289 /* : Location */;
+long var290 /* : Int */;
+short int var292 /* : Bool */;
+int cltype293;
+int idtype294;
+const char* var_class_name295;
+long var296 /* : Int */;
+long var297 /* : Int */;
+short int var299 /* : Bool */;
+int cltype300;
+int idtype301;
+const char* var_class_name302;
+long var303 /* : Int */;
+long var304 /* : Int */;
+short int var306 /* : Bool */;
+int cltype307;
+int idtype308;
+const char* var_class_name309;
+long var310 /* : Int */;
+long var311 /* : Int */;
+short int var313 /* : Bool */;
+int cltype314;
+int idtype315;
+const char* var_class_name316;
 long var317 /* : Int */;
+val* var_location318 /* var location: Location */;
 short int var319 /* : Bool */;
-int cltype320;
-int idtype321;
-const char* var_class_name322;
-long var323 /* : Int */;
-long var324 /* : Int */;
+short int var321 /* : Bool */;
+int cltype322;
+int idtype323;
+const char* var_class_name324;
 short int var325 /* : Bool */;
-short int var327 /* : Bool */;
-val* var328 /* : null */;
-val* var329 /* : Token */;
-val* var330 /* : Location */;
-long var331 /* : Int */;
+long var326 /* : Int */;
+short int var328 /* : Bool */;
+int cltype329;
+int idtype330;
+const char* var_class_name331;
 long var332 /* : Int */;
-short int var334 /* : Bool */;
-int cltype335;
-int idtype336;
-const char* var_class_name337;
-long var338 /* : Int */;
-long var339 /* : Int */;
-long var340 /* : Int */;
-short int var342 /* : Bool */;
-int cltype343;
-int idtype344;
-const char* var_class_name345;
-long var346 /* : Int */;
-long var347 /* : Int */;
-long var348 /* : Int */;
-short int var350 /* : Bool */;
-int cltype351;
-int idtype352;
-const char* var_class_name353;
-long var354 /* : Int */;
-long var355 /* : Int */;
-long var356 /* : Int */;
-short int var358 /* : Bool */;
-int cltype359;
-int idtype360;
-const char* var_class_name361;
-long var362 /* : Int */;
-val* var_location363 /* var location: Location */;
-short int var364 /* : Bool */;
-short int var366 /* : Bool */;
-int cltype367;
-int idtype368;
-const char* var_class_name369;
-short int var370 /* : Bool */;
-long var371 /* : Int */;
-short int var373 /* : Bool */;
-int cltype374;
-int idtype375;
-const char* var_class_name376;
-long var377 /* : Int */;
-val* var378 /* : Text */;
+val* var333 /* : Text */;
 val* var_text /* var text: String */;
-val* var379 /* : ALexerError */;
+val* var334 /* : ALexerError */;
+val* var335 /* : NativeArray[String] */;
 static val* varonce;
-val* var380 /* : String */;
-char* var381 /* : NativeString */;
-long var382 /* : Int */;
-val* var383 /* : FlatString */;
-static val* varonce384;
-val* var385 /* : String */;
-char* var386 /* : NativeString */;
-long var387 /* : Int */;
-val* var388 /* : FlatString */;
-val* var389 /* : Array[Object] */;
-long var390 /* : Int */;
-val* var391 /* : NativeArray[Object] */;
-val* var392 /* : String */;
+static val* varonce336;
+val* var337 /* : String */;
+char* var338 /* : NativeString */;
+val* var339 /* : FlatString */;
+static val* varonce340;
+val* var341 /* : String */;
+char* var342 /* : NativeString */;
+val* var343 /* : FlatString */;
+val* var344 /* : String */;
 val* var_token /* var token: ALexerError */;
-val* var394 /* : EOF */;
-val* var_token395 /* var token: EOF */;
-var1 = 0;
-var_dfa_state = var1;
-var2 = self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l; /* _stream_pos on <self:Lexer> */
-var_sp = var2;
+val* var346 /* : EOF */;
+val* var_token347 /* var token: EOF */;
+var_dfa_state = 0l;
+var1 = self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l; /* _stream_pos on <self:Lexer> */
+var_sp = var1;
 var_start_stream_pos = var_sp;
-var3 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
-var_start_pos = var3;
-var4 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
-var_start_line = var4;
+var2 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
+var_start_pos = var2;
+var3 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
+var_start_line = var3;
 {
 { /* Inline lexer_work#Lexer#file (self) on <self:Lexer> */
-var7 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
-if (unlikely(var7 == NULL)) {
+var6 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
+if (unlikely(var6 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
-show_backtrace(1);
+fatal_exit(1);
 }
-var5 = var7;
-RET_LABEL6:(void)0;
+var4 = var6;
+RET_LABEL5:(void)0;
 }
 }
-var_file = var5;
+var_file = var4;
 {
 { /* Inline location#SourceFile#string (var_file) on <var_file:SourceFile> */
-var10 = var_file->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <var_file:SourceFile> */
-if (unlikely(var10 == NULL)) {
+var9 = var_file->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <var_file:SourceFile> */
+if (unlikely(var9 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
-show_backtrace(1);
+fatal_exit(1);
 }
-var8 = var10;
-RET_LABEL9:(void)0;
+var7 = var9;
+RET_LABEL8:(void)0;
 }
 }
-var_string = var8;
+var_string = var7;
 {
-var11 = ((long (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string) /* length on <var_string:String>*/;
+var10 = ((long(*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string); /* length on <var_string:String>*/
 }
-var_string_len = var11;
-var12 = 1;
+var_string_len = var10;
 {
-{ /* Inline kernel#Int#unary - (var12) on <var12:Int> */
-var15 = -var12;
-var13 = var15;
-goto RET_LABEL14;
-RET_LABEL14:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var13 = -1l;
+var11 = var13;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
 }
 }
-var_accept_state = var13;
-var16 = 1;
+var_accept_state = var11;
 {
-{ /* Inline kernel#Int#unary - (var16) on <var16:Int> */
-var19 = -var16;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var16 = -1l;
+var14 = var16;
+goto RET_LABEL15;
+RET_LABEL15:(void)0;
+}
+}
+var_accept_token = var14;
+{
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var19 = -1l;
 var17 = var19;
 goto RET_LABEL18;
 RET_LABEL18:(void)0;
 }
 }
-var_accept_token = var17;
-var20 = 1;
+var_accept_length = var17;
 {
-{ /* Inline kernel#Int#unary - (var20) on <var20:Int> */
-var23 = -var20;
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var22 = -1l;
+var20 = var22;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
 }
 }
-var_accept_length = var21;
-var24 = 1;
+var_accept_pos = var20;
 {
-{ /* Inline kernel#Int#unary - (var24) on <var24:Int> */
-var27 = -var24;
-var25 = var27;
-goto RET_LABEL26;
-RET_LABEL26:(void)0;
-}
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var25 = -1l;
+var23 = var25;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
 }
-var_accept_pos = var25;
-var28 = 1;
-{
-{ /* Inline kernel#Int#unary - (var28) on <var28:Int> */
-var31 = -var28;
-var29 = var31;
-goto RET_LABEL30;
-RET_LABEL30:(void)0;
 }
-}
-var_accept_line = var29;
+var_accept_line = var23;
 for(;;) {
 {
 { /* Inline kernel#Int#>= (var_sp,var_string_len) on <var_sp:Int> */
 /* Covariant cast for argument 0 (i) <var_string_len:Int> isa OTHER */
 /* <var_string_len:Int> isa OTHER */
-var34 = 1; /* easy <var_string_len:Int> isa OTHER*/
-if (unlikely(!var34)) {
+var28 = 1; /* easy <var_string_len:Int> isa OTHER*/
+if (unlikely(!var28)) {
 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);
 }
-var35 = var_sp >= var_string_len;
-var32 = var35;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
+var29 = var_sp >= var_string_len;
+var26 = var29;
+goto RET_LABEL27;
+RET_LABEL27:(void)0;
 }
 }
-if (var32){
-var36 = 1;
+if (var26){
 {
-{ /* Inline kernel#Int#unary - (var36) on <var36:Int> */
-var39 = -var36;
-var37 = var39;
-goto RET_LABEL38;
-RET_LABEL38:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var32 = -1l;
+var30 = var32;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
 }
 }
-var_dfa_state = var37;
+var_dfa_state = var30;
 } else {
 {
-var40 = ((char (*)(val* self, long p0))(var_string->class->vft[COLOR_standard__string__Text___91d_93d]))(var_string, var_sp) /* [] on <var_string:String>*/;
+var33 = ((uint32_t(*)(val* self, long p0))(var_string->class->vft[COLOR_standard__string__Text___91d_93d]))(var_string, var_sp); /* [] on <var_string:String>*/
 }
 {
-{ /* Inline kernel#Char#ascii (var40) on <var40:Char> */
-var43 = (unsigned char)var40;
-var41 = var43;
-goto RET_LABEL42;
-RET_LABEL42:(void)0;
+{ /* Inline kernel#Char#ascii (var33) on <var33:Char> */
+var36 = (long)var33;
+var34 = var36;
+goto RET_LABEL35;
+RET_LABEL35:(void)0;
 }
 }
-var_c = var41;
-var44 = 1;
+var_c = var34;
 {
-{ /* Inline kernel#Int#+ (var_sp,var44) on <var_sp:Int> */
-/* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
-/* <var44:Int> isa OTHER */
-var47 = 1; /* easy <var44:Int> isa OTHER*/
-if (unlikely(!var47)) {
-var_class_name50 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_sp,1l) on <var_sp:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var39 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var39)) {
+var_class_name42 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var51 = var_sp + var44;
-var45 = var51;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
+var43 = var_sp + 1l;
+var37 = var43;
+goto RET_LABEL38;
+RET_LABEL38:(void)0;
 }
 }
-var_sp = var45;
-var52 = self->attrs[COLOR_nit__lexer_work__Lexer___cr].s; /* _cr on <self:Lexer> */
-var_cr = var52;
-var53 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
-var_line = var53;
-var54 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
-var_pos = var54;
-var55 = 10;
+var_sp = var37;
+var44 = self->attrs[COLOR_nit__lexer_work__Lexer___cr].s; /* _cr on <self:Lexer> */
+var_cr = var44;
+var45 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
+var_line = var45;
+var46 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
+var_pos = var46;
 {
-{ /* Inline kernel#Int#== (var_c,var55) on <var_c:Int> */
-var58 = var_c == var55;
-var56 = var58;
-goto RET_LABEL57;
-RET_LABEL57:(void)0;
+{ /* Inline kernel#Int#== (var_c,10l) on <var_c:Int> */
+var49 = var_c == 10l;
+var47 = var49;
+goto RET_LABEL48;
+RET_LABEL48:(void)0;
 }
 }
-if (var56){
+if (var47){
 if (var_cr){
-var59 = 0;
-var_cr = var59;
+var_cr = 0;
 {
 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
-var62 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
-if (unlikely(var62 == NULL)) {
+var52 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
+if (unlikely(var52 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
-show_backtrace(1);
+fatal_exit(1);
 }
-var60 = var62;
-RET_LABEL61:(void)0;
+var50 = var52;
+RET_LABEL51:(void)0;
 }
 }
 {
-var63 = BOX_standard__Int(var_sp); /* autobox from Int to nullable Object */
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var60, var_line, var63); /* Direct call array#Array#[]= on <var60:Array[Int]>*/
+var53 = (val*)(var_sp<<2|1);
+standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var50, var_line, var53); /* Direct call array#Array#[]= on <var50:Array[Int]>*/
 }
 } else {
-var64 = 1;
-{
-{ /* Inline kernel#Int#+ (var_line,var64) on <var_line:Int> */
-/* Covariant cast for argument 0 (i) <var64:Int> isa OTHER */
-/* <var64:Int> isa OTHER */
-var67 = 1; /* easy <var64:Int> isa OTHER*/
-if (unlikely(!var67)) {
-var_class_name70 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
-}
-var71 = var_line + var64;
-var65 = var71;
-goto RET_LABEL66;
-RET_LABEL66:(void)0;
+{
+{ /* Inline kernel#Int#+ (var_line,1l) on <var_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var56 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var56)) {
+var_class_name59 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
+var60 = var_line + 1l;
+var54 = var60;
+goto RET_LABEL55;
+RET_LABEL55:(void)0;
 }
-var_line = var65;
-var72 = 0;
-var_pos = var72;
+}
+var_line = var54;
+var_pos = 0l;
 {
 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
-var75 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
-if (unlikely(var75 == NULL)) {
+var63 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
+if (unlikely(var63 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
-show_backtrace(1);
+fatal_exit(1);
 }
-var73 = var75;
-RET_LABEL74:(void)0;
+var61 = var63;
+RET_LABEL62:(void)0;
 }
 }
 {
-var76 = BOX_standard__Int(var_sp); /* autobox from Int to nullable Object */
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var73, var_line, var76); /* Direct call array#Array#[]= on <var73:Array[Int]>*/
+var64 = (val*)(var_sp<<2|1);
+standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var61, var_line, var64); /* Direct call array#Array#[]= on <var61:Array[Int]>*/
 }
 }
 } else {
-var77 = 13;
 {
-{ /* Inline kernel#Int#== (var_c,var77) on <var_c:Int> */
-var80 = var_c == var77;
-var78 = var80;
-goto RET_LABEL79;
-RET_LABEL79:(void)0;
+{ /* Inline kernel#Int#== (var_c,13l) on <var_c:Int> */
+var67 = var_c == 13l;
+var65 = var67;
+goto RET_LABEL66;
+RET_LABEL66:(void)0;
 }
 }
-if (var78){
-var81 = 1;
+if (var65){
 {
-{ /* Inline kernel#Int#+ (var_line,var81) on <var_line:Int> */
-/* Covariant cast for argument 0 (i) <var81:Int> isa OTHER */
-/* <var81:Int> isa OTHER */
-var84 = 1; /* easy <var81:Int> isa OTHER*/
-if (unlikely(!var84)) {
-var_class_name87 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_line,1l) on <var_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var70 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var70)) {
+var_class_name73 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var88 = var_line + var81;
-var82 = var88;
-goto RET_LABEL83;
-RET_LABEL83:(void)0;
+var74 = var_line + 1l;
+var68 = var74;
+goto RET_LABEL69;
+RET_LABEL69:(void)0;
 }
 }
-var_line = var82;
-var89 = 0;
-var_pos = var89;
-var90 = 1;
-var_cr = var90;
+var_line = var68;
+var_pos = 0l;
+var_cr = 1;
 {
 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
-var93 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
-if (unlikely(var93 == NULL)) {
+var77 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
+if (unlikely(var77 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
-show_backtrace(1);
+fatal_exit(1);
 }
-var91 = var93;
-RET_LABEL92:(void)0;
+var75 = var77;
+RET_LABEL76:(void)0;
 }
 }
 {
-var94 = BOX_standard__Int(var_sp); /* autobox from Int to nullable Object */
-standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var91, var_line, var94); /* Direct call array#Array#[]= on <var91:Array[Int]>*/
+var78 = (val*)(var_sp<<2|1);
+standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var75, var_line, var78); /* Direct call array#Array#[]= on <var75:Array[Int]>*/
 }
 } else {
-var95 = 1;
-{
-{ /* Inline kernel#Int#+ (var_pos,var95) on <var_pos:Int> */
-/* Covariant cast for argument 0 (i) <var95:Int> isa OTHER */
-/* <var95:Int> isa OTHER */
-var98 = 1; /* easy <var95:Int> isa OTHER*/
-if (unlikely(!var98)) {
-var_class_name101 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name101);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
-}
-var102 = var_pos + var95;
-var96 = var102;
-goto RET_LABEL97;
-RET_LABEL97:(void)0;
+{
+{ /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var81 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var81)) {
+var_class_name84 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var85 = var_pos + 1l;
+var79 = var85;
+goto RET_LABEL80;
+RET_LABEL80:(void)0;
 }
 }
-var_pos = var96;
-var103 = 0;
-var_cr = var103;
+var_pos = var79;
+var_cr = 0;
 }
 }
 for(;;) {
 var_old_state = var_dfa_state;
-var104 = 1;
 {
-{ /* Inline kernel#Int#unary - (var104) on <var104:Int> */
-var107 = -var104;
-var105 = var107;
-goto RET_LABEL106;
-RET_LABEL106:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var88 = -1l;
+var86 = var88;
+goto RET_LABEL87;
+RET_LABEL87:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#< (var_dfa_state,var105) on <var_dfa_state:Int> */
-/* Covariant cast for argument 0 (i) <var105:Int> isa OTHER */
-/* <var105:Int> isa OTHER */
-var110 = 1; /* easy <var105:Int> isa OTHER*/
-if (unlikely(!var110)) {
-var_class_name113 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name113);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
-show_backtrace(1);
+{ /* Inline kernel#Int#< (var_dfa_state,var86) on <var_dfa_state:Int> */
+/* Covariant cast for argument 0 (i) <var86:Int> isa OTHER */
+/* <var86:Int> isa OTHER */
+var91 = 1; /* easy <var86:Int> isa OTHER*/
+if (unlikely(!var91)) {
+var_class_name94 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
 }
-var114 = var_dfa_state < var105;
-var108 = var114;
-goto RET_LABEL109;
-RET_LABEL109:(void)0;
+var95 = var_dfa_state < var86;
+var89 = var95;
+goto RET_LABEL90;
+RET_LABEL90:(void)0;
 }
 }
-if (var108){
-var115 = 2;
+if (var89){
 {
-{ /* Inline kernel#Int#unary - (var115) on <var115:Int> */
-var118 = -var115;
-var116 = var118;
-goto RET_LABEL117;
-RET_LABEL117:(void)0;
+{ /* Inline kernel#Int#unary - (2l) on <2l:Int> */
+var98 = -2l;
+var96 = var98;
+goto RET_LABEL97;
+RET_LABEL97:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#- (var116,var_dfa_state) on <var116:Int> */
+{ /* Inline kernel#Int#- (var96,var_dfa_state) on <var96:Int> */
 /* Covariant cast for argument 0 (i) <var_dfa_state:Int> isa OTHER */
 /* <var_dfa_state:Int> isa OTHER */
-var121 = 1; /* easy <var_dfa_state:Int> isa OTHER*/
-if (unlikely(!var121)) {
-var_class_name124 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+var101 = 1; /* easy <var_dfa_state:Int> isa OTHER*/
+if (unlikely(!var101)) {
+var_class_name104 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var125 = var116 - var_dfa_state;
-var119 = var125;
-goto RET_LABEL120;
-RET_LABEL120:(void)0;
+var105 = var96 - var_dfa_state;
+var99 = var105;
+goto RET_LABEL100;
+RET_LABEL100:(void)0;
 }
 }
-var_old_state = var119;
+var_old_state = var99;
 } else {
 }
-var126 = 1;
 {
-{ /* Inline kernel#Int#unary - (var126) on <var126:Int> */
-var129 = -var126;
-var127 = var129;
-goto RET_LABEL128;
-RET_LABEL128:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var108 = -1l;
+var106 = var108;
+goto RET_LABEL107;
+RET_LABEL107:(void)0;
 }
 }
-var_dfa_state = var127;
-var130 = 0;
-var_low = var130;
-var131 = 0;
+var_dfa_state = var106;
+var_low = 0l;
 {
-{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var131) on <self:Lexer> */
-var134 = lexer_goto(self, var_old_state, var131);
-var132 = var134;
-goto RET_LABEL133;
-RET_LABEL133:(void)0;
+{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,0l) on <self:Lexer> */
+var111 = lexer_goto(self, var_old_state, 0l);
+var109 = var111;
+goto RET_LABEL110;
+RET_LABEL110:(void)0;
 }
 }
-var135 = 1;
 {
-{ /* Inline kernel#Int#- (var132,var135) on <var132:Int> */
-/* Covariant cast for argument 0 (i) <var135:Int> isa OTHER */
-/* <var135:Int> isa OTHER */
-var138 = 1; /* easy <var135:Int> isa OTHER*/
-if (unlikely(!var138)) {
-var_class_name141 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name141);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+{ /* Inline kernel#Int#- (var109,1l) on <var109:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var114 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var114)) {
+var_class_name117 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var142 = var132 - var135;
-var136 = var142;
-goto RET_LABEL137;
-RET_LABEL137:(void)0;
+var118 = var109 - 1l;
+var112 = var118;
+goto RET_LABEL113;
+RET_LABEL113:(void)0;
 }
 }
-var_high = var136;
-var143 = 0;
+var_high = var112;
 {
-{ /* Inline kernel#Int#>= (var_high,var143) on <var_high:Int> */
-/* Covariant cast for argument 0 (i) <var143:Int> isa OTHER */
-/* <var143:Int> isa OTHER */
-var146 = 1; /* easy <var143:Int> isa OTHER*/
-if (unlikely(!var146)) {
-var_class_name149 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
-show_backtrace(1);
+{ /* Inline kernel#Int#>= (var_high,0l) on <var_high:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var121 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var121)) {
+var_class_name124 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
 }
-var150 = var_high >= var143;
-var144 = var150;
-goto RET_LABEL145;
-RET_LABEL145:(void)0;
+var125 = var_high >= 0l;
+var119 = var125;
+goto RET_LABEL120;
+RET_LABEL120:(void)0;
 }
 }
-if (var144){
+if (var119){
 for(;;) {
 {
 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
 /* <var_high:Int> isa OTHER */
-var153 = 1; /* easy <var_high:Int> isa OTHER*/
-if (unlikely(!var153)) {
-var_class_name156 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name156);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
-show_backtrace(1);
+var128 = 1; /* easy <var_high:Int> isa OTHER*/
+if (unlikely(!var128)) {
+var_class_name131 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name131);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+fatal_exit(1);
 }
-var157 = var_low <= var_high;
-var151 = var157;
-goto RET_LABEL152;
-RET_LABEL152:(void)0;
+var132 = var_low <= var_high;
+var126 = var132;
+goto RET_LABEL127;
+RET_LABEL127:(void)0;
 }
 }
-if (var151){
+if (var126){
 {
 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
 /* <var_high:Int> isa OTHER */
-var160 = 1; /* easy <var_high:Int> isa OTHER*/
-if (unlikely(!var160)) {
-var_class_name163 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name163);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
-}
-var164 = var_low + var_high;
-var158 = var164;
-goto RET_LABEL159;
-RET_LABEL159:(void)0;
-}
-}
-var165 = 2;
-{
-{ /* Inline kernel#Int#/ (var158,var165) on <var158:Int> */
-/* Covariant cast for argument 0 (i) <var165:Int> isa OTHER */
-/* <var165:Int> isa OTHER */
-var168 = 1; /* easy <var165:Int> isa OTHER*/
-if (unlikely(!var168)) {
-var_class_name171 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name171);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
-show_backtrace(1);
-}
-var172 = var158 / var165;
-var166 = var172;
-goto RET_LABEL167;
-RET_LABEL167:(void)0;
-}
-}
-var_middle = var166;
-var173 = 3;
-{
-{ /* Inline kernel#Int#* (var_middle,var173) on <var_middle:Int> */
-/* Covariant cast for argument 0 (i) <var173:Int> isa OTHER */
-/* <var173:Int> isa OTHER */
-var176 = 1; /* easy <var173:Int> isa OTHER*/
-if (unlikely(!var176)) {
-var_class_name179 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name179);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
-show_backtrace(1);
-}
-var180 = var_middle * var173;
-var174 = var180;
-goto RET_LABEL175;
-RET_LABEL175:(void)0;
-}
-}
-var181 = 1;
-{
-{ /* Inline kernel#Int#+ (var174,var181) on <var174:Int> */
-/* Covariant cast for argument 0 (i) <var181:Int> isa OTHER */
-/* <var181:Int> isa OTHER */
-var184 = 1; /* easy <var181:Int> isa OTHER*/
-if (unlikely(!var184)) {
-var_class_name187 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name187);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
-}
-var188 = var174 + var181;
-var182 = var188;
-goto RET_LABEL183;
-RET_LABEL183:(void)0;
-}
-}
-var_offset = var182;
+var135 = 1; /* easy <var_high:Int> isa OTHER*/
+if (unlikely(!var135)) {
+var_class_name138 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name138);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var139 = var_low + var_high;
+var133 = var139;
+goto RET_LABEL134;
+RET_LABEL134:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#/ (var133,2l) on <var133:Int> */
+/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
+/* <2l:Int> isa OTHER */
+var142 = 1; /* easy <2l:Int> isa OTHER*/
+if (unlikely(!var142)) {
+var_class_name145 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
+fatal_exit(1);
+}
+var146 = var133 / 2l;
+var140 = var146;
+goto RET_LABEL141;
+RET_LABEL141:(void)0;
+}
+}
+var_middle = var140;
+{
+{ /* Inline kernel#Int#* (var_middle,3l) on <var_middle:Int> */
+/* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
+/* <3l:Int> isa OTHER */
+var149 = 1; /* easy <3l:Int> isa OTHER*/
+if (unlikely(!var149)) {
+var_class_name152 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name152);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
+fatal_exit(1);
+}
+var153 = var_middle * 3l;
+var147 = var153;
+goto RET_LABEL148;
+RET_LABEL148:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#+ (var147,1l) on <var147:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var156 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var156)) {
+var_class_name159 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name159);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
+}
+var160 = var147 + 1l;
+var154 = var160;
+goto RET_LABEL155;
+RET_LABEL155:(void)0;
+}
+}
+var_offset = var154;
 {
 { /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var_offset) on <self:Lexer> */
-var191 = lexer_goto(self, var_old_state, var_offset);
-var189 = var191;
-goto RET_LABEL190;
-RET_LABEL190:(void)0;
+var163 = lexer_goto(self, var_old_state, var_offset);
+var161 = var163;
+goto RET_LABEL162;
+RET_LABEL162:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#< (var_c,var189) on <var_c:Int> */
-/* Covariant cast for argument 0 (i) <var189:Int> isa OTHER */
-/* <var189:Int> isa OTHER */
-var194 = 1; /* easy <var189:Int> isa OTHER*/
-if (unlikely(!var194)) {
-var_class_name197 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name197);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
-show_backtrace(1);
+{ /* Inline kernel#Int#< (var_c,var161) on <var_c:Int> */
+/* Covariant cast for argument 0 (i) <var161:Int> isa OTHER */
+/* <var161:Int> isa OTHER */
+var166 = 1; /* easy <var161:Int> isa OTHER*/
+if (unlikely(!var166)) {
+var_class_name169 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name169);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+fatal_exit(1);
 }
-var198 = var_c < var189;
-var192 = var198;
-goto RET_LABEL193;
-RET_LABEL193:(void)0;
+var170 = var_c < var161;
+var164 = var170;
+goto RET_LABEL165;
+RET_LABEL165:(void)0;
 }
 }
-if (var192){
-var199 = 1;
+if (var164){
 {
-{ /* Inline kernel#Int#- (var_middle,var199) on <var_middle:Int> */
-/* Covariant cast for argument 0 (i) <var199:Int> isa OTHER */
-/* <var199:Int> isa OTHER */
-var202 = 1; /* easy <var199:Int> isa OTHER*/
-if (unlikely(!var202)) {
-var_class_name205 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name205);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+{ /* Inline kernel#Int#- (var_middle,1l) on <var_middle:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var173 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var173)) {
+var_class_name176 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name176);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var206 = var_middle - var199;
-var200 = var206;
-goto RET_LABEL201;
-RET_LABEL201:(void)0;
+var177 = var_middle - 1l;
+var171 = var177;
+goto RET_LABEL172;
+RET_LABEL172:(void)0;
 }
 }
-var_high = var200;
+var_high = var171;
 } else {
-var207 = 1;
 {
-{ /* Inline kernel#Int#+ (var_offset,var207) on <var_offset:Int> */
-/* Covariant cast for argument 0 (i) <var207:Int> isa OTHER */
-/* <var207:Int> isa OTHER */
-var210 = 1; /* easy <var207:Int> isa OTHER*/
-if (unlikely(!var210)) {
-var_class_name213 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name213);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_offset,1l) on <var_offset:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var180 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var180)) {
+var_class_name183 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var214 = var_offset + var207;
-var208 = var214;
-goto RET_LABEL209;
-RET_LABEL209:(void)0;
+var184 = var_offset + 1l;
+var178 = var184;
+goto RET_LABEL179;
+RET_LABEL179:(void)0;
 }
 }
 {
-{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var208) on <self:Lexer> */
-var217 = lexer_goto(self, var_old_state, var208);
-var215 = var217;
-goto RET_LABEL216;
-RET_LABEL216:(void)0;
+{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var178) on <self:Lexer> */
+var187 = lexer_goto(self, var_old_state, var178);
+var185 = var187;
+goto RET_LABEL186;
+RET_LABEL186:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#> (var_c,var215) on <var_c:Int> */
-/* Covariant cast for argument 0 (i) <var215:Int> isa OTHER */
-/* <var215:Int> isa OTHER */
-var220 = 1; /* easy <var215:Int> isa OTHER*/
-if (unlikely(!var220)) {
-var_class_name223 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name223);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
-show_backtrace(1);
+{ /* Inline kernel#Int#> (var_c,var185) on <var_c:Int> */
+/* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
+/* <var185:Int> isa OTHER */
+var190 = 1; /* easy <var185:Int> isa OTHER*/
+if (unlikely(!var190)) {
+var_class_name193 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name193);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
 }
-var224 = var_c > var215;
-var218 = var224;
-goto RET_LABEL219;
-RET_LABEL219:(void)0;
+var194 = var_c > var185;
+var188 = var194;
+goto RET_LABEL189;
+RET_LABEL189:(void)0;
 }
 }
-if (var218){
-var225 = 1;
+if (var188){
 {
-{ /* Inline kernel#Int#+ (var_middle,var225) on <var_middle:Int> */
-/* Covariant cast for argument 0 (i) <var225:Int> isa OTHER */
-/* <var225:Int> isa OTHER */
-var228 = 1; /* easy <var225:Int> isa OTHER*/
-if (unlikely(!var228)) {
-var_class_name231 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name231);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_middle,1l) on <var_middle:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var197 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var197)) {
+var_class_name200 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name200);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var232 = var_middle + var225;
-var226 = var232;
-goto RET_LABEL227;
-RET_LABEL227:(void)0;
+var201 = var_middle + 1l;
+var195 = var201;
+goto RET_LABEL196;
+RET_LABEL196:(void)0;
 }
 }
-var_low = var226;
+var_low = var195;
 } else {
-var233 = 2;
 {
-{ /* Inline kernel#Int#+ (var_offset,var233) on <var_offset:Int> */
-/* Covariant cast for argument 0 (i) <var233:Int> isa OTHER */
-/* <var233:Int> isa OTHER */
-var236 = 1; /* easy <var233:Int> isa OTHER*/
-if (unlikely(!var236)) {
-var_class_name239 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name239);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_offset,2l) on <var_offset:Int> */
+/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
+/* <2l:Int> isa OTHER */
+var204 = 1; /* easy <2l:Int> isa OTHER*/
+if (unlikely(!var204)) {
+var_class_name207 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name207);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var240 = var_offset + var233;
-var234 = var240;
-goto RET_LABEL235;
-RET_LABEL235:(void)0;
+var208 = var_offset + 2l;
+var202 = var208;
+goto RET_LABEL203;
+RET_LABEL203:(void)0;
 }
 }
 {
-{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var234) on <self:Lexer> */
-var243 = lexer_goto(self, var_old_state, var234);
-var241 = var243;
-goto RET_LABEL242;
-RET_LABEL242:(void)0;
+{ /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var202) on <self:Lexer> */
+var211 = lexer_goto(self, var_old_state, var202);
+var209 = var211;
+goto RET_LABEL210;
+RET_LABEL210:(void)0;
 }
 }
-var_dfa_state = var241;
+var_dfa_state = var209;
 goto BREAK_label;
 }
 }
@@ -1406,440 +1319,424 @@ goto BREAK_label;
 BREAK_label: (void)0;
 } else {
 }
-var244 = 2;
 {
-{ /* Inline kernel#Int#unary - (var244) on <var244:Int> */
-var247 = -var244;
-var245 = var247;
-goto RET_LABEL246;
-RET_LABEL246:(void)0;
+{ /* Inline kernel#Int#unary - (2l) on <2l:Int> */
+var214 = -2l;
+var212 = var214;
+goto RET_LABEL213;
+RET_LABEL213:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#> (var_dfa_state,var245) on <var_dfa_state:Int> */
-/* Covariant cast for argument 0 (i) <var245:Int> isa OTHER */
-/* <var245:Int> isa OTHER */
-var250 = 1; /* easy <var245:Int> isa OTHER*/
-if (unlikely(!var250)) {
-var_class_name253 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name253);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
-show_backtrace(1);
+{ /* Inline kernel#Int#> (var_dfa_state,var212) on <var_dfa_state:Int> */
+/* Covariant cast for argument 0 (i) <var212:Int> isa OTHER */
+/* <var212:Int> isa OTHER */
+var217 = 1; /* easy <var212:Int> isa OTHER*/
+if (unlikely(!var217)) {
+var_class_name220 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name220);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
 }
-var254 = var_dfa_state > var245;
-var248 = var254;
-goto RET_LABEL249;
-RET_LABEL249:(void)0;
+var221 = var_dfa_state > var212;
+var215 = var221;
+goto RET_LABEL216;
+RET_LABEL216:(void)0;
 }
 }
-if (var248){
-goto BREAK_label255;
+if (var215){
+goto BREAK_label222;
 } else {
 }
 }
-BREAK_label255: (void)0;
+BREAK_label222: (void)0;
 self->attrs[COLOR_nit__lexer_work__Lexer___cr].s = var_cr; /* _cr on <self:Lexer> */
 self->attrs[COLOR_nit__lexer_work__Lexer___line].l = var_line; /* _line on <self:Lexer> */
 self->attrs[COLOR_nit__lexer_work__Lexer___pos].l = var_pos; /* _pos on <self:Lexer> */
 }
-var256 = 0;
 {
-{ /* Inline kernel#Int#>= (var_dfa_state,var256) on <var_dfa_state:Int> */
-/* Covariant cast for argument 0 (i) <var256:Int> isa OTHER */
-/* <var256:Int> isa OTHER */
-var259 = 1; /* easy <var256:Int> isa OTHER*/
-if (unlikely(!var259)) {
-var_class_name262 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name262);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
-show_backtrace(1);
+{ /* Inline kernel#Int#>= (var_dfa_state,0l) on <var_dfa_state:Int> */
+/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
+/* <0l:Int> isa OTHER */
+var225 = 1; /* easy <0l:Int> isa OTHER*/
+if (unlikely(!var225)) {
+var_class_name228 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name228);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+fatal_exit(1);
 }
-var263 = var_dfa_state >= var256;
-var257 = var263;
-goto RET_LABEL258;
-RET_LABEL258:(void)0;
+var229 = var_dfa_state >= 0l;
+var223 = var229;
+goto RET_LABEL224;
+RET_LABEL224:(void)0;
 }
 }
-if (var257){
+if (var223){
 {
 { /* Inline tables#TablesCapable#lexer_accept (self,var_dfa_state) on <self:Lexer> */
-var266 = lexer_accept(self, var_dfa_state);
-var264 = var266;
-goto RET_LABEL265;
-RET_LABEL265:(void)0;
+var232 = lexer_accept(self, var_dfa_state);
+var230 = var232;
+goto RET_LABEL231;
+RET_LABEL231:(void)0;
 }
 }
-var_tok = var264;
-var267 = 1;
+var_tok = var230;
 {
-{ /* Inline kernel#Int#unary - (var267) on <var267:Int> */
-var270 = -var267;
-var268 = var270;
-goto RET_LABEL269;
-RET_LABEL269:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var235 = -1l;
+var233 = var235;
+goto RET_LABEL234;
+RET_LABEL234:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#!= (var_tok,var268) on <var_tok:Int> */
-var273 = var_tok == var268;
-var274 = !var273;
-var271 = var274;
-goto RET_LABEL272;
-RET_LABEL272:(void)0;
+{ /* Inline kernel#Int#!= (var_tok,var233) on <var_tok:Int> */
+var238 = var_tok == var233;
+var239 = !var238;
+var236 = var239;
+goto RET_LABEL237;
+RET_LABEL237:(void)0;
 }
 }
-if (var271){
+if (var236){
 var_accept_state = var_dfa_state;
 var_accept_token = var_tok;
 {
 { /* Inline kernel#Int#- (var_sp,var_start_stream_pos) on <var_sp:Int> */
 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
 /* <var_start_stream_pos:Int> isa OTHER */
-var277 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
-if (unlikely(!var277)) {
-var_class_name280 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name280);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
-}
-var281 = var_sp - var_start_stream_pos;
-var275 = var281;
-goto RET_LABEL276;
-RET_LABEL276:(void)0;
-}
-}
-var_accept_length = var275;
-var282 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
-var_accept_pos = var282;
-var283 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
-var_accept_line = var283;
+var242 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
+if (unlikely(!var242)) {
+var_class_name245 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name245);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
+}
+var246 = var_sp - var_start_stream_pos;
+var240 = var246;
+goto RET_LABEL241;
+RET_LABEL241:(void)0;
+}
+}
+var_accept_length = var240;
+var247 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
+var_accept_pos = var247;
+var248 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
+var_accept_line = var248;
 } else {
 }
 } else {
-var284 = 1;
 {
-{ /* Inline kernel#Int#unary - (var284) on <var284:Int> */
-var287 = -var284;
-var285 = var287;
-goto RET_LABEL286;
-RET_LABEL286:(void)0;
+{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */
+var251 = -1l;
+var249 = var251;
+goto RET_LABEL250;
+RET_LABEL250:(void)0;
 }
 }
 {
-{ /* Inline kernel#Int#!= (var_accept_state,var285) on <var_accept_state:Int> */
-var290 = var_accept_state == var285;
-var291 = !var290;
-var288 = var291;
-goto RET_LABEL289;
-RET_LABEL289:(void)0;
+{ /* Inline kernel#Int#!= (var_accept_state,var249) on <var_accept_state:Int> */
+var254 = var_accept_state == var249;
+var255 = !var254;
+var252 = var255;
+goto RET_LABEL253;
+RET_LABEL253:(void)0;
 }
 }
-if (var288){
-var292 = NEW_nit__Location(&type_nit__Location);
-var293 = 1;
+if (var252){
+self->attrs[COLOR_nit__lexer_work__Lexer___pos].l = var_accept_pos; /* _pos on <self:Lexer> */
+self->attrs[COLOR_nit__lexer_work__Lexer___line].l = var_accept_line; /* _line on <self:Lexer> */
 {
-{ /* Inline kernel#Int#+ (var_start_line,var293) on <var_start_line:Int> */
-/* Covariant cast for argument 0 (i) <var293:Int> isa OTHER */
-/* <var293:Int> isa OTHER */
-var296 = 1; /* easy <var293:Int> isa OTHER*/
-if (unlikely(!var296)) {
-var_class_name299 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name299);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_stream_pos,var_accept_length) on <var_start_stream_pos:Int> */
+/* Covariant cast for argument 0 (i) <var_accept_length:Int> isa OTHER */
+/* <var_accept_length:Int> isa OTHER */
+var258 = 1; /* easy <var_accept_length:Int> isa OTHER*/
+if (unlikely(!var258)) {
+var_class_name261 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name261);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var300 = var_start_line + var293;
-var294 = var300;
-goto RET_LABEL295;
-RET_LABEL295:(void)0;
+var262 = var_start_stream_pos + var_accept_length;
+var256 = var262;
+goto RET_LABEL257;
+RET_LABEL257:(void)0;
 }
 }
-var301 = 1;
+self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l = var256; /* _stream_pos on <self:Lexer> */
 {
-{ /* Inline kernel#Int#+ (var_accept_line,var301) on <var_accept_line:Int> */
-/* Covariant cast for argument 0 (i) <var301:Int> isa OTHER */
-/* <var301:Int> isa OTHER */
-var304 = 1; /* easy <var301:Int> isa OTHER*/
-if (unlikely(!var304)) {
-var_class_name307 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name307);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#== (var_accept_token,0l) on <var_accept_token:Int> */
+var265 = var_accept_token == 0l;
+var263 = var265;
+goto RET_LABEL264;
+RET_LABEL264:(void)0;
 }
-var308 = var_accept_line + var301;
-var302 = var308;
-goto RET_LABEL303;
-RET_LABEL303:(void)0;
 }
+if (var263){
+var = ((val*)NULL);
+goto RET_LABEL;
+} else {
 }
-var309 = 1;
+var266 = NEW_nit__Location(&type_nit__Location);
 {
-{ /* Inline kernel#Int#+ (var_start_pos,var309) on <var_start_pos:Int> */
-/* Covariant cast for argument 0 (i) <var309:Int> isa OTHER */
-/* <var309:Int> isa OTHER */
-var312 = 1; /* easy <var309:Int> isa OTHER*/
-if (unlikely(!var312)) {
-var_class_name315 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name315);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var269 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var269)) {
+var_class_name272 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name272);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var316 = var_start_pos + var309;
-var310 = var316;
-goto RET_LABEL311;
-RET_LABEL311:(void)0;
+var273 = var_start_line + 1l;
+var267 = var273;
+goto RET_LABEL268;
+RET_LABEL268:(void)0;
 }
 }
 {
-((void (*)(val* self, val* p0))(var292->class->vft[COLOR_nit__location__Location__file_61d]))(var292, var_file) /* file= on <var292:Location>*/;
+{ /* Inline kernel#Int#+ (var_accept_line,1l) on <var_accept_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var276 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var276)) {
+var_class_name279 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name279);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-{
-((void (*)(val* self, long p0))(var292->class->vft[COLOR_nit__location__Location__line_start_61d]))(var292, var294) /* line_start= on <var292:Location>*/;
+var280 = var_accept_line + 1l;
+var274 = var280;
+goto RET_LABEL275;
+RET_LABEL275:(void)0;
 }
-{
-((void (*)(val* self, long p0))(var292->class->vft[COLOR_nit__location__Location__line_end_61d]))(var292, var302) /* line_end= on <var292:Location>*/;
 }
 {
-((void (*)(val* self, long p0))(var292->class->vft[COLOR_nit__location__Location__column_start_61d]))(var292, var310) /* column_start= on <var292:Location>*/;
+{ /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var283 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var283)) {
+var_class_name286 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name286);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-{
-((void (*)(val* self, long p0))(var292->class->vft[COLOR_nit__location__Location__column_end_61d]))(var292, var_accept_pos) /* column_end= on <var292:Location>*/;
+var287 = var_start_pos + 1l;
+var281 = var287;
+goto RET_LABEL282;
+RET_LABEL282:(void)0;
 }
-{
-((void (*)(val* self))(var292->class->vft[COLOR_standard__kernel__Object__init]))(var292) /* init on <var292:Location>*/;
 }
-var_location = var292;
-self->attrs[COLOR_nit__lexer_work__Lexer___pos].l = var_accept_pos; /* _pos on <self:Lexer> */
-self->attrs[COLOR_nit__lexer_work__Lexer___line].l = var_accept_line; /* _line on <self:Lexer> */
 {
-{ /* Inline kernel#Int#+ (var_start_stream_pos,var_accept_length) on <var_start_stream_pos:Int> */
-/* Covariant cast for argument 0 (i) <var_accept_length:Int> isa OTHER */
-/* <var_accept_length:Int> isa OTHER */
-var319 = 1; /* easy <var_accept_length:Int> isa OTHER*/
-if (unlikely(!var319)) {
-var_class_name322 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name322);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+((void(*)(val* self, val* p0))(var266->class->vft[COLOR_nit__location__Location__file_61d]))(var266, var_file); /* file= on <var266:Location>*/
 }
-var323 = var_start_stream_pos + var_accept_length;
-var317 = var323;
-goto RET_LABEL318;
-RET_LABEL318:(void)0;
+{
+((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__line_start_61d]))(var266, var267); /* line_start= on <var266:Location>*/
 }
+{
+((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__line_end_61d]))(var266, var274); /* line_end= on <var266:Location>*/
 }
-self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l = var317; /* _stream_pos on <self:Lexer> */
-var324 = 0;
 {
-{ /* Inline kernel#Int#== (var_accept_token,var324) on <var_accept_token:Int> */
-var327 = var_accept_token == var324;
-var325 = var327;
-goto RET_LABEL326;
-RET_LABEL326:(void)0;
+((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__column_start_61d]))(var266, var281); /* column_start= on <var266:Location>*/
 }
+{
+((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__column_end_61d]))(var266, var_accept_pos); /* column_end= on <var266:Location>*/
 }
-if (var325){
-var328 = NULL;
-var = var328;
-goto RET_LABEL;
-} else {
+{
+((void(*)(val* self))(var266->class->vft[COLOR_standard__kernel__Object__init]))(var266); /* init on <var266:Location>*/
 }
+var_location = var266;
 {
-var329 = nit__lexer___Lexer___make_token(self, var_accept_token, var_location);
+var288 = nit__lexer___Lexer___make_token(self, var_accept_token, var_location);
 }
-var = var329;
+var = var288;
 goto RET_LABEL;
 } else {
 self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l = var_sp; /* _stream_pos on <self:Lexer> */
-var330 = NEW_nit__Location(&type_nit__Location);
-var331 = 1;
+var289 = NEW_nit__Location(&type_nit__Location);
 {
-{ /* Inline kernel#Int#+ (var_start_line,var331) on <var_start_line:Int> */
-/* Covariant cast for argument 0 (i) <var331:Int> isa OTHER */
-/* <var331:Int> isa OTHER */
-var334 = 1; /* easy <var331:Int> isa OTHER*/
-if (unlikely(!var334)) {
-var_class_name337 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name337);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var292 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var292)) {
+var_class_name295 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name295);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var338 = var_start_line + var331;
-var332 = var338;
-goto RET_LABEL333;
-RET_LABEL333:(void)0;
+var296 = var_start_line + 1l;
+var290 = var296;
+goto RET_LABEL291;
+RET_LABEL291:(void)0;
 }
 }
-var339 = 1;
 {
-{ /* Inline kernel#Int#+ (var_start_line,var339) on <var_start_line:Int> */
-/* Covariant cast for argument 0 (i) <var339:Int> isa OTHER */
-/* <var339:Int> isa OTHER */
-var342 = 1; /* easy <var339:Int> isa OTHER*/
-if (unlikely(!var342)) {
-var_class_name345 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name345);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var299 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var299)) {
+var_class_name302 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name302);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var346 = var_start_line + var339;
-var340 = var346;
-goto RET_LABEL341;
-RET_LABEL341:(void)0;
+var303 = var_start_line + 1l;
+var297 = var303;
+goto RET_LABEL298;
+RET_LABEL298:(void)0;
 }
 }
-var347 = 1;
 {
-{ /* Inline kernel#Int#+ (var_start_pos,var347) on <var_start_pos:Int> */
-/* Covariant cast for argument 0 (i) <var347:Int> isa OTHER */
-/* <var347:Int> isa OTHER */
-var350 = 1; /* easy <var347:Int> isa OTHER*/
-if (unlikely(!var350)) {
-var_class_name353 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name353);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var306 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var306)) {
+var_class_name309 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name309);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var354 = var_start_pos + var347;
-var348 = var354;
-goto RET_LABEL349;
-RET_LABEL349:(void)0;
+var310 = var_start_pos + 1l;
+var304 = var310;
+goto RET_LABEL305;
+RET_LABEL305:(void)0;
 }
 }
-var355 = 1;
 {
-{ /* Inline kernel#Int#+ (var_start_pos,var355) on <var_start_pos:Int> */
-/* Covariant cast for argument 0 (i) <var355:Int> isa OTHER */
-/* <var355:Int> isa OTHER */
-var358 = 1; /* easy <var355:Int> isa OTHER*/
-if (unlikely(!var358)) {
-var_class_name361 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name361);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
-show_backtrace(1);
+{ /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
+/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
+/* <1l:Int> isa OTHER */
+var313 = 1; /* easy <1l:Int> isa OTHER*/
+if (unlikely(!var313)) {
+var_class_name316 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name316);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+fatal_exit(1);
 }
-var362 = var_start_pos + var355;
-var356 = var362;
-goto RET_LABEL357;
-RET_LABEL357:(void)0;
+var317 = var_start_pos + 1l;
+var311 = var317;
+goto RET_LABEL312;
+RET_LABEL312:(void)0;
 }
 }
 {
-((void (*)(val* self, val* p0))(var330->class->vft[COLOR_nit__location__Location__file_61d]))(var330, var_file) /* file= on <var330:Location>*/;
+((void(*)(val* self, val* p0))(var289->class->vft[COLOR_nit__location__Location__file_61d]))(var289, var_file); /* file= on <var289:Location>*/
 }
 {
-((void (*)(val* self, long p0))(var330->class->vft[COLOR_nit__location__Location__line_start_61d]))(var330, var332) /* line_start= on <var330:Location>*/;
+((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__line_start_61d]))(var289, var290); /* line_start= on <var289:Location>*/
 }
 {
-((void (*)(val* self, long p0))(var330->class->vft[COLOR_nit__location__Location__line_end_61d]))(var330, var340) /* line_end= on <var330:Location>*/;
+((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__line_end_61d]))(var289, var297); /* line_end= on <var289:Location>*/
 }
 {
-((void (*)(val* self, long p0))(var330->class->vft[COLOR_nit__location__Location__column_start_61d]))(var330, var348) /* column_start= on <var330:Location>*/;
+((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__column_start_61d]))(var289, var304); /* column_start= on <var289:Location>*/
 }
 {
-((void (*)(val* self, long p0))(var330->class->vft[COLOR_nit__location__Location__column_end_61d]))(var330, var356) /* column_end= on <var330:Location>*/;
+((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__column_end_61d]))(var289, var311); /* column_end= on <var289:Location>*/
 }
 {
-((void (*)(val* self))(var330->class->vft[COLOR_standard__kernel__Object__init]))(var330) /* init on <var330:Location>*/;
+((void(*)(val* self))(var289->class->vft[COLOR_standard__kernel__Object__init]))(var289); /* init on <var289:Location>*/
 }
-var_location363 = var330;
+var_location318 = var289;
 {
 { /* Inline kernel#Int#> (var_sp,var_start_stream_pos) on <var_sp:Int> */
 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
 /* <var_start_stream_pos:Int> isa OTHER */
-var366 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
-if (unlikely(!var366)) {
-var_class_name369 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name369);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
-show_backtrace(1);
+var321 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
+if (unlikely(!var321)) {
+var_class_name324 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name324);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
+fatal_exit(1);
 }
-var370 = var_sp > var_start_stream_pos;
-var364 = var370;
-goto RET_LABEL365;
-RET_LABEL365:(void)0;
+var325 = var_sp > var_start_stream_pos;
+var319 = var325;
+goto RET_LABEL320;
+RET_LABEL320:(void)0;
 }
 }
-if (var364){
+if (var319){
 {
 { /* Inline kernel#Int#- (var_sp,var_start_stream_pos) on <var_sp:Int> */
 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
 /* <var_start_stream_pos:Int> isa OTHER */
-var373 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
-if (unlikely(!var373)) {
-var_class_name376 = type_standard__Int.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name376);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
-show_backtrace(1);
+var328 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
+if (unlikely(!var328)) {
+var_class_name331 = type_standard__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name331);
+PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+fatal_exit(1);
 }
-var377 = var_sp - var_start_stream_pos;
-var371 = var377;
-goto RET_LABEL372;
-RET_LABEL372:(void)0;
+var332 = var_sp - var_start_stream_pos;
+var326 = var332;
+goto RET_LABEL327;
+RET_LABEL327:(void)0;
 }
 }
 {
-var378 = ((val* (*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var_start_stream_pos, var371) /* substring on <var_string:String>*/;
+var333 = ((val*(*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var_start_stream_pos, var326); /* substring on <var_string:String>*/
 }
-var_text = var378;
-var379 = NEW_nit__ALexerError(&type_nit__ALexerError);
-if (varonce) {
-var380 = varonce;
+var_text = var333;
+var334 = NEW_nit__ALexerError(&type_nit__ALexerError);
+if (unlikely(varonce==NULL)) {
+var335 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
+if (likely(varonce336!=NULL)) {
+var337 = varonce336;
 } else {
-var381 = "Syntax error: unknown token ";
-var382 = 28;
-var383 = standard___standard__NativeString___to_s_with_length(var381, var382);
-var380 = var383;
-varonce = var380;
-}
-if (varonce384) {
-var385 = varonce384;
+var338 = "Syntax Error: unknown token `";
+var339 = standard___standard__NativeString___to_s_with_length(var338, 29l);
+var337 = var339;
+varonce336 = var337;
+}
+((struct instance_standard__NativeArray*)var335)->values[0]=var337;
+if (likely(varonce340!=NULL)) {
+var341 = varonce340;
 } else {
-var386 = ".";
-var387 = 1;
-var388 = standard___standard__NativeString___to_s_with_length(var386, var387);
-var385 = var388;
-varonce384 = var385;
-}
-var389 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{ /* var389 = array_instance Array[Object] */
-var390 = 3;
-var391 = NEW_standard__NativeArray(var390, &type_standard__NativeArray__standard__Object);
-((struct instance_standard__NativeArray*)var391)->values[0] = (val*) var380;
-((struct instance_standard__NativeArray*)var391)->values[1] = (val*) var_text;
-((struct instance_standard__NativeArray*)var391)->values[2] = (val*) var385;
-{
-((void (*)(val* self, val* p0, long p1))(var389->class->vft[COLOR_standard__array__Array__with_native]))(var389, var391, var390) /* with_native on <var389:Array[Object]>*/;
+var342 = "`.";
+var343 = standard___standard__NativeString___to_s_with_length(var342, 2l);
+var341 = var343;
+varonce340 = var341;
 }
+((struct instance_standard__NativeArray*)var335)->values[2]=var341;
+} else {
+var335 = varonce;
+varonce = NULL;
 }
+((struct instance_standard__NativeArray*)var335)->values[1]=var_text;
 {
-var392 = ((val* (*)(val* self))(var389->class->vft[COLOR_standard__string__Object__to_s]))(var389) /* to_s on <var389:Array[Object]>*/;
+var344 = ((val*(*)(val* self))(var335->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var335); /* native_to_s on <var335:NativeArray[String]>*/
 }
+varonce = var335;
 {
-nit__lexer_work___ALexerError___init_lexer_error(var379, var392, var_location363, var_text); /* Direct call lexer_work#ALexerError#init_lexer_error on <var379:ALexerError>*/
+nit__lexer_work___ALexerError___init_lexer_error(var334, var344, var_location318, var_text); /* Direct call lexer_work#ALexerError#init_lexer_error on <var334:ALexerError>*/
 }
-var_token = var379;
+var_token = var334;
 {
 { /* Inline parser_nodes#SourceFile#last_token= (var_file,var_token) on <var_file:SourceFile> */
 var_file->attrs[COLOR_nit__parser_nodes__SourceFile___last_token].val = var_token; /* _last_token on <var_file:SourceFile> */
-RET_LABEL393:(void)0;
+RET_LABEL345:(void)0;
 }
 }
 var = var_token;
 goto RET_LABEL;
 } else {
-var394 = NEW_nit__EOF(&type_nit__EOF);
+var346 = NEW_nit__EOF(&type_nit__EOF);
 {
-nit__lexer_work___EOF___init_tk(var394, var_location363); /* Direct call lexer_work#EOF#init_tk on <var394:EOF>*/
+nit__lexer_work___EOF___init_tk(var346, var_location318); /* Direct call lexer_work#EOF#init_tk on <var346:EOF>*/
 }
-var_token395 = var394;
+var_token347 = var346;
 {
-{ /* Inline parser_nodes#SourceFile#last_token= (var_file,var_token395) on <var_file:SourceFile> */
-var_file->attrs[COLOR_nit__parser_nodes__SourceFile___last_token].val = var_token395; /* _last_token on <var_file:SourceFile> */
-RET_LABEL396:(void)0;
+{ /* Inline parser_nodes#SourceFile#last_token= (var_file,var_token347) on <var_file:SourceFile> */
+var_file->attrs[COLOR_nit__parser_nodes__SourceFile___last_token].val = var_token347; /* _last_token on <var_file:SourceFile> */
+RET_LABEL348:(void)0;
 }
 }
-var = var_token395;
+var = var_token347;
 goto RET_LABEL;
 }
 }
@@ -1851,7 +1748,7 @@ return var;
 /* method lexer_work#Lexer#init for (self: Lexer) */
 void nit___nit__Lexer___standard__kernel__Object__init(val* self) {
 {
-((void (*)(val* self))(self->class->vft[COLOR_nit___nit__Lexer___standard__kernel__Object__init]))(self) /* init on <self:Lexer>*/;
+((void(*)(val* self))(self->class->vft[COLOR_nit___nit__Lexer___standard__kernel__Object__init]))(self); /* init on <self:Lexer>*/
 }
 RET_LABEL:;
 }