X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_work.sep.1.c b/c_src/parser_work.sep.1.c index cf3ca23..8225043 100644 --- a/c_src/parser_work.sep.1.c +++ b/c_src/parser_work.sep.1.c @@ -25,7 +25,7 @@ var_lexer = p0; self->attrs[COLOR_parser_work__Parser___lexer].val = var_lexer; /* _lexer on */ var = NEW_array__Array(&type_array__Arrayparser_work__State); { -array__Array__init(var); /* Direct call array#Array#init on */ +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_work__Parser___stack].val = var; /* _stack on */ var1 = 1; @@ -58,7 +58,7 @@ long var2 /* : Int */; long var_low /* var low: Int */; long var3 /* : Int */; long var4 /* : Int */; -long var6 /* : Int */; +long var6 /* : Int for extern */; long var7 /* : Int */; long var8 /* : Int */; short int var10 /* : Bool */; @@ -103,7 +103,7 @@ const char* var_class_name48; long var49 /* : Int */; long var_subindex /* var subindex: Int */; long var50 /* : Int */; -long var52 /* : Int */; +long var52 /* : Int for extern */; long var_goal /* var goal: Int */; short int var53 /* : Bool */; short int var55 /* : Bool */; @@ -139,10 +139,10 @@ int idtype88; const char* var_class_name89; long var90 /* : Int */; long var91 /* : Int */; -long var93 /* : Int */; +long var93 /* : Int for extern */; long var94 /* : Int */; long var95 /* : Int */; -long var97 /* : Int */; +long var97 /* : Int for extern */; var_index = p0; { var1 = parser_work__Parser__state(self); @@ -168,7 +168,7 @@ var10 = 1; /* easy isa OTHER*/ if (unlikely(!var10)) { var_class_name = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); show_backtrace(1); } var11 = var4 - var7; @@ -187,7 +187,7 @@ var14 = 1; /* easy isa OTHER*/ if (unlikely(!var14)) { var_class_name17 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370); show_backtrace(1); } var18 = var_low <= var_high; @@ -196,7 +196,7 @@ goto RET_LABEL13; RET_LABEL13:(void)0; } } -if (!var12) break; +if (var12){ { { /* Inline kernel#Int#+ (var_low,var_high) on */ /* Covariant cast for argument 0 (i) isa OTHER */ @@ -205,7 +205,7 @@ var21 = 1; /* easy isa OTHER*/ if (unlikely(!var21)) { var_class_name24 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var25 = var_low + var_high; @@ -223,7 +223,7 @@ var29 = 1; /* easy isa OTHER*/ if (unlikely(!var29)) { var_class_name32 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 333); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379); show_backtrace(1); } var33 = var19 / var26; @@ -242,7 +242,7 @@ var37 = 1; /* easy isa OTHER*/ if (unlikely(!var37)) { var_class_name40 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378); show_backtrace(1); } var41 = var_middle * var34; @@ -260,7 +260,7 @@ var45 = 1; /* easy isa OTHER*/ if (unlikely(!var45)) { var_class_name48 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var49 = var35 + var42; @@ -287,7 +287,7 @@ var55 = 1; /* easy isa OTHER*/ if (unlikely(!var55)) { var_class_name58 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); show_backtrace(1); } var59 = var_state < var_goal; @@ -306,7 +306,7 @@ var63 = 1; /* easy isa OTHER*/ if (unlikely(!var63)) { var_class_name66 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); show_backtrace(1); } var67 = var_middle - var60; @@ -325,7 +325,7 @@ var70 = 1; /* easy isa OTHER*/ if (unlikely(!var70)) { var_class_name73 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); show_backtrace(1); } var74 = var_state > var_goal; @@ -344,7 +344,7 @@ var78 = 1; /* easy isa OTHER*/ if (unlikely(!var78)) { var_class_name81 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var82 = var_middle + var75; @@ -364,7 +364,7 @@ var86 = 1; /* easy isa OTHER*/ if (unlikely(!var86)) { var_class_name89 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var90 = var_subindex + var83; @@ -385,7 +385,9 @@ var = var91; goto RET_LABEL; } } -CONTINUE_label: (void)0; +} else { +goto BREAK_label; +} } BREAK_label: (void)0; var94 = 2; @@ -426,17 +428,18 @@ long var5 /* : Int */; long var_pos /* var pos: Int */; val* var6 /* : Array[State] */; long var7 /* : Int */; -short int var8 /* : Bool */; +long var9 /* : Int */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; -val* var15 /* : Array[State] */; -val* var16 /* : nullable Object */; -val* var_state /* var state: State */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +const char* var_class_name15; +short int var16 /* : Bool */; val* var17 /* : Array[State] */; -val* var18 /* : State */; +val* var18 /* : nullable Object */; +val* var_state /* var state: State */; +val* var19 /* : Array[State] */; +val* var20 /* : State */; var_numstate = p0; var_list_node = p1; var = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on */ @@ -449,7 +452,7 @@ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { var_class_name = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var5 = var + var1; @@ -463,55 +466,59 @@ self->attrs[COLOR_parser_work__Parser___stack_pos].l = var_pos; /* _stack_pos on var6 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 84); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 85); show_backtrace(1); } { -var7 = array__AbstractArrayRead__length(var6); +{ /* Inline array#AbstractArrayRead#length (var6) on */ +var9 = var6->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var7 = var9; +RET_LABEL8:(void)0; +} } { { /* Inline kernel#Int#< (var_pos,var7) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325); +var12 = 1; /* easy isa OTHER*/ +if (unlikely(!var12)) { +var_class_name15 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); show_backtrace(1); } -var14 = var_pos < var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var16 = var_pos < var7; +var10 = var16; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -if (var8){ -var15 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ -if (unlikely(var15 == NULL)) { +if (var10){ +var17 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 85); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 86); show_backtrace(1); } { -var16 = array__Array___91d_93d(var15, var_pos); +var18 = array__Array___91d_93d(var17, var_pos); } -var_state = var16; +var_state = var18; var_state->attrs[COLOR_parser_work__State___state].l = var_numstate; /* _state on */ var_state->attrs[COLOR_parser_work__State___nodes].val = var_list_node; /* _nodes on */ } else { -var17 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ -if (unlikely(var17 == NULL)) { +var19 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 89); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 90); show_backtrace(1); } -var18 = NEW_parser_work__State(&type_parser_work__State); +var20 = NEW_parser_work__State(&type_parser_work__State); { -parser_work__State__init(var18, var_numstate, var_list_node); /* Direct call parser_work#State#init on */ +parser_work__State__init(var20, var_numstate, var_list_node); /* Direct call parser_work#State#init on */ } { -array__AbstractArray__push(var17, var18); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var19, var20); /* Direct call array#AbstractArray#push on */ } } RET_LABEL:; @@ -531,7 +538,7 @@ long var4 /* : Int */; var1 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 96); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 97); show_backtrace(1); } var2 = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on */ @@ -572,7 +579,7 @@ long var10 /* : Int */; var1 = self->attrs[COLOR_parser_work__Parser___stack].val; /* _stack on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 102); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 103); show_backtrace(1); } var2 = self->attrs[COLOR_parser_work__Parser___stack_pos].l; /* _stack_pos on */ @@ -591,7 +598,7 @@ var9 = 1; /* easy isa OTHER*/ if (unlikely(!var9)) { var_class_name = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); show_backtrace(1); } var10 = var5 - var6; @@ -635,17 +642,17 @@ long var9 /* : Int */; long var_index /* var index: Int */; long var10 /* : Int */; long var11 /* : Int */; -long var13 /* : Int */; +long var13 /* : Int for extern */; long var_action_type /* var action_type: Int */; long var14 /* : Int */; long var15 /* : Int */; -long var17 /* : Int */; +long var17 /* : Int for extern */; long var_action_value /* var action_value: Int */; long var18 /* : Int */; long var_low /* var low: Int */; long var19 /* : Int */; long var20 /* : Int */; -long var22 /* : Int */; +long var22 /* : Int for extern */; long var23 /* : Int */; long var24 /* : Int */; short int var26 /* : Bool */; @@ -690,7 +697,7 @@ const char* var_class_name66; long var67 /* : Int */; long var_subindex /* var subindex: Int */; long var68 /* : Int */; -long var70 /* : Int */; +long var70 /* : Int for extern */; long var_goal /* var goal: Int */; short int var71 /* : Bool */; short int var73 /* : Bool */; @@ -726,7 +733,7 @@ int idtype106; const char* var_class_name107; long var108 /* : Int */; long var109 /* : Int */; -long var111 /* : Int */; +long var111 /* : Int for extern */; long var112 /* : Int */; long var113 /* : Int */; short int var115 /* : Bool */; @@ -735,7 +742,7 @@ int idtype117; const char* var_class_name118; long var119 /* : Int */; long var120 /* : Int */; -long var122 /* : Int */; +long var122 /* : Int for extern */; long var123 /* : Int */; short int var124 /* : Bool */; short int var125 /* : Bool */; @@ -768,26 +775,25 @@ long var151 /* : Int */; short int var152 /* : Bool */; short int var153 /* : Bool */; short int var155 /* : Bool */; -val* var156 /* : nullable Location */; -val* var157 /* : null */; -short int var158 /* : Bool */; -short int var159 /* : Bool */; -val* var160 /* : Token */; -val* var162 /* : AParserError */; +short int var156 /* : Bool */; +short int var157 /* : Bool */; +val* var158 /* : Token */; +val* var160 /* : AParserError */; static val* varonce; -val* var163 /* : String */; -char* var164 /* : NativeString */; -long var165 /* : Int */; -val* var166 /* : FlatString */; -static val* varonce167; -val* var168 /* : String */; -char* var169 /* : NativeString */; -long var170 /* : Int */; -val* var171 /* : FlatString */; -val* var172 /* : Array[Object] */; -long var173 /* : Int */; -val* var174 /* : NativeArray[Object] */; -val* var175 /* : String */; +val* var161 /* : String */; +char* var162 /* : NativeString */; +long var163 /* : Int */; +val* var164 /* : FlatString */; +static val* varonce165; +val* var166 /* : String */; +char* var167 /* : NativeString */; +long var168 /* : Int */; +val* var169 /* : FlatString */; +val* var170 /* : Array[Object] */; +long var171 /* : Int */; +val* var172 /* : NativeArray[Object] */; +val* var173 /* : String */; +val* var174 /* : Location */; val* var176 /* : Location */; val* var_node2177 /* var node2: AParserError */; val* var178 /* : Start */; @@ -801,7 +807,7 @@ parser_work__Parser__push(self, var1, var2); /* Direct call parser_work#Parser#p var3 = self->attrs[COLOR_parser_work__Parser___lexer].val; /* _lexer on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lexer"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 112); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 113); show_backtrace(1); } var_lexer = var3; @@ -876,7 +882,7 @@ var26 = 1; /* easy isa OTHER*/ if (unlikely(!var26)) { var_class_name = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); show_backtrace(1); } var29 = var20 - var23; @@ -895,7 +901,7 @@ var32 = 1; /* easy isa OTHER*/ if (unlikely(!var32)) { var_class_name35 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370); show_backtrace(1); } var36 = var_low <= var_high; @@ -904,7 +910,7 @@ goto RET_LABEL31; RET_LABEL31:(void)0; } } -if (!var30) break; +if (var30){ { { /* Inline kernel#Int#+ (var_low,var_high) on */ /* Covariant cast for argument 0 (i) isa OTHER */ @@ -913,7 +919,7 @@ var39 = 1; /* easy isa OTHER*/ if (unlikely(!var39)) { var_class_name42 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var43 = var_low + var_high; @@ -931,7 +937,7 @@ var47 = 1; /* easy isa OTHER*/ if (unlikely(!var47)) { var_class_name50 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 333); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379); show_backtrace(1); } var51 = var37 / var44; @@ -950,7 +956,7 @@ var55 = 1; /* easy isa OTHER*/ if (unlikely(!var55)) { var_class_name58 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378); show_backtrace(1); } var59 = var_middle * var52; @@ -968,7 +974,7 @@ var63 = 1; /* easy isa OTHER*/ if (unlikely(!var63)) { var_class_name66 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var67 = var53 + var60; @@ -995,7 +1001,7 @@ var73 = 1; /* easy isa OTHER*/ if (unlikely(!var73)) { var_class_name76 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); show_backtrace(1); } var77 = var_index < var_goal; @@ -1014,7 +1020,7 @@ var81 = 1; /* easy isa OTHER*/ if (unlikely(!var81)) { var_class_name84 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); show_backtrace(1); } var85 = var_middle - var78; @@ -1033,7 +1039,7 @@ var88 = 1; /* easy isa OTHER*/ if (unlikely(!var88)) { var_class_name91 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); show_backtrace(1); } var92 = var_index > var_goal; @@ -1052,7 +1058,7 @@ var96 = 1; /* easy isa OTHER*/ if (unlikely(!var96)) { var_class_name99 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var100 = var_middle + var93; @@ -1072,7 +1078,7 @@ var104 = 1; /* easy isa OTHER*/ if (unlikely(!var104)) { var_class_name107 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name107); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var108 = var_subindex + var101; @@ -1099,7 +1105,7 @@ var115 = 1; /* easy isa OTHER*/ if (unlikely(!var115)) { var_class_name118 = type_kernel__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name118); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var119 = var_subindex + var112; @@ -1120,7 +1126,9 @@ var_action_value = var120; goto BREAK_label; } } -CONTINUE_label: (void)0; +} else { +goto BREAK_label; +} } BREAK_label: (void)0; var123 = 0; @@ -1155,7 +1163,7 @@ if (var130){ var134 = self->attrs[COLOR_parser_work__Parser___reduce_table].val; /* _reduce_table on */ if (unlikely(var134 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _reduce_table"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 146); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 147); show_backtrace(1); } { @@ -1190,7 +1198,7 @@ var142 = var_node2->type->type_table[cltype143] == idtype144; } if (unlikely(!var142)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 149); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 150); show_backtrace(1); } { @@ -1211,7 +1219,7 @@ var146 = var_node1->type->type_table[cltype147] == idtype148; } if (unlikely(!var146)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 151); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 152); show_backtrace(1); } var149 = NEW_parser_nodes__Start(&type_parser_nodes__Start); @@ -1221,7 +1229,7 @@ parser_nodes__Start__init(var149, var_node1, var_node2); /* Direct call parser_n var_node = var149; var150 = NEW_parser_work__ComputeProdLocationVisitor(&type_parser_work__ComputeProdLocationVisitor); { -parser_work__ComputeProdLocationVisitor__init(var150); /* Direct call parser_work#ComputeProdLocationVisitor#init on */ +((void (*)(val*))(var150->class->vft[COLOR_kernel__Object__init]))(var150) /* init on */; } { parser_nodes__Visitor__enter_visit(var150, var_node); /* Direct call parser_nodes#Visitor#enter_visit on */ @@ -1241,65 +1249,67 @@ var152 = var153; } if (var152){ for(;;) { -var156 = var_token->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ -var157 = NULL; -if (var156 == NULL) { -var158 = 1; /* is null */ -} else { -var158 = 0; /* arg is null but recv is not */ -} -if (0) { -var159 = location__Location___61d_61d(var156, var157); -var158 = var159; -} -if (!var158) break; +var156 = var_token->attrs[COLOR_parser_nodes__ANode___location].val != NULL; /* _location on */ +var157 = !var156; +if (var157){ { -var160 = lexer_work__Lexer__next(var_lexer); +var158 = lexer_work__Lexer__next(var_lexer); +} +var_token = var158; +} else { +goto BREAK_label159; } -var_token = var160; -CONTINUE_label161: (void)0; } -BREAK_label161: (void)0; -var162 = NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError); +BREAK_label159: (void)0; +var160 = NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError); if (varonce) { -var163 = varonce; +var161 = varonce; } else { -var164 = "Syntax error: unexpected "; -var165 = 25; -var166 = string__NativeString__to_s_with_length(var164, var165); -var163 = var166; -varonce = var163; -} -if (varonce167) { -var168 = varonce167; +var162 = "Syntax error: unexpected "; +var163 = 25; +var164 = string__NativeString__to_s_with_length(var162, var163); +var161 = var164; +varonce = var161; +} +if (varonce165) { +var166 = varonce165; } else { -var169 = "."; -var170 = 1; -var171 = string__NativeString__to_s_with_length(var169, var170); -var168 = var171; -varonce167 = var168; +var167 = "."; +var168 = 1; +var169 = string__NativeString__to_s_with_length(var167, var168); +var166 = var169; +varonce165 = var166; } -var172 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var172 = array_instance Array[Object] */ -var173 = 3; -var174 = NEW_array__NativeArray(var173, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var174)->values[0] = (val*) var163; -((struct instance_array__NativeArray*)var174)->values[1] = (val*) var_token; -((struct instance_array__NativeArray*)var174)->values[2] = (val*) var168; +var170 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var170 = array_instance Array[Object] */ +var171 = 3; +var172 = NEW_array__NativeArray(var171, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var172)->values[0] = (val*) var161; +((struct instance_array__NativeArray*)var172)->values[1] = (val*) var_token; +((struct instance_array__NativeArray*)var172)->values[2] = (val*) var166; { -((void (*)(val*, val*, long))(var172->class->vft[COLOR_array__Array__with_native]))(var172, var174, var173) /* with_native on */; +((void (*)(val*, val*, long))(var170->class->vft[COLOR_array__Array__with_native]))(var170, var172, var171) /* with_native on */; } } { -var175 = ((val* (*)(val*))(var172->class->vft[COLOR_string__Object__to_s]))(var172) /* to_s on */; +var173 = ((val* (*)(val*))(var170->class->vft[COLOR_string__Object__to_s]))(var170) /* to_s on */; } { -var176 = parser_nodes__ANode__location(var_token); +{ /* Inline parser_nodes#ANode#location (var_token) on */ +var176 = var_token->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var176 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23); +show_backtrace(1); +} +var174 = var176; +RET_LABEL175:(void)0; +} } { -lexer_work__AParserError__init_parser_error(var162, var175, var176, var_token); /* Direct call lexer_work#AParserError#init_parser_error on */ +lexer_work__AParserError__init_parser_error(var160, var173, var174, var_token); /* Direct call lexer_work#AParserError#init_parser_error on */ } -var_node2177 = var162; +var_node2177 = var160; var178 = NEW_parser_nodes__Start(&type_parser_nodes__Start); var179 = NULL; { @@ -1313,9 +1323,7 @@ goto RET_LABEL; } } } -CONTINUE_label181: (void)0; } -BREAK_label181: (void)0; RET_LABEL:; return var; } @@ -1328,101 +1336,200 @@ var = var1; RET_LABEL:; return var; } +/* method parser_work#Prod#collect_text for (self: Prod): String */ +val* parser_work__Prod__collect_text(val* self) { +val* var /* : String */; +val* var1 /* : TextCollectorVisitor */; +val* var_v /* var v: TextCollectorVisitor */; +val* var2 /* : String */; +val* var4 /* : String */; +static val* varonce; +val* var5 /* : String */; +char* var6 /* : NativeString */; +long var7 /* : Int */; +val* var8 /* : FlatString */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : String */; +val* var17 /* : String */; +var1 = NEW_parser_work__TextCollectorVisitor(&type_parser_work__TextCollectorVisitor); +{ +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; +} +var_v = var1; +{ +parser_nodes__Visitor__enter_visit(var_v, self); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +{ +{ /* Inline parser_work#TextCollectorVisitor#text (var_v) on */ +var4 = var_v->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253); +show_backtrace(1); +} +var2 = var4; +RET_LABEL3:(void)0; +} +} +if (varonce) { +var5 = varonce; +} else { +var6 = ""; +var7 = 0; +var8 = string__NativeString__to_s_with_length(var6, var7); +var5 = var8; +varonce = var5; +} +{ +{ /* Inline kernel#Object#!= (var2,var5) on */ +var_other = var5; +{ +var13 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_kernel__Object___61d_61d]))(var2, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 180); +show_backtrace(1); +} +{ +{ /* Inline parser_work#TextCollectorVisitor#text (var_v) on */ +var17 = var_v->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +var = var15; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method parser_work#Prod#collect_text for (self: Object): String */ +val* VIRTUAL_parser_work__Prod__collect_text(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = parser_work__Prod__collect_text(self); +var = var1; +RET_LABEL:; +return var; +} /* method parser_work#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */ void parser_work__ComputeProdLocationVisitor__visit(val* self, val* p0) { val* var_n /* var n: ANode */; short int var /* : Bool */; int cltype; int idtype; -val* var1 /* : nullable Location */; -val* var_loc /* var loc: nullable Location */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var5 /* : Array[Prod] */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : Location */; +val* var_loc /* var loc: Location */; +val* var4 /* : Array[Prod] */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var8 /* : Array[Prod] */; -val* var9 /* : ArrayIterator[nullable Object] */; +val* var7 /* : Array[Prod] */; +val* var_ /* var : Array[Prod] */; +val* var8 /* : ArrayIterator[nullable Object] */; +val* var_9 /* var : ArrayIterator[Prod] */; short int var10 /* : Bool */; val* var11 /* : nullable Object */; val* var_no /* var no: Prod */; -val* var12 /* : Array[Prod] */; val* var13 /* : Array[Prod] */; -short int var14 /* : Bool */; +val* var14 /* : Array[Prod] */; short int var15 /* : Bool */; -val* var16 /* : Location */; -val* var17 /* : nullable SourceFile */; -val* var19 /* : nullable SourceFile */; -long var20 /* : Int */; -long var22 /* : Int */; +short int var16 /* : Bool */; +val* var17 /* : Location */; +val* var18 /* : nullable SourceFile */; +val* var20 /* : nullable SourceFile */; +long var21 /* : Int */; long var23 /* : Int */; -long var25 /* : Int */; +long var24 /* : Int */; long var26 /* : Int */; -long var28 /* : Int */; +long var27 /* : Int */; long var29 /* : Int */; -long var31 /* : Int */; +long var30 /* : Int */; +long var32 /* : Int */; val* var_loco /* var loco: Location */; -val* var32 /* : Array[Prod] */; -val* var33 /* : ArrayIterator[nullable Object] */; -short int var34 /* : Bool */; -val* var35 /* : nullable Object */; -val* var_no36 /* var no: Prod */; -val* var38 /* : Array[Prod] */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : Array[Prod] */; -val* var43 /* : nullable Location */; +val* var33 /* : Array[Prod] */; +val* var_34 /* var : Array[Prod] */; +val* var35 /* : ArrayIterator[nullable Object] */; +val* var_36 /* var : ArrayIterator[Prod] */; +short int var37 /* : Bool */; +val* var38 /* : nullable Object */; +val* var_no39 /* var no: Prod */; +val* var43 /* : Array[Prod] */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +val* var47 /* : Array[Prod] */; +val* var48 /* : nullable Location */; val* var_startl /* var startl: nullable Location */; -val* var44 /* : null */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var48 /* : Bool */; -short int var49 /* : Bool */; +val* var49 /* : null */; short int var50 /* : Bool */; -val* var51 /* : nullable Location */; -val* var_endl /* var endl: nullable Location */; -val* var52 /* : null */; +short int var51 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var53 /* : Bool */; short int var54 /* : Bool */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; +short int var55 /* : Bool */; +val* var56 /* : nullable Location */; +val* var_endl /* var endl: nullable Location */; +val* var57 /* : null */; short int var58 /* : Bool */; -val* var59 /* : Location */; -val* var60 /* : nullable SourceFile */; -val* var62 /* : nullable SourceFile */; -long var63 /* : Int */; -long var65 /* : Int */; -long var66 /* : Int */; +short int var59 /* : Bool */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +val* var64 /* : Location */; +val* var65 /* : nullable SourceFile */; +val* var67 /* : nullable SourceFile */; long var68 /* : Int */; -long var69 /* : Int */; +long var70 /* : Int */; long var71 /* : Int */; -long var72 /* : Int */; +long var73 /* : Int */; long var74 /* : Int */; -val* var75 /* : Array[Prod] */; -short int var76 /* : Bool */; -short int var77 /* : Bool */; -val* var78 /* : Location */; -val* var79 /* : nullable SourceFile */; -val* var81 /* : nullable SourceFile */; -long var82 /* : Int */; -long var84 /* : Int */; -long var85 /* : Int */; -long var87 /* : Int */; +long var76 /* : Int */; +long var77 /* : Int */; +long var79 /* : Int */; +val* var81 /* : Array[Prod] */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +val* var84 /* : Location */; +val* var85 /* : nullable SourceFile */; +val* var87 /* : nullable SourceFile */; long var88 /* : Int */; long var90 /* : Int */; long var91 /* : Int */; long var93 /* : Int */; -val* var_loc94 /* var loc: Location */; -val* var95 /* : Array[Prod] */; -val* var96 /* : ArrayIterator[nullable Object] */; -short int var97 /* : Bool */; -val* var98 /* : nullable Object */; -val* var_no99 /* var no: Prod */; +long var94 /* : Int */; +long var96 /* : Int */; +long var97 /* : Int */; +long var99 /* : Int */; +val* var_loc100 /* var loc: Location */; val* var101 /* : Array[Prod] */; -val* var102 /* : Array[Prod] */; +val* var_102 /* var : Array[Prod] */; +val* var103 /* : ArrayIterator[nullable Object] */; +val* var_104 /* var : ArrayIterator[Prod] */; +short int var105 /* : Bool */; +val* var106 /* : nullable Object */; +val* var_no107 /* var no: Prod */; +val* var111 /* : Array[Prod] */; +val* var112 /* : Array[Prod] */; var_n = p0; /* isa Token */ cltype = type_parser_nodes__Token.color; @@ -1433,375 +1540,408 @@ var = 0; var = var_n->type->type_table[cltype] == idtype; } if (var){ -var1 = var_n->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ -var_loc = var1; -var2 = NULL; -if (var_loc == NULL) { -var3 = 1; /* is null */ -} else { -var3 = 0; /* arg is null but recv is not */ -} -if (0) { -var4 = location__Location___61d_61d(var_loc, var2); -var3 = var4; -} -if (var3){ +var1 = var_n->attrs[COLOR_parser_nodes__ANode___location].val != NULL; /* _location on */ +var2 = !var1; +if (var2){ goto RET_LABEL; } else { } +var3 = var_n->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 202); +show_backtrace(1); +} +var_loc = var3; self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___last_location].val = var_loc; /* _last_location on */ -var5 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ -if (unlikely(var5 == NULL)) { +var4 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ +if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 196); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 206); show_backtrace(1); } { -var6 = array__AbstractArrayRead__is_empty(var5); +var5 = array__AbstractArrayRead__is_empty(var4); } -var7 = !var6; -if (var7){ -var8 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ -if (unlikely(var8 == NULL)) { +var6 = !var5; +if (var6){ +var7 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 197); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 207); show_backtrace(1); } +var_ = var7; { -var9 = array__AbstractArrayRead__iterator(var8); +var8 = array__AbstractArrayRead__iterator(var_); } +var_9 = var8; for(;;) { { -var10 = array__ArrayIterator__is_ok(var9); +var10 = array__ArrayIterator__is_ok(var_9); } -if(!var10) break; +if (var10){ { -var11 = array__ArrayIterator__item(var9); +var11 = array__ArrayIterator__item(var_9); } var_no = var11; var_no->attrs[COLOR_parser_work__Prod___first_location].val = var_loc; /* _first_location on */ -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var9); /* Direct call array#ArrayIterator#next on */ +array__ArrayIterator__next(var_9); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; -var12 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ -if (unlikely(var12 == NULL)) { +{ +{ /* Inline abstract_collection#Iterator#finish (var_9) on */ +RET_LABEL12:(void)0; +} +} +var13 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 200); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 210); show_backtrace(1); } { -array__AbstractArray__clear(var12); /* Direct call array#AbstractArray#clear on */ +array__AbstractArray__clear(var13); /* Direct call array#AbstractArray#clear on */ } } else { } -var13 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var13 == NULL)) { +var14 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 204); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 214); show_backtrace(1); } { -var14 = array__AbstractArrayRead__is_empty(var13); +var15 = array__AbstractArrayRead__is_empty(var14); } -var15 = !var14; -if (var15){ -var16 = NEW_location__Location(&type_location__Location); +var16 = !var15; +if (var16){ +var17 = NEW_location__Location(&type_location__Location); { -{ /* Inline location#Location#file (var_loc) on */ -var19 = var_loc->attrs[COLOR_location__Location___file].val; /* _file on */ -var17 = var19; -RET_LABEL18:(void)0; +{ /* Inline location#Location#file (var_loc) on */ +var20 = var_loc->attrs[COLOR_location__Location___file].val; /* _file on */ +var18 = var20; +RET_LABEL19:(void)0; } } { -{ /* Inline location#Location#line_start (var_loc) on */ -var22 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ -var20 = var22; -RET_LABEL21:(void)0; +{ /* Inline location#Location#line_start (var_loc) on */ +var23 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var21 = var23; +RET_LABEL22:(void)0; } } { -{ /* Inline location#Location#line_start (var_loc) on */ -var25 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ -var23 = var25; -RET_LABEL24:(void)0; +{ /* Inline location#Location#line_start (var_loc) on */ +var26 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline location#Location#column_start (var_loc) on */ -var28 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ -var26 = var28; -RET_LABEL27:(void)0; +{ /* Inline location#Location#column_start (var_loc) on */ +var29 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var27 = var29; +RET_LABEL28:(void)0; } } { -{ /* Inline location#Location#column_start (var_loc) on */ -var31 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ -var29 = var31; -RET_LABEL30:(void)0; +{ /* Inline location#Location#column_start (var_loc) on */ +var32 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var30 = var32; +RET_LABEL31:(void)0; } } { -location__Location__init(var16, var17, var20, var23, var26, var29); /* Direct call location#Location#init on */ +location__Location__init(var17, var18, var21, var24, var27, var30); /* Direct call location#Location#init on */ } -var_loco = var16; -var32 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var32 == NULL)) { +var_loco = var17; +var33 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 206); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 216); show_backtrace(1); } +var_34 = var33; { -var33 = array__AbstractArrayRead__iterator(var32); +var35 = array__AbstractArrayRead__iterator(var_34); } +var_36 = var35; for(;;) { { -var34 = array__ArrayIterator__is_ok(var33); +var37 = array__ArrayIterator__is_ok(var_36); +} +if (var37){ +{ +var38 = array__ArrayIterator__item(var_36); } -if(!var34) break; +var_no39 = var38; { -var35 = array__ArrayIterator__item(var33); +{ /* Inline parser_nodes#ANode#location= (var_no39,var_loco) on */ +var_no39->attrs[COLOR_parser_nodes__ANode___location].val = var_loco; /* _location on */ +RET_LABEL40:(void)0; +} } -var_no36 = var35; { -parser_nodes__Prod__location_61d(var_no36, var_loco); /* Direct call parser_nodes#Prod#location= on */ +array__ArrayIterator__next(var_36); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label41; +} } -CONTINUE_label37: (void)0; +BREAK_label41: (void)0; { -array__ArrayIterator__next(var33); /* Direct call array#ArrayIterator#next on */ +{ /* Inline abstract_collection#Iterator#finish (var_36) on */ +RET_LABEL42:(void)0; } } -BREAK_label37: (void)0; -var38 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var38 == NULL)) { +var43 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var43 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 209); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 219); show_backtrace(1); } { -array__AbstractArray__clear(var38); /* Direct call array#AbstractArray#clear on */ +array__AbstractArray__clear(var43); /* Direct call array#AbstractArray#clear on */ } } else { } } else { /* isa Prod */ -cltype40 = type_parser_nodes__Prod.color; -idtype41 = type_parser_nodes__Prod.id; -if(cltype40 >= var_n->type->table_size) { -var39 = 0; +cltype45 = type_parser_nodes__Prod.color; +idtype46 = type_parser_nodes__Prod.id; +if(cltype45 >= var_n->type->table_size) { +var44 = 0; } else { -var39 = var_n->type->type_table[cltype40] == idtype41; +var44 = var_n->type->type_table[cltype45] == idtype46; } -if (unlikely(!var39)) { +if (unlikely(!var44)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 212); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 222); show_backtrace(1); } -var42 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ -if (unlikely(var42 == NULL)) { +var47 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods].val; /* _need_first_prods on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 213); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 223); show_backtrace(1); } { -array__Array__add(var42, var_n); /* Direct call array#Array#add on */ +array__Array__add(var47, var_n); /* Direct call array#Array#add on */ } { ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on */; } -var43 = var_n->attrs[COLOR_parser_work__Prod___first_location].val; /* _first_location on */ -var_startl = var43; -var44 = NULL; +var48 = var_n->attrs[COLOR_parser_work__Prod___first_location].val; /* _first_location on */ +var_startl = var48; +var49 = NULL; if (var_startl == NULL) { -var45 = 0; /* is null */ +var50 = 0; /* is null */ } else { -var45 = 1; /* arg is null and recv is not */ +var50 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_startl,var44) on */ -var_other = var44; +{ /* Inline kernel#Object#!= (var_startl,var49) on */ +var_other = var49; { -var49 = ((short int (*)(val*, val*))(var_startl->class->vft[COLOR_kernel__Object___61d_61d]))(var_startl, var_other) /* == on */; -var48 = var49; +var54 = ((short int (*)(val*, val*))(var_startl->class->vft[COLOR_kernel__Object___61d_61d]))(var_startl, var_other) /* == on */; +var53 = var54; } -var50 = !var48; -var46 = var50; -goto RET_LABEL47; -RET_LABEL47:(void)0; +var55 = !var53; +var51 = var55; +goto RET_LABEL52; +RET_LABEL52:(void)0; } -var45 = var46; +var50 = var51; } -if (var45){ -var51 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___last_location].val; /* _last_location on */ -var_endl = var51; -var52 = NULL; +if (var50){ +var56 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___last_location].val; /* _last_location on */ +var_endl = var56; +var57 = NULL; if (var_endl == NULL) { -var53 = 0; /* is null */ +var58 = 0; /* is null */ } else { -var53 = 1; /* arg is null and recv is not */ +var58 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_endl,var52) on */ -var_other = var52; +{ /* Inline kernel#Object#!= (var_endl,var57) on */ +var_other = var57; { -var57 = ((short int (*)(val*, val*))(var_endl->class->vft[COLOR_kernel__Object___61d_61d]))(var_endl, var_other) /* == on */; -var56 = var57; +var62 = ((short int (*)(val*, val*))(var_endl->class->vft[COLOR_kernel__Object___61d_61d]))(var_endl, var_other) /* == on */; +var61 = var62; } -var58 = !var56; -var54 = var58; -goto RET_LABEL55; -RET_LABEL55:(void)0; +var63 = !var61; +var59 = var63; +goto RET_LABEL60; +RET_LABEL60:(void)0; } -var53 = var54; +var58 = var59; } -if (unlikely(!var53)) { +if (unlikely(!var58)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 221); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 231); show_backtrace(1); } -var59 = NEW_location__Location(&type_location__Location); +var64 = NEW_location__Location(&type_location__Location); { { /* Inline location#Location#file (var_startl) on */ -var62 = var_startl->attrs[COLOR_location__Location___file].val; /* _file on */ -var60 = var62; -RET_LABEL61:(void)0; +var67 = var_startl->attrs[COLOR_location__Location___file].val; /* _file on */ +var65 = var67; +RET_LABEL66:(void)0; } } { { /* Inline location#Location#line_start (var_startl) on */ -var65 = var_startl->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ -var63 = var65; -RET_LABEL64:(void)0; +var70 = var_startl->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var68 = var70; +RET_LABEL69:(void)0; } } { { /* Inline location#Location#line_end (var_endl) on */ -var68 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ -var66 = var68; -RET_LABEL67:(void)0; +var73 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var71 = var73; +RET_LABEL72:(void)0; } } { { /* Inline location#Location#column_start (var_startl) on */ -var71 = var_startl->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ -var69 = var71; -RET_LABEL70:(void)0; +var76 = var_startl->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var74 = var76; +RET_LABEL75:(void)0; } } { { /* Inline location#Location#column_end (var_endl) on */ -var74 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ -var72 = var74; -RET_LABEL73:(void)0; +var79 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var77 = var79; +RET_LABEL78:(void)0; } } { -location__Location__init(var59, var60, var63, var66, var69, var72); /* Direct call location#Location#init on */ +location__Location__init(var64, var65, var68, var71, var74, var77); /* Direct call location#Location#init on */ } { -parser_nodes__Prod__location_61d(var_n, var59); /* Direct call parser_nodes#Prod#location= on */ +{ /* Inline parser_nodes#ANode#location= (var_n,var64) on */ +var_n->attrs[COLOR_parser_nodes__ANode___location].val = var64; /* _location on */ +RET_LABEL80:(void)0; } -var75 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var75 == NULL)) { +} +var81 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var81 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 225); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 235); show_backtrace(1); } { -var76 = array__AbstractArrayRead__is_empty(var75); +var82 = array__AbstractArrayRead__is_empty(var81); } -var77 = !var76; -if (var77){ -var78 = NEW_location__Location(&type_location__Location); +var83 = !var82; +if (var83){ +var84 = NEW_location__Location(&type_location__Location); { { /* Inline location#Location#file (var_endl) on */ -var81 = var_endl->attrs[COLOR_location__Location___file].val; /* _file on */ -var79 = var81; -RET_LABEL80:(void)0; +var87 = var_endl->attrs[COLOR_location__Location___file].val; /* _file on */ +var85 = var87; +RET_LABEL86:(void)0; } } { { /* Inline location#Location#line_end (var_endl) on */ -var84 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ -var82 = var84; -RET_LABEL83:(void)0; +var90 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var88 = var90; +RET_LABEL89:(void)0; } } { { /* Inline location#Location#line_end (var_endl) on */ -var87 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ -var85 = var87; -RET_LABEL86:(void)0; +var93 = var_endl->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var91 = var93; +RET_LABEL92:(void)0; } } { { /* Inline location#Location#column_end (var_endl) on */ -var90 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ -var88 = var90; -RET_LABEL89:(void)0; +var96 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var94 = var96; +RET_LABEL95:(void)0; } } { { /* Inline location#Location#column_end (var_endl) on */ -var93 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ -var91 = var93; -RET_LABEL92:(void)0; +var99 = var_endl->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var97 = var99; +RET_LABEL98:(void)0; } } { -location__Location__init(var78, var79, var82, var85, var88, var91); /* Direct call location#Location#init on */ +location__Location__init(var84, var85, var88, var91, var94, var97); /* Direct call location#Location#init on */ } -var_loc94 = var78; -var95 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var95 == NULL)) { +var_loc100 = var84; +var101 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var101 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 227); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 237); show_backtrace(1); } +var_102 = var101; { -var96 = array__AbstractArrayRead__iterator(var95); +var103 = array__AbstractArrayRead__iterator(var_102); } +var_104 = var103; for(;;) { { -var97 = array__ArrayIterator__is_ok(var96); +var105 = array__ArrayIterator__is_ok(var_104); } -if(!var97) break; +if (var105){ { -var98 = array__ArrayIterator__item(var96); +var106 = array__ArrayIterator__item(var_104); } -var_no99 = var98; +var_no107 = var106; { -parser_nodes__Prod__location_61d(var_no99, var_loc94); /* Direct call parser_nodes#Prod#location= on */ +{ /* Inline parser_nodes#ANode#location= (var_no107,var_loc100) on */ +var_no107->attrs[COLOR_parser_nodes__ANode___location].val = var_loc100; /* _location on */ +RET_LABEL108:(void)0; +} } -CONTINUE_label100: (void)0; { -array__ArrayIterator__next(var96); /* Direct call array#ArrayIterator#next on */ +array__ArrayIterator__next(var_104); /* Direct call array#ArrayIterator#next on */ } +} else { +goto BREAK_label109; } -BREAK_label100: (void)0; -var101 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var101 == NULL)) { +} +BREAK_label109: (void)0; +{ +{ /* Inline abstract_collection#Iterator#finish (var_104) on */ +RET_LABEL110:(void)0; +} +} +var111 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var111 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 231); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 241); show_backtrace(1); } { -array__AbstractArray__clear(var101); /* Direct call array#AbstractArray#clear on */ +array__AbstractArray__clear(var111); /* Direct call array#AbstractArray#clear on */ } } else { } } else { -var102 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ -if (unlikely(var102 == NULL)) { +var112 = self->attrs[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons].val; /* _need_after_epsilons on */ +if (unlikely(var112 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_work.nit", 235); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 245); show_backtrace(1); } { -array__Array__add(var102, var_n); /* Direct call array#Array#add on */ +array__Array__add(var112, var_n); /* Direct call array#Array#add on */ } } } @@ -1812,18 +1952,108 @@ void VIRTUAL_parser_work__ComputeProdLocationVisitor__visit(val* self, val* p0) parser_work__ComputeProdLocationVisitor__visit(self, p0); /* Direct call parser_work#ComputeProdLocationVisitor#visit on */ RET_LABEL:; } -/* method parser_work#ComputeProdLocationVisitor#init for (self: ComputeProdLocationVisitor) */ -void parser_work__ComputeProdLocationVisitor__init(val* self) { -{ -{ /* Inline parser_nodes#Visitor#init (self) on */ +/* method parser_work#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */ +val* parser_work__TextCollectorVisitor__text(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method parser_work#TextCollectorVisitor#text for (self: Object): String */ +val* VIRTUAL_parser_work__TextCollectorVisitor__text(val* self) { +val* var /* : String */; +val* var1 /* : String */; +val* var3 /* : String */; +{ /* Inline parser_work#TextCollectorVisitor#text (self) on */ +var3 = self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method parser_work#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */ +void parser_work__TextCollectorVisitor__text_61d(val* self, val* p0) { +self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = p0; /* _text on */ +RET_LABEL:; +} +/* method parser_work#TextCollectorVisitor#text= for (self: Object, String) */ +void VIRTUAL_parser_work__TextCollectorVisitor__text_61d(val* self, val* p0) { +{ /* Inline parser_work#TextCollectorVisitor#text= (self,p0) on */ +self->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = p0; /* _text on */ RET_LABEL1:(void)0; } +RET_LABEL:; +} +/* method parser_work#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */ +void parser_work__TextCollectorVisitor__visit(val* self, val* p0) { +val* var_n /* var n: ANode */; +short int var /* : Bool */; +int cltype; +int idtype; +val* var_ /* var : TextCollectorVisitor */; +val* var1 /* : String */; +val* var3 /* : String */; +val* var4 /* : String */; +val* var5 /* : String */; +var_n = p0; +/* isa Token */ +cltype = type_parser_nodes__Token.color; +idtype = type_parser_nodes__Token.id; +if(cltype >= var_n->type->table_size) { +var = 0; +} else { +var = var_n->type->type_table[cltype] == idtype; +} +if (var){ +var_ = self; +{ +{ /* Inline parser_work#TextCollectorVisitor#text (var_) on */ +var3 = var_->attrs[COLOR_parser_work__TextCollectorVisitor___text].val; /* _text on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = lexer_work__Token__text(var_n); +} +{ +var5 = string__FlatString___43d(var1, var4); +} +{ +{ /* Inline parser_work#TextCollectorVisitor#text= (var_,var5) on */ +var_->attrs[COLOR_parser_work__TextCollectorVisitor___text].val = var5; /* _text on */ +RET_LABEL6:(void)0; +} +} +} else { +} +{ +((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on */; } RET_LABEL:; } -/* method parser_work#ComputeProdLocationVisitor#init for (self: Object) */ -void VIRTUAL_parser_work__ComputeProdLocationVisitor__init(val* self) { -parser_work__ComputeProdLocationVisitor__init(self); /* Direct call parser_work#ComputeProdLocationVisitor#init on */ +/* method parser_work#TextCollectorVisitor#visit for (self: Object, ANode) */ +void VIRTUAL_parser_work__TextCollectorVisitor__visit(val* self, val* p0) { +parser_work__TextCollectorVisitor__visit(self, p0); /* Direct call parser_work#TextCollectorVisitor#visit on */ RET_LABEL:; } /* method parser_work#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */